2023-03-30 02:43:43

by Jiapeng Chong

[permalink] [raw]
Subject: [PATCH] scsi: target: return -ENOMEM when kzalloc failed

The driver is using -1 instead of the -ENOMEM defined macro to specify
that a buffer allocation failed.

drivers/target/iscsi/iscsi_target.c:691 iscsi_target_init_module() warn: returning -1 instead of -ENOMEM is sloppy.

Reported-by: Abaci Robot <[email protected]>
Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4644
Signed-off-by: Jiapeng Chong <[email protected]>
---
drivers/target/iscsi/iscsi_target.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
index 834cce50f9b0..d3a40c3caaf5 100644
--- a/drivers/target/iscsi/iscsi_target.c
+++ b/drivers/target/iscsi/iscsi_target.c
@@ -688,7 +688,7 @@ static int __init iscsi_target_init_module(void)
pr_debug("iSCSI-Target "ISCSIT_VERSION"\n");
iscsit_global = kzalloc(sizeof(*iscsit_global), GFP_KERNEL);
if (!iscsit_global)
- return -1;
+ return -ENOMEM;

spin_lock_init(&iscsit_global->ts_bitmap_lock);
mutex_init(&auth_id_lock);
--
2.20.1.7.g153144c


2023-03-30 08:01:32

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH] scsi: target: return -ENOMEM when kzalloc failed

On 3/29/23 19:38, Jiapeng Chong wrote:
> The driver is using -1 instead of the -ENOMEM defined macro to specify
> that a buffer allocation failed.
>
> drivers/target/iscsi/iscsi_target.c:691 iscsi_target_init_module() warn: returning -1 instead of -ENOMEM is sloppy.
>
> Reported-by: Abaci Robot <[email protected]>
> Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4644
> Signed-off-by: Jiapeng Chong <[email protected]>
> ---
> drivers/target/iscsi/iscsi_target.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
> index 834cce50f9b0..d3a40c3caaf5 100644
> --- a/drivers/target/iscsi/iscsi_target.c
> +++ b/drivers/target/iscsi/iscsi_target.c
> @@ -688,7 +688,7 @@ static int __init iscsi_target_init_module(void)
> pr_debug("iSCSI-Target "ISCSIT_VERSION"\n");
> iscsit_global = kzalloc(sizeof(*iscsit_global), GFP_KERNEL);
> if (!iscsit_global)
> - return -1;
> + return -ENOMEM;
>
> spin_lock_init(&iscsit_global->ts_bitmap_lock);
> mutex_init(&auth_id_lock);

you can also just use goto out, it has return -ENOMEM, no biggy..
Also, it will be useful to print the error message here as we
are making this change..

irrespective of that :

Looks good.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

-ck


2023-03-30 11:11:24

by Damien Le Moal

[permalink] [raw]
Subject: Re: [PATCH] scsi: target: return -ENOMEM when kzalloc failed

On 3/30/23 16:59, Chaitanya Kulkarni wrote:
> On 3/29/23 19:38, Jiapeng Chong wrote:
>> The driver is using -1 instead of the -ENOMEM defined macro to specify
>> that a buffer allocation failed.
>>
>> drivers/target/iscsi/iscsi_target.c:691 iscsi_target_init_module() warn: returning -1 instead of -ENOMEM is sloppy.
>>
>> Reported-by: Abaci Robot <[email protected]>
>> Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4644
>> Signed-off-by: Jiapeng Chong <[email protected]>
>> ---
>> drivers/target/iscsi/iscsi_target.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/target/iscsi/iscsi_target.c b/drivers/target/iscsi/iscsi_target.c
>> index 834cce50f9b0..d3a40c3caaf5 100644
>> --- a/drivers/target/iscsi/iscsi_target.c
>> +++ b/drivers/target/iscsi/iscsi_target.c
>> @@ -688,7 +688,7 @@ static int __init iscsi_target_init_module(void)
>> pr_debug("iSCSI-Target "ISCSIT_VERSION"\n");
>> iscsit_global = kzalloc(sizeof(*iscsit_global), GFP_KERNEL);
>> if (!iscsit_global)
>> - return -1;
>> + return -ENOMEM;
>>
>> spin_lock_init(&iscsit_global->ts_bitmap_lock);
>> mutex_init(&auth_id_lock);
>
> you can also just use goto out, it has return -ENOMEM, no biggy..
> Also, it will be useful to print the error message here as we
> are making this change..

Printing an error message for allocation failures is frowned upon. Checkpatch
will complain.

--
Damien Le Moal
Western Digital Research