[GIT PULL] SCSI fixes for 6.18-rc6

James Bottomley posted 1 patch 1 week, 2 days ago
drivers/scsi/sg.c                  | 10 +++++++++-
drivers/target/loopback/tcm_loop.c |  3 +++
2 files changed, 12 insertions(+), 1 deletion(-)
[GIT PULL] SCSI fixes for 6.18-rc6
Posted by James Bottomley 1 week, 2 days ago
One target driver fix and one scsi-generic one.  The latter is 10 lines
because the problem lock has to be dropped and re-taken around the call
causing the sleep in atomic.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes

The short changelog is:

Bart Van Assche (1):
      scsi: sg: Do not sleep in atomic context

Hamza Mahfooz (1):
      scsi: target: tcm_loop: Fix segfault in tcm_loop_tpg_address_show()

and the diffstat:

 drivers/scsi/sg.c                  | 10 +++++++++-
 drivers/target/loopback/tcm_loop.c |  3 +++
 2 files changed, 12 insertions(+), 1 deletion(-)

With full diff below

Regards,

James

---

diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 4c62c597c7be..b3af9b78fa12 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -2208,9 +2208,17 @@ sg_remove_sfp_usercontext(struct work_struct *work)
 	write_lock_irqsave(&sfp->rq_list_lock, iflags);
 	while (!list_empty(&sfp->rq_list)) {
 		srp = list_first_entry(&sfp->rq_list, Sg_request, entry);
-		sg_finish_rem_req(srp);
 		list_del(&srp->entry);
+		write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
+
+		sg_finish_rem_req(srp);
+		/*
+		 * sg_rq_end_io() uses srp->parentfp. Hence, only clear
+		 * srp->parentfp after blk_mq_free_request() has been called.
+		 */
 		srp->parentfp = NULL;
+
+		write_lock_irqsave(&sfp->rq_list_lock, iflags);
 	}
 	write_unlock_irqrestore(&sfp->rq_list_lock, iflags);
 
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
index c7b7da629741..01a8e349dc4d 100644
--- a/drivers/target/loopback/tcm_loop.c
+++ b/drivers/target/loopback/tcm_loop.c
@@ -894,6 +894,9 @@ static ssize_t tcm_loop_tpg_address_show(struct config_item *item,
 			struct tcm_loop_tpg, tl_se_tpg);
 	struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba;
 
+	if (!tl_hba->sh)
+		return -ENODEV;
+
 	return snprintf(page, PAGE_SIZE, "%d:0:%d\n",
 			tl_hba->sh->host_no, tl_tpg->tl_tpgt);
 }
Re: [GIT PULL] SCSI fixes for 6.18-rc6
Posted by pr-tracker-bot@kernel.org 1 week, 2 days ago
The pull request you sent on Sat, 22 Nov 2025 10:40:56 -0500:

> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/7e29f077609413f94f70d4da4d7602a59abad991

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html