The driver is using -1 instead of the -ENOMEM defined macro to
specify that a buffer allocation failed. Using the correct error
code is more intuitive.
Smatch tool warning:
drivers/net/bonding/bond_alb.c:850 rlb_initialize() warn: returning -1
instead of -ENOMEM is sloppy
No functional change, just more standardized.
Reported-by: Abaci Robot <[email protected]>
Signed-off-by: Yang Li <[email protected]>
---
drivers/net/bonding/bond_alb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
index c3091e0..dad5383 100644
--- a/drivers/net/bonding/bond_alb.c
+++ b/drivers/net/bonding/bond_alb.c
@@ -847,7 +847,7 @@ static int rlb_initialize(struct bonding *bond)
new_hashtbl = kmalloc(size, GFP_KERNEL);
if (!new_hashtbl)
- return -1;
+ return -ENOMEM;
spin_lock_bh(&bond->mode_lock);
--
1.8.3.1
On Mon, 2021-04-26 at 17:33 +0800, Yang Li wrote:
> The driver is using -1 instead of the -ENOMEM defined macro to
> specify that a buffer allocation failed. Using the correct error
> code is more intuitive.
>
> Smatch tool warning:
> drivers/net/bonding/bond_alb.c:850 rlb_initialize() warn: returning -1
> instead of -ENOMEM is sloppy
>
> No functional change, just more standardized.
[]
> diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
[]
> @@ -847,7 +847,7 @@ static int rlb_initialize(struct bonding *bond)
> ?
>
> ? new_hashtbl = kmalloc(size, GFP_KERNEL);
> ? if (!new_hashtbl)
> - return -1;
> + return -ENOMEM;
> ?
>
> ? spin_lock_bh(&bond->mode_lock);
> ?
>
Perhaps the bond_alb_initialize call here which uses the return
value from this function:
drivers/net/bonding/bond_main.c: if (bond_alb_initialize(bond, (BOND_MODE(bond) == BOND_MODE_ALB)))
drivers/net/bonding/bond_main.c- return -ENOMEM;
should use a store/test/return style instead of a fixed value return.
res = bond_alb_initialize(bond, BOND_MODE(bond) == BOND_MODE_ALB);
if (res < 0)
return res;