scsi: mpt3sas: Fix use-after-free warning
Fix the following use-after-free warning which is observed during controller reset: refcount_t: underflow; use-after-free. WARNING: CPU: 23 PID: 5399 at lib/refcount.c:28 refcount_warn_saturate+0xa6/0xf0 Link: https://lore.kernel.org/r/20220906134908.1039-2-sreekanth.reddy@broadcom.com Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
8fe4ce5836
commit
991df3dd51
@ -3670,6 +3670,7 @@ static struct fw_event_work *dequeue_next_fw_event(struct MPT3SAS_ADAPTER *ioc)
|
|||||||
fw_event = list_first_entry(&ioc->fw_event_list,
|
fw_event = list_first_entry(&ioc->fw_event_list,
|
||||||
struct fw_event_work, list);
|
struct fw_event_work, list);
|
||||||
list_del_init(&fw_event->list);
|
list_del_init(&fw_event->list);
|
||||||
|
fw_event_work_put(fw_event);
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&ioc->fw_event_lock, flags);
|
spin_unlock_irqrestore(&ioc->fw_event_lock, flags);
|
||||||
|
|
||||||
@ -3751,7 +3752,6 @@ _scsih_fw_event_cleanup_queue(struct MPT3SAS_ADAPTER *ioc)
|
|||||||
if (cancel_work_sync(&fw_event->work))
|
if (cancel_work_sync(&fw_event->work))
|
||||||
fw_event_work_put(fw_event);
|
fw_event_work_put(fw_event);
|
||||||
|
|
||||||
fw_event_work_put(fw_event);
|
|
||||||
}
|
}
|
||||||
ioc->fw_events_cleanup = 0;
|
ioc->fw_events_cleanup = 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user