[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251006174658.217497-1-kshitijvparanjape@gmail.com>
Date: Mon, 6 Oct 2025 23:16:58 +0530
From: Kshitij Paranjape <kshitijvparanjape@...il.com>
To: "Martin K . Petersen" <martin.petersen@...cle.com>
Cc: Doug Gilbert <dgilbert@...erlog.com>,
"James E . J . Bottomley" <James.Bottomley@...senPartnership.com>,
skhan@...uxfoundation.org,
david.hunter.linux@...il.com,
khalid@...nel.org,
linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-kernel-mentees@...ts.linux.dev,
Kshitij Paranjape <kshitijvparanjape@...il.com>,
stable@...r.kernel.org,
syzbot+270f1c719ee7baab9941@...kaller.appspotmail.com
Subject: [PATCH] scsi: fix shift out-of-bounds in sg_build_indirect The num variable is set to 0. The variable num gets its value from scatter_elem_sz. However the minimum value of scatter_elem_sz is PAGE_SHIFT. So setting num to PAGE_SIZE when num < PAGE_SIZE.
Cc: <stable@...r.kernel.org>
Reported-by: syzbot+270f1c719ee7baab9941@...kaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=270f1c719ee7baab9941
Signed-off-by: Kshitij Paranjape <kshitijvparanjape@...il.com>
---
drivers/scsi/sg.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index effb7e768165..9ae41bb256d7 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -1888,6 +1888,7 @@ sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size)
if (num < PAGE_SIZE) {
scatter_elem_sz = PAGE_SIZE;
scatter_elem_sz_prev = PAGE_SIZE;
+ num = scatter_elem_sz;
} else
scatter_elem_sz_prev = num;
}
--
2.43.0
Powered by blists - more mailing lists