From: sashiko-bot@kernel.org
To: "Damien Le Moal" <dlemoal@kernel.org>
Cc: linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
"Christian Borntraeger" <borntraeger@linux.ibm.com>,
cassel@kernel.org, "Vasily Gorbik" <gor@linux.ibm.com>,
"Heiko Carstens" <hca@linux.ibm.com>,
linux-ide@vger.kernel.org, dlemoal@kernel.org,
"Alexander Gordeev" <agordeev@linux.ibm.com>
Subject: Re: [PATCH v6 30/40] scsi: ibmvscsi_tgt: use 16-bits defined sense codes
Date: Tue, 08 Sep 2026 10:18:04 +0000 [thread overview]
Message-ID: <20260908101805.DE7841F00A3E@smtp.kernel.org> (raw)
In-Reply-To: <20260908090308.1085097-31-dlemoal@kernel.org>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] In `ibmvscsis_queue_data_in`, when an `srp_transfer_data` failure occurs, the driver populates a sense buffer to indicate `LU_COMMUNICATION_TIMEOUT` but fails to set `se_cmd->scsi_status = SAM_STAT_CHECK_CONDITION`. As a result, the subsequent call to `srp_build_response` receives a `SAM_STAT_GOOD` (0) status, which causes it to completely bypass the sense data block and return a success response to the initiator, silently discarding the data transfer error.
--
commit 5043a368074e156668da603aa4c348be519e5fb6
Author: Damien Le Moal <dlemoal@kernel.org>
scsi: ibmvscsi_tgt: use 16-bits defined sense codes
This commit replaces hard-coded SCSI sense codes and qualifiers with standard
enum values from include/scsi/scsi_sense.h in the IBM virtual SCSI target
driver. The change aims to improve code clarity and make the sense codes
self-documenting without altering existing functionality.
> diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
> index 61f6828007654..e2af90b6da39b 100644
> --- a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
> +++ b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
> @@ -3757,9 +3757,8 @@ static int ibmvscsis_queue_data_in(struct se_cmd *se_cmd)
> dev_err(&vscsi->dev, "srp_transfer_data failed: %d\n", rc);
> se_cmd->scsi_sense_length = 18;
> memset(se_cmd->sense_buffer, 0, se_cmd->scsi_sense_length);
> - /* Logical Unit Communication Time-out asc/ascq = 0x0801 */
> - scsi_build_sense_buffer(0, se_cmd->sense_buffer, MEDIUM_ERROR,
> - 0x08, 0x01);
> + scsi_set_sense_buffer(0, se_cmd->sense_buffer, MEDIUM_ERROR,
> + LU_COMMUNICATION_TIMEOUT);
> }
>
> srp_build_response(vscsi, cmd, &len);
[Severity: High]
This isn't a bug introduced by this patch, but in this error path where
srp_transfer_data() fails, the sense buffer is populated with a timeout error
but se_cmd->scsi_status is not updated to SAM_STAT_CHECK_CONDITION.
Does this cause the subsequent call to srp_build_response() to see a
SAM_STAT_GOOD (0) status?
Looking at srp_build_response(), it checks the status:
rsp->status = ibmvscsis_fast_fail(vscsi, cmd);
if (rsp->status) {
...
if (se_cmd->scsi_sense_length && se_cmd->sense_buffer) {
...
memcpy(data, se_cmd->sense_buffer, se_cmd->scsi_sense_length);
}
}
If rsp->status remains 0, the entire sense-copy block appears to be bypassed.
Could this result in silently discarding the data transfer error and returning
a success response to the initiator, causing it to consume uninitialized or
stale data?
Would it be appropriate to set se_cmd->scsi_status = SAM_STAT_CHECK_CONDITION
before calling srp_build_response() in this failure path?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260908090308.1085097-1-dlemoal@kernel.org?part=30
next prev parent reply other threads:[~2026-09-08 10:18 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-08 9:02 [PATCH v6 00/40] Use defined 16-bits ASC/ASCQ combinations Damien Le Moal
2026-09-08 9:02 ` [PATCH v6 01/40] scsi: define all additional sense codes and their qualifiers Damien Le Moal
2026-09-08 9:39 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 02/40] scsi: constants: use defined sense codes Damien Le Moal
2026-09-08 9:12 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 03/40] scsi: constants: rename internal struct field names Damien Le Moal
2026-09-08 9:10 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 04/40] scsi: rename sense field of struct scsi_failure Damien Le Moal
2026-09-08 9:18 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 05/40] scsi: prepare for using 16-bits defined sense codes Damien Le Moal
2026-09-08 9:18 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 06/40] scsi: use struct scsi_sense_hdr to log sense keys and codes Damien Le Moal
2026-09-08 9:17 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 07/40] scsi: core: use 16-bits defined sense codes Damien Le Moal
2026-09-08 9:24 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 08/40] scsi: sd: " Damien Le Moal
2026-09-08 9:26 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 09/40] scsi: sr: " Damien Le Moal
2026-09-08 9:27 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 10/40] scsi: ses: " Damien Le Moal
2026-09-08 9:33 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 11/40] scsi: ch: " Damien Le Moal
2026-09-08 9:32 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 12/40] scsi: st: " Damien Le Moal
2026-09-08 9:33 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 13/40] scsi: device_handlers: hp_sw: " Damien Le Moal
2026-09-08 9:35 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 14/40] scsi: device_handlers: rdac: " Damien Le Moal
2026-09-08 9:37 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 15/40] scsi: device_handlers: emc: " Damien Le Moal
2026-09-08 9:37 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 16/40] scsi: device_handlers: alua: " Damien Le Moal
2026-09-08 9:43 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 17/40] scsi: mpt3sas: " Damien Le Moal
2026-09-08 9:48 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 18/40] scsi: mpi3mr: " Damien Le Moal
2026-09-08 9:42 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 19/40] scsi: 3w-xxxx: " Damien Le Moal
2026-09-08 9:51 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 20/40] scsi: leapraid: " Damien Le Moal
2026-09-08 9:50 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 21/40] scsi: megaraid: " Damien Le Moal
2026-09-08 9:48 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 22/40] scsi: myrX: " Damien Le Moal
2026-09-08 9:59 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 23/40] scsi: smartpqi: " Damien Le Moal
2026-09-08 9:54 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 24/40] scsi: qla2xxx: " Damien Le Moal
2026-09-08 9:58 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 25/40] scsi: ps3rom: " Damien Le Moal
2026-09-08 10:05 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 26/40] scsi: lpfc: " Damien Le Moal
2026-09-08 10:03 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 27/40] scsi: stex: " Damien Le Moal
2026-09-08 10:14 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 28/40] scsi: mvumi: " Damien Le Moal
2026-09-08 10:12 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 29/40] scsi: libiscsi: " Damien Le Moal
2026-09-08 10:08 ` sashiko-bot
2026-09-08 9:02 ` [PATCH v6 30/40] scsi: ibmvscsi_tgt: " Damien Le Moal
2026-09-08 10:18 ` sashiko-bot [this message]
2026-09-08 9:02 ` [PATCH v6 31/40] scsi: scsi_debug: " Damien Le Moal
2026-09-08 10:20 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 32/40] scsi: hpsa: " Damien Le Moal
2026-09-08 10:19 ` sashiko-bot
2026-09-09 19:02 ` Don.Brace
2026-09-08 9:03 ` [PATCH v6 33/40] scsi: storvsc: " Damien Le Moal
2026-09-08 10:28 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 34/40] target: " Damien Le Moal
2026-09-08 10:29 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 35/40] usb: storage: " Damien Le Moal
2026-09-08 10:27 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 36/40] cdrom: " Damien Le Moal
2026-09-08 10:24 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 37/40] ata: libata: " Damien Le Moal
2026-09-08 10:33 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 38/40] s390: scsi: " Damien Le Moal
2026-09-08 10:34 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 39/40] scsi: cleanup scsi_proto.h Damien Le Moal
2026-09-08 10:36 ` sashiko-bot
2026-09-08 9:03 ` [PATCH v6 40/40] scsi: remove scsi_build_sense() and scsi_build_sense_buffer() Damien Le Moal
2026-09-08 10:32 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260908101805.DE7841F00A3E@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=cassel@kernel.org \
--cc=dlemoal@kernel.org \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox