lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 14 Jul 2014 02:37:50 +0000 From: KY Srinivasan <kys@...rosoft.com> To: "Martin K. Petersen" <martin.petersen@...cle.com> CC: "hch@...radead.org" <hch@...radead.org>, James Bottomley <jbottomley@...allels.com>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "devel@...uxdriverproject.org" <devel@...uxdriverproject.org>, "apw@...onical.com" <apw@...onical.com>, "stable@...r.kernel.org" <stable@...r.kernel.org>, "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>, "ohering@...e.com" <ohering@...e.com>, "jasowang@...hat.com" <jasowang@...hat.com> Subject: RE: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16 > -----Original Message----- > From: KY Srinivasan > Sent: Sunday, July 13, 2014 11:50 AM > To: 'Martin K. Petersen' > Cc: hch@...radead.org; James Bottomley; linux-kernel@...r.kernel.org; > devel@...uxdriverproject.org; apw@...onical.com; stable@...r.kernel.org; > linux-scsi@...r.kernel.org; ohering@...e.com; jasowang@...hat.com > Subject: RE: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16 > > > > > -----Original Message----- > > From: Martin K. Petersen [mailto:martin.petersen@...cle.com] > > Sent: Sunday, July 13, 2014 5:59 AM > > To: KY Srinivasan > > Cc: hch@...radead.org; James Bottomley; linux-kernel@...r.kernel.org; > > devel@...uxdriverproject.org; apw@...onical.com; > > stable@...r.kernel.org; linux-scsi@...r.kernel.org; ohering@...e.com; > > jasowang@...hat.com > > Subject: Re: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16 > > > > >>>>> "KY" == KY Srinivasan <kys@...rosoft.com> writes: > > > > KY> Windows hosts do support UNMAP and set the field in the EVPD. > > KY> However, since the host advertises SPC-2 compliance, Linux does > > KY> not even query the VPD page. > > > > >> If we want to enable UNMAP in this case I'd prefer a blacklist > > >> entry than trying UNMAP despite the device not advertising it. > > > > I agree with that. We could do something like the patch below. > > > > However, I do think it's a good idea that you guys are looking into > > reporting SPC-3. > > Thanks Martin; this patch would address our present issues. I will get some > testing done and report back. How should we force the flag (BLIST_TRY_VPD_PAGES) to be set. K. Y > > Regards, > > K. Y > > > > > > SCSI: Add a blacklist flag which enables VPD page inquiries > > > > Despite supporting modern SCSI features some storage devices continue > > to claim conformance to an older version of the SPC spec. This is done > > for compatibility with legacy operating systems. > > > > Linux by default will not attempt to read VPD pages on devices that > > claim > > SPC-2 or older. Introduce a blacklist flag that can be used to trigger > > VPD page inquiries on devices that are known to support them. > > > > Reported-by: KY Srinivasan <kys@...rosoft.com> > > Signed-off-by: Martin K. Petersen <martin.petersen@...cle.com> > > > > diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index > > 4a6e4ba5a400..a5b1a224628a 100644 > > --- a/drivers/scsi/scsi_scan.c > > +++ b/drivers/scsi/scsi_scan.c > > @@ -949,7 +949,9 @@ static int scsi_add_lun(struct scsi_device *sdev, > > unsigned char *inq_result, > > > > sdev->eh_timeout = SCSI_DEFAULT_EH_TIMEOUT; > > > > - if (*bflags & BLIST_SKIP_VPD_PAGES) > > + if (*bflags & BLIST_TRY_VPD_PAGES) > > + sdev->try_vpd_pages = 1; > > + else if (*bflags & BLIST_SKIP_VPD_PAGES) > > sdev->skip_vpd_pages = 1; > > > > transport_configure_device(&sdev->sdev_gendev); > > diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index > > 87566b51fcf7..31d32b9077ca 100644 > > --- a/drivers/scsi/sd.c > > +++ b/drivers/scsi/sd.c > > @@ -2701,6 +2701,11 @@ static void sd_read_write_same(struct scsi_disk > > *sdkp, unsigned char *buffer) > > > > static int sd_try_extended_inquiry(struct scsi_device *sdp) { > > + /* Attempt VPD inquiry if the device blacklist explicitly calls > > + * for it. > > + */ > > + if (sdp->try_vpd_pages) > > + return 1; > > /* > > * Although VPD inquiries can go to SCSI-2 type devices, > > * some USB ones crash on receiving them, and the pages diff --git > > a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index > > 9aa38f7b303b..f579408620f0 100644 > > --- a/include/scsi/scsi_device.h > > +++ b/include/scsi/scsi_device.h > > @@ -155,6 +155,7 @@ struct scsi_device { > > unsigned skip_ms_page_8:1; /* do not use MODE SENSE page 0x08 > > */ > > unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f > > */ > > unsigned skip_vpd_pages:1; /* do not read VPD pages */ > > + unsigned try_vpd_pages:1; /* attempt to read VPD pages */ > > unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page > 0x3f > > */ > > unsigned no_start_on_add:1; /* do not issue start on add */ > > unsigned allow_restart:1; /* issue START_UNIT in error handler */ > > diff --git a/include/scsi/scsi_devinfo.h b/include/scsi/scsi_devinfo.h > > index 8670c04e199e..1fdd6fc5492b 100644 > > --- a/include/scsi/scsi_devinfo.h > > +++ b/include/scsi/scsi_devinfo.h > > @@ -34,4 +34,5 @@ > > #define BLIST_SKIP_VPD_PAGES 0x4000000 /* Ignore SBC-3 VPD pages > > */ > > #define BLIST_SCSI3LUN 0x8000000 /* Scan more than 256 > > LUNs > > for sequential scan */ > > +#define BLIST_TRY_VPD_PAGES 0x10000000 /* Attempt to read VPD > > pages */ > > #endif -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists