+++ /dev/null
-From 735728cdaa3444338a870da6701fa0e8b82b9c88 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 20 Mar 2024 22:30:32 +0100
-Subject: scsi: sg: Avoid sg device teardown race
-
-From: Alexander Wetzel <Alexander@wetzel-home.de>
-
-[ Upstream commit 27f58c04a8f438078583041468ec60597841284d ]
-
-sg_remove_sfp_usercontext() must not use sg_device_destroy() after calling
-scsi_device_put().
-
-sg_device_destroy() is accessing the parent scsi_device request_queue which
-will already be set to NULL when the preceding call to scsi_device_put()
-removed the last reference to the parent scsi_device.
-
-The resulting NULL pointer exception will then crash the kernel.
-
-Link: https://lore.kernel.org/r/20240305150509.23896-1-Alexander@wetzel-home.de
-Fixes: db59133e9279 ("scsi: sg: fix blktrace debugfs entries leakage")
-Cc: stable@vger.kernel.org
-Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de>
-Link: https://lore.kernel.org/r/20240320213032.18221-1-Alexander@wetzel-home.de
-Reviewed-by: Bart Van Assche <bvanassche@acm.org>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/sg.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
-index 0d8afffd1683b..8bd95ee1825a6 100644
---- a/drivers/scsi/sg.c
-+++ b/drivers/scsi/sg.c
-@@ -2208,6 +2208,7 @@ sg_remove_sfp_usercontext(struct work_struct *work)
- {
- struct sg_fd *sfp = container_of(work, struct sg_fd, ew.work);
- struct sg_device *sdp = sfp->parentdp;
-+ struct scsi_device *device = sdp->device;
- Sg_request *srp;
- unsigned long iflags;
-
-@@ -2233,8 +2234,9 @@ sg_remove_sfp_usercontext(struct work_struct *work)
- "sg_remove_sfp: sfp=0x%p\n", sfp));
- kfree(sfp);
-
-- scsi_device_put(sdp->device);
-+ WARN_ON_ONCE(kref_read(&sdp->d_ref) != 1);
- kref_put(&sdp->d_ref, sg_device_destroy);
-+ scsi_device_put(device);
- module_put(THIS_MODULE);
- }
-
---
-2.43.0
-
octeontx2-af-add-array-index-check.patch
i40e-fix-i40e_count_filters-to-count-only-active-new-filters.patch
i40e-fix-vf-may-be-used-uninitialized-in-this-function-warning.patch
-scsi-sg-avoid-sg-device-teardown-race.patch
usb-typec-ucsi-fix-race-between-typec_switch-and-rol.patch
drm-amd-display-fix-dpstream-clk-on-and-off-sequence.patch
drm-amd-display-prevent-crash-when-disable-stream.patch
+++ /dev/null
-From 959f530354e02b9de6f7881102dbae6053e4c6a4 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 20 Mar 2024 22:30:32 +0100
-Subject: scsi: sg: Avoid sg device teardown race
-
-From: Alexander Wetzel <Alexander@wetzel-home.de>
-
-[ Upstream commit 27f58c04a8f438078583041468ec60597841284d ]
-
-sg_remove_sfp_usercontext() must not use sg_device_destroy() after calling
-scsi_device_put().
-
-sg_device_destroy() is accessing the parent scsi_device request_queue which
-will already be set to NULL when the preceding call to scsi_device_put()
-removed the last reference to the parent scsi_device.
-
-The resulting NULL pointer exception will then crash the kernel.
-
-Link: https://lore.kernel.org/r/20240305150509.23896-1-Alexander@wetzel-home.de
-Fixes: db59133e9279 ("scsi: sg: fix blktrace debugfs entries leakage")
-Cc: stable@vger.kernel.org
-Signed-off-by: Alexander Wetzel <Alexander@wetzel-home.de>
-Link: https://lore.kernel.org/r/20240320213032.18221-1-Alexander@wetzel-home.de
-Reviewed-by: Bart Van Assche <bvanassche@acm.org>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/sg.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
-index 86210e4dd0d35..ff6894ce5404e 100644
---- a/drivers/scsi/sg.c
-+++ b/drivers/scsi/sg.c
-@@ -2207,6 +2207,7 @@ sg_remove_sfp_usercontext(struct work_struct *work)
- {
- struct sg_fd *sfp = container_of(work, struct sg_fd, ew.work);
- struct sg_device *sdp = sfp->parentdp;
-+ struct scsi_device *device = sdp->device;
- Sg_request *srp;
- unsigned long iflags;
-
-@@ -2232,8 +2233,9 @@ sg_remove_sfp_usercontext(struct work_struct *work)
- "sg_remove_sfp: sfp=0x%p\n", sfp));
- kfree(sfp);
-
-- scsi_device_put(sdp->device);
-+ WARN_ON_ONCE(kref_read(&sdp->d_ref) != 1);
- kref_put(&sdp->d_ref, sg_device_destroy);
-+ scsi_device_put(device);
- module_put(THIS_MODULE);
- }
-
---
-2.43.0
-
i40e-fix-i40e_count_filters-to-count-only-active-new-filters.patch
i40e-fix-vf-may-be-used-uninitialized-in-this-function-warning.patch
i40e-enforce-software-interrupt-during-busy-poll-exit.patch
-scsi-sg-avoid-sg-device-teardown-race.patch
drm-amd-flush-gfxoff-requests-in-prepare-stage.patch
e1000e-minor-flow-correction-in-e1000_shutdown-funct.patch
e1000e-move-force-smbus-from-enable-ulp-function-to-.patch