* [PATCH] scsi: target: iscsi: Use int type to store negative value
@ 2025-09-02 12:50 Qianfeng Rong
2025-09-04 15:12 ` michael.christie
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Qianfeng Rong @ 2025-09-02 12:50 UTC (permalink / raw)
To: Martin K. Petersen, Qianfeng Rong, Al Viro, linux-scsi,
target-devel, linux-kernel
Change the 'ret' variable in iscsit_tmr_task_reassign() from u64 to int,
as it needs to store either negative value or zero returned by
iscsit_find_cmd_for_recovery().
Storing the negative error codes in unsigned type, or performing equality
comparisons (e.g., ret == -2), doesn't cause an issue at runtime [1] but
can be confusing. Additionally, assigning negative error codes to unsigned
type may trigger a GCC warning when the -Wsign-conversion flag is enabled.
No effect on runtime.
Link: https://lore.kernel.org/all/x3wogjf6vgpkisdhg3abzrx7v7zktmdnfmqeih5kosszmagqfs@oh3qxrgzkikf/ #1
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
---
drivers/target/iscsi/iscsi_target_tmr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/target/iscsi/iscsi_target_tmr.c b/drivers/target/iscsi/iscsi_target_tmr.c
index f60b156ede12..620de3910599 100644
--- a/drivers/target/iscsi/iscsi_target_tmr.c
+++ b/drivers/target/iscsi/iscsi_target_tmr.c
@@ -112,7 +112,8 @@ u8 iscsit_tmr_task_reassign(
struct iscsi_tmr_req *tmr_req = cmd->tmr_req;
struct se_tmr_req *se_tmr = cmd->se_cmd.se_tmr_req;
struct iscsi_tm *hdr = (struct iscsi_tm *) buf;
- u64 ret, ref_lun;
+ u64 ref_lun;
+ int ret;
pr_debug("Got TASK_REASSIGN TMR ITT: 0x%08x,"
" RefTaskTag: 0x%08x, ExpDataSN: 0x%08x, CID: %hu\n",
--
2.34.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: target: iscsi: Use int type to store negative value
2025-09-02 12:50 [PATCH] scsi: target: iscsi: Use int type to store negative value Qianfeng Rong
@ 2025-09-04 15:12 ` michael.christie
2025-09-10 2:04 ` Martin K. Petersen
2025-09-17 2:27 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: michael.christie @ 2025-09-04 15:12 UTC (permalink / raw)
To: Qianfeng Rong, Martin K. Petersen, Al Viro, linux-scsi,
target-devel, linux-kernel
On 9/2/25 7:50 AM, Qianfeng Rong wrote:
> Change the 'ret' variable in iscsit_tmr_task_reassign() from u64 to int,
> as it needs to store either negative value or zero returned by
> iscsit_find_cmd_for_recovery().
>
> Storing the negative error codes in unsigned type, or performing equality
> comparisons (e.g., ret == -2), doesn't cause an issue at runtime [1] but
> can be confusing. Additionally, assigning negative error codes to unsigned
> type may trigger a GCC warning when the -Wsign-conversion flag is enabled.
>
> No effect on runtime.
>
> Link: https://lore.kernel.org/all/x3wogjf6vgpkisdhg3abzrx7v7zktmdnfmqeih5kosszmagqfs@oh3qxrgzkikf/ #1
> Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
> ---
> drivers/target/iscsi/iscsi_target_tmr.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/target/iscsi/iscsi_target_tmr.c b/drivers/target/iscsi/iscsi_target_tmr.c
> index f60b156ede12..620de3910599 100644
> --- a/drivers/target/iscsi/iscsi_target_tmr.c
> +++ b/drivers/target/iscsi/iscsi_target_tmr.c
> @@ -112,7 +112,8 @@ u8 iscsit_tmr_task_reassign(
> struct iscsi_tmr_req *tmr_req = cmd->tmr_req;
> struct se_tmr_req *se_tmr = cmd->se_cmd.se_tmr_req;
> struct iscsi_tm *hdr = (struct iscsi_tm *) buf;
> - u64 ret, ref_lun;
> + u64 ref_lun;
> + int ret;
>
> pr_debug("Got TASK_REASSIGN TMR ITT: 0x%08x,"
> " RefTaskTag: 0x%08x, ExpDataSN: 0x%08x, CID: %hu\n",
Reviewed-by: Mike Christie <michael.christie@oracle.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: target: iscsi: Use int type to store negative value
2025-09-02 12:50 [PATCH] scsi: target: iscsi: Use int type to store negative value Qianfeng Rong
2025-09-04 15:12 ` michael.christie
@ 2025-09-10 2:04 ` Martin K. Petersen
2025-09-17 2:27 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2025-09-10 2:04 UTC (permalink / raw)
To: Qianfeng Rong
Cc: Martin K. Petersen, Al Viro, linux-scsi, target-devel,
linux-kernel
Qianfeng,
> Change the 'ret' variable in iscsit_tmr_task_reassign() from u64 to
> int, as it needs to store either negative value or zero returned by
> iscsit_find_cmd_for_recovery().
Applied to 6.18/scsi-staging, thanks!
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] scsi: target: iscsi: Use int type to store negative value
2025-09-02 12:50 [PATCH] scsi: target: iscsi: Use int type to store negative value Qianfeng Rong
2025-09-04 15:12 ` michael.christie
2025-09-10 2:04 ` Martin K. Petersen
@ 2025-09-17 2:27 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2025-09-17 2:27 UTC (permalink / raw)
To: Al Viro, linux-scsi, target-devel, linux-kernel, Qianfeng Rong
Cc: Martin K . Petersen
On Tue, 02 Sep 2025 20:50:14 +0800, Qianfeng Rong wrote:
> Change the 'ret' variable in iscsit_tmr_task_reassign() from u64 to int,
> as it needs to store either negative value or zero returned by
> iscsit_find_cmd_for_recovery().
>
> Storing the negative error codes in unsigned type, or performing equality
> comparisons (e.g., ret == -2), doesn't cause an issue at runtime [1] but
> can be confusing. Additionally, assigning negative error codes to unsigned
> type may trigger a GCC warning when the -Wsign-conversion flag is enabled.
>
> [...]
Applied to 6.18/scsi-queue, thanks!
[1/1] scsi: target: iscsi: Use int type to store negative value
https://git.kernel.org/mkp/scsi/c/b0aca7ae8285
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-17 2:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 12:50 [PATCH] scsi: target: iscsi: Use int type to store negative value Qianfeng Rong
2025-09-04 15:12 ` michael.christie
2025-09-10 2:04 ` Martin K. Petersen
2025-09-17 2:27 ` Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox