diff options
author | James Smart <jsmart2021@gmail.com> | 2021-10-20 23:14:13 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-10-21 05:33:45 +0200 |
commit | 79b20beccea3a3938a8500acef4e6b9d7c66142f (patch) | |
tree | a9fcdcee0042b552ef46fddf6b49006fe2a22bfe /fs/dlm/lock.h | |
parent | scsi: lpfc: Correct sysfs reporting of loop support after SFP status change (diff) | |
download | linux-79b20beccea3a3938a8500acef4e6b9d7c66142f.tar.xz linux-79b20beccea3a3938a8500acef4e6b9d7c66142f.zip |
scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine
An error is detected with the following report when unloading the driver:
"KASAN: use-after-free in lpfc_unreg_rpi+0x1b1b"
The NLP_REG_LOGIN_SEND nlp_flag is set in lpfc_reg_fab_ctrl_node(), but the
flag is not cleared upon completion of the login.
This allows a second call to lpfc_unreg_rpi() to proceed with nlp_rpi set
to LPFC_RPI_ALLOW_ERROR. This results in a use after free access when used
as an rpi_ids array index.
Fix by clearing the NLP_REG_LOGIN_SEND nlp_flag in
lpfc_mbx_cmpl_fc_reg_login().
Link: https://lore.kernel.org/r/20211020211417.88754-5-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>
Diffstat (limited to 'fs/dlm/lock.h')
0 files changed, 0 insertions, 0 deletions