summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChaohai Chen <wdhh66@163.com>2025-01-15 15:07:39 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2025-02-12 20:49:50 -0500
commitb50532318793d28a7628c1ffc129a2226e83e495 (patch)
treec0924920ef427d998bb758f2d2311f3927419dac
parent640a6af5099ae8f6a858a8612bec70048a4aee69 (diff)
scsi: target: spc: Fix RSOC parameter data header size
The SPC document states that "The COMMAND DATA LENGTH field indicates the length in bytes of the command descriptor list". The length should be subtracted by 4 to represent the length of the description list, not 3. Signed-off-by: Chaohai Chen <wdhh66@163.com> Link: https://lore.kernel.org/r/20250115070739.216154-1-wdhh66@163.com Reviewed-by: Dmitry Bogdanov <d.bogdanov@yadro.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/target/target_core_spc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/target/target_core_spc.c b/drivers/target/target_core_spc.c
index ea14a3835681..61c065702350 100644
--- a/drivers/target/target_core_spc.c
+++ b/drivers/target/target_core_spc.c
@@ -2243,7 +2243,7 @@ spc_emulate_report_supp_op_codes(struct se_cmd *cmd)
response_length += spc_rsoc_encode_command_descriptor(
&buf[response_length], rctd, descr);
}
- put_unaligned_be32(response_length - 3, buf);
+ put_unaligned_be32(response_length - 4, buf);
} else {
response_length = spc_rsoc_encode_one_command_descriptor(
&buf[response_length], rctd, descr,