From: Kai Mäkisara Date: Wed, 6 Nov 2024 09:57:21 +0000 (+0200) Subject: scsi: st: Don't modify unknown block number in MTIOCGET X-Git-Tag: microblaze-v6.16~545^2~1^2~2 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=5bb2d6179d1a8039236237e1e94cfbda3be1ed9e;p=linux-2.6-microblaze.git scsi: st: Don't modify unknown block number in MTIOCGET Struct mtget field mt_blkno -1 means it is unknown. Don't add anything to it. Signed-off-by: Kai Mäkisara Link: https://bugzilla.kernel.org/show_bug.cgi?id=219419#c14 Link: https://lore.kernel.org/r/20241106095723.63254-2-Kai.Makisara@kolumbus.fi Reviewed-by: John Meneghini Tested-by: John Meneghini Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index d50bad3a2ce9..9f480a1b4a81 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -3756,7 +3756,7 @@ static long st_ioctl(struct file *file, unsigned int cmd_in, unsigned long arg) ((STp->density << MT_ST_DENSITY_SHIFT) & MT_ST_DENSITY_MASK); mt_status.mt_blkno = STps->drv_block; mt_status.mt_fileno = STps->drv_file; - if (STp->block_size != 0) { + if (STp->block_size != 0 && mt_status.mt_blkno >= 0) { if (STps->rw == ST_WRITING) mt_status.mt_blkno += (STp->buffer)->buffer_bytes / STp->block_size;