• himanshu.madhani@cavium.com's avatar
    scsi: qla2xxx: Fix NULL pointer crash due to probe failure · d64d6c56
    himanshu.madhani@cavium.com authored
    This patch fixes regression added by commit d7459527
    ("scsi: qla2xxx: Add multiple queue pair functionality.").
    
    When driver is not able to get reqeusted IRQs from the system, driver will
    attempt tp clean up memory before failing hardware probe. During this cleanup,
    driver assigns NULL value to the pointer which has not been allocated by
    driver yet. This results in a NULL pointer access.
    
    Log file will show following message and stack trace
    
    qla2xxx [0000:a3:00.1]-00c7:21: MSI-X: Failed to enable support, giving up -- 32/-1.
    qla2xxx [0000:a3:00.1]-0037:21: Falling back-to MSI mode --1.
    qla2xxx [0000:a3:00.1]-003a:21: Failed to reserve interrupt 821 already in use.
    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [<ffffffffc010c4b6>] qla2x00_probe_one+0x18b6/0x2730 [qla2xxx]
    PGD 0
    Oops: 0002 [#1] SMP
    
    Fixes: d7459527 ("scsi: qla2xxx: Add multiple queue pair functionality.").
    Cc: <stable@vger.kernel.org> # 4.10
    Signed-off-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    d64d6c56
qla_os.c 188 KB