Message ID | 20240624221211.2593736-4-ipylypiv@google.com |
---|---|
State | New |
Headers | show |
Series | ATA PASS-THROUGH sense data fixes | expand |
On 6/25/24 00:12, Igor Pylypiv wrote: > SCSI layer clears sense_buffer in scsi_queue_rq() so there is no need for > libata to clear it again. > > Signed-off-by: Igor Pylypiv <ipylypiv@google.com> > --- > drivers/ata/libata-scsi.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c > index 26b1263f5c7c..1aeab6e1c8b3 100644 > --- a/drivers/ata/libata-scsi.c > +++ b/drivers/ata/libata-scsi.c > @@ -929,8 +929,6 @@ static void ata_gen_passthru_sense(struct ata_queued_cmd *qc) > unsigned char *sb = cmd->sense_buffer; > u8 sense_key, asc, ascq; > > - memset(sb, 0, SCSI_SENSE_BUFFERSIZE); > - > /* > * Use ata_to_sense_error() to map status register bits > * onto sense key, asc & ascq. > @@ -968,8 +966,6 @@ static void ata_gen_ata_sense(struct ata_queued_cmd *qc) > u64 block; > u8 sense_key, asc, ascq; > > - memset(sb, 0, SCSI_SENSE_BUFFERSIZE); > - > if (ata_dev_disabled(dev)) { > /* Device disabled after error recovery */ > /* LOGICAL UNIT NOT READY, HARD RESET REQUIRED */ Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes
On 6/25/24 07:12, Igor Pylypiv wrote: > SCSI layer clears sense_buffer in scsi_queue_rq() so there is no need for > libata to clear it again. > > Signed-off-by: Igor Pylypiv <ipylypiv@google.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Hi Igor,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.10-rc5 next-20240625]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Igor-Pylypiv/ata-libata-scsi-Do-not-overwrite-valid-sense-data-when-CK_COND-1/20240625-215527
base: linus/master
patch link: https://lore.kernel.org/r/20240624221211.2593736-4-ipylypiv%40google.com
patch subject: [PATCH v2 3/6] ata: libata-scsi: Remove redundant sense_buffer memsets
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20240626/202406261836.Q3sEjY8b-lkp@intel.com/config)
compiler: gcc-13 (Ubuntu 13.2.0-4ubuntu3) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240626/202406261836.Q3sEjY8b-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406261836.Q3sEjY8b-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/ata/libata-scsi.c: In function 'ata_gen_passthru_sense':
>> drivers/ata/libata-scsi.c:929:24: warning: unused variable 'sb' [-Wunused-variable]
929 | unsigned char *sb = cmd->sense_buffer;
| ^~
vim +/sb +929 drivers/ata/libata-scsi.c
^1da177e4c3f41 drivers/scsi/libata-scsi.c Linus Torvalds 2005-04-16 909
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 910 /*
750426aa1ad1dd drivers/ata/libata-scsi.c Tejun Heo 2006-11-14 911 * ata_gen_passthru_sense - Generate check condition sense block.
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 912 * @qc: Command that completed.
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 913 *
2dc8b0ba527a4a drivers/ata/libata-scsi.c Igor Pylypiv 2024-06-24 914 * This function is specific to the ATA pass through commands.
2dc8b0ba527a4a drivers/ata/libata-scsi.c Igor Pylypiv 2024-06-24 915 * Regardless of whether the command errored or not, return a sense
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 916 * block. If there was no error, we get the request from an ATA
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 917 * passthrough command, so we use the following sense data:
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 918 * sk = RECOVERED ERROR
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 919 * asc,ascq = ATA PASS-THROUGH INFORMATION AVAILABLE
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 920 *
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 921 *
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 922 * LOCKING:
750426aa1ad1dd drivers/ata/libata-scsi.c Tejun Heo 2006-11-14 923 * None.
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 924 */
750426aa1ad1dd drivers/ata/libata-scsi.c Tejun Heo 2006-11-14 925 static void ata_gen_passthru_sense(struct ata_queued_cmd *qc)
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 926 {
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 927 struct scsi_cmnd *cmd = qc->scsicmd;
e61e067227bc76 drivers/scsi/libata-scsi.c Tejun Heo 2006-05-15 928 struct ata_taskfile *tf = &qc->result_tf;
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 @929 unsigned char *sb = cmd->sense_buffer;
b525e7731b90eb drivers/ata/libata-scsi.c Hannes Reinecke 2016-04-04 930 u8 sense_key, asc, ascq;
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 931
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 932 /*
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 933 * Use ata_to_sense_error() to map status register bits
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 934 * onto sense key, asc & ascq.
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 935 */
058e55e120ca59 drivers/scsi/libata-scsi.c Tejun Heo 2006-04-02 936 if (qc->err_mask ||
efcef265fd83d9 drivers/ata/libata-scsi.c Sergey Shtylyov 2022-02-15 937 tf->status & (ATA_BUSY | ATA_DF | ATA_ERR | ATA_DRQ)) {
efcef265fd83d9 drivers/ata/libata-scsi.c Sergey Shtylyov 2022-02-15 938 ata_to_sense_error(qc->ap->print_id, tf->status, tf->error,
ff8072d589dcff drivers/ata/libata-scsi.c Hannes Reinecke 2023-07-31 939 &sense_key, &asc, &ascq);
06dbde5f3a4424 drivers/ata/libata-scsi.c Hannes Reinecke 2016-04-04 940 ata_scsi_set_sense(qc->dev, cmd, sense_key, asc, ascq);
84a9a8cd9d0aa9 drivers/ata/libata-scsi.c Gwendal Grignou 2013-01-18 941 } else {
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 942 /*
11093cb1ef5614 drivers/ata/libata-scsi.c Hannes Reinecke 2016-04-04 943 * ATA PASS-THROUGH INFORMATION AVAILABLE
11093cb1ef5614 drivers/ata/libata-scsi.c Hannes Reinecke 2016-04-04 944 * Always in descriptor format sense.
b095518ef51c37 drivers/scsi/libata-scsi.c Jeff Garzik 2005-05-12 945 */
f2b1e9c6f867ec drivers/ata/libata-scsi.c Hannes Reinecke 2021-04-27 946 scsi_build_sense(cmd, 1, RECOVERED_ERROR, 0, 0x1D);
11093cb1ef5614 drivers/ata/libata-scsi.c Hannes Reinecke 2016-04-04 947 }
^1da177e4c3f41 drivers/scsi/libata-scsi.c Linus Torvalds 2005-04-16 948 }
^1da177e4c3f41 drivers/scsi/libata-scsi.c Linus Torvalds 2005-04-16 949
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 26b1263f5c7c..1aeab6e1c8b3 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -929,8 +929,6 @@ static void ata_gen_passthru_sense(struct ata_queued_cmd *qc) unsigned char *sb = cmd->sense_buffer; u8 sense_key, asc, ascq; - memset(sb, 0, SCSI_SENSE_BUFFERSIZE); - /* * Use ata_to_sense_error() to map status register bits * onto sense key, asc & ascq. @@ -968,8 +966,6 @@ static void ata_gen_ata_sense(struct ata_queued_cmd *qc) u64 block; u8 sense_key, asc, ascq; - memset(sb, 0, SCSI_SENSE_BUFFERSIZE); - if (ata_dev_disabled(dev)) { /* Device disabled after error recovery */ /* LOGICAL UNIT NOT READY, HARD RESET REQUIRED */
SCSI layer clears sense_buffer in scsi_queue_rq() so there is no need for libata to clear it again. Signed-off-by: Igor Pylypiv <ipylypiv@google.com> --- drivers/ata/libata-scsi.c | 4 ---- 1 file changed, 4 deletions(-)