Commit 11204f3c authored by Sreekanth Reddy's avatar Sreekanth Reddy Committed by Hao Zhang
Browse files

scsi: mpt3sas: Fix use-after-free warning

stable inclusion
from stable-v5.10.143
commit ea10a652ad2ae2cf3eced6f632a5c98f26727057
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8AGBT
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=ea10a652ad2ae2cf3eced6f632a5c98f26727057

--------------------------------

commit 991df3dd upstream.

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: default avatarSreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarHao Zhang <Hao.Zhang@windriver.com>
parent 646f8670
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3501,6 +3501,7 @@ static struct fw_event_work *dequeue_next_fw_event(struct MPT3SAS_ADAPTER *ioc)
		fw_event = list_first_entry(&ioc->fw_event_list,
				struct fw_event_work, list);
		list_del_init(&fw_event->list);
		fw_event_work_put(fw_event);
	}
	spin_unlock_irqrestore(&ioc->fw_event_lock, flags);

@@ -3559,7 +3560,6 @@ _scsih_fw_event_cleanup_queue(struct MPT3SAS_ADAPTER *ioc)
		if (cancel_work_sync(&fw_event->work))
			fw_event_work_put(fw_event);

		fw_event_work_put(fw_event);
	}
	ioc->fw_events_cleanup = 0;
}