diff options
author | Chaohai Chen <wdhh66@163.com> | 2025-01-15 15:07:39 +0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2025-02-12 20:49:50 -0500 |
commit | b50532318793d28a7628c1ffc129a2226e83e495 (patch) | |
tree | c0924920ef427d998bb758f2d2311f3927419dac | |
parent | 640a6af5099ae8f6a858a8612bec70048a4aee69 (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.c | 2 |
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, |