Подробности

[В начало]

Проблема в реализации № L0013

Краткое описание

drivers/ata/sata_mv.c: Разыменование нулевого указателя в драйвере

Подробное описание

В драйвере drivers/ata/ata_mv.c в функции mv_port_intr может быть разыменовани енулевого указателя: Путь:

  • Строка 2778: пусть ap равно нулю, тогда идем на строку 2779
  • Строка 2779: вызов функции mv_unexpected_intr
  • Строка 2538 (функция mv_unexpected_intr): разыменование нулевого указателя "&ap->link.eh_info"
  • 2773 static void mv_port_intr(struct ata_port *ap, u32 port_cause)
    2774 {
    ...
    2778         if (!ap || (ap->flags & ATA_FLAG_DISABLED)) {
    2779                 mv_unexpected_intr(ap, 0);
    2780                 return;
    2781         }
    ...
    2809 }
    
    2536 static void mv_unexpected_intr(struct ata_port *ap, int edma_was_enabled)
    2537 {
    2538         struct ata_eh_info *ehi = ;
    ...
    2555 }
    

    Компонент

    linux-kernel 2.6.32

    Принято

    http://lkml.org/lkml/2009/12/14/237
    commit

    Статус

    Исправлено в ядре 2.6.33

    [В начало]