OSDN Git Service

scsi: lpfc: Fix KASAN slab-out-of-bounds in lpfc_unreg_rpi() routine
authorJames Smart <jsmart2021@gmail.com>
Wed, 7 Jul 2021 18:43:42 +0000 (11:43 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 19 Jul 2021 02:30:36 +0000 (22:30 -0400)
commitaffbe24429410fddf4e50ca456c090ed6d8e05bf
tree59a82ab4ce7db4a23dd81ed3c167b9f43c7af187
parente78c006f4c888231cdabb8a4286ba17980a903fa
scsi: lpfc: Fix KASAN slab-out-of-bounds in lpfc_unreg_rpi() routine

In lpfc_offline_prep() an RPI is freed and nlp_rpi set to 0xFFFF before
calling lpfc_unreg_rpi().  Unfortunately, lpfc_unreg_rpi() uses nlp_rpi to
index the sli4_hba.rpi_ids[] array.

In lpfc_offline_prep(), unreg rpi before freeing the rpi.

Link: https://lore.kernel.org/r/20210707184351.67872-12-jsmart2021@gmail.com
Co-developed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_init.c