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

From: Damien Le Moal
Date: Thu Mar 30 2023 - 07:01:04 EST


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 <abaci@xxxxxxxxxxxxxxxxx>
>> Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=4644
>> Signed-off-by: Jiapeng Chong <jiapeng.chong@xxxxxxxxxxxxxxxxx>
>> ---
>> 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