On 2022/06/03 10:30, Damien Le Moal wrote: > On 6/3/22 07:51, Tyler Erickson wrote: >> Fixing the interpretation of the length of the B9h VPD page >> (concurrent positioning ranges). Adding 4 is necessary as >> the first 4 bytes of the page is the header with page number >> and length information. Adding 3 was likely a misinterpretation >> of the SBC-5 specification which sets all offsets starting at zero. >> >> This fixes the error in dmesg: >> [ 9.014456] sd 1:0:0:0: [sda] Invalid Concurrent Positioning Ranges VPD page >> >> Cc: stable@xxxxxxxxxxxxxxx >> Fixes: e815d36548f0 ("scsi: sd: add concurrent positioning ranges support") >> Signed-off-by: Tyler Erickson <tyler.erickson@xxxxxxxxxxx> >> Reviewed-by: Muhammad Ahmad <muhammad.ahmad@xxxxxxxxxxx> >> Tested-by: Michael English <michael.english@xxxxxxxxxxx> >> --- >> drivers/scsi/sd.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c >> index 749316462075..f25b0cc5dd21 100644 >> --- a/drivers/scsi/sd.c >> +++ b/drivers/scsi/sd.c >> @@ -3072,7 +3072,7 @@ static void sd_read_cpr(struct scsi_disk *sdkp) >> goto out; >> >> /* We must have at least a 64B header and one 32B range descriptor */ >> - vpd_len = get_unaligned_be16(&buffer[2]) + 3; >> + vpd_len = get_unaligned_be16(&buffer[2]) + 4; >> if (vpd_len > buf_len || vpd_len < 64 + 32 || (vpd_len & 31)) { >> sd_printk(KERN_ERR, sdkp, >> "Invalid Concurrent Positioning Ranges VPD page\n"); > > Martin, > > If you take this one: > > Reviewed-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> > Martin, Ping ? How do you want to handle this one ? I can take it if you want (need your acked-by) or you can take it through the scsi tree. Thanks ! -- Damien Le Moal Western Digital Research