Re: [PATCH linux-next] net: bonding: bond_alb: Replace if (cond) BUG() with BUG_ON()

From: Jakub Kicinski
Date: Mon Aug 30 2021 - 13:36:13 EST


On Fri, 27 Aug 2021 18:02:30 -0700 CGEL wrote:
> From: Changcheng Deng <deng.changcheng@xxxxxxxxxx>
>
> Fix the following coccinelle reports:
>
> ./drivers/net/bonding/bond_alb.c:976:3-6 WARNING: Use BUG_ON instead of
> if condition followed by BUG.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Changcheng Deng <deng.changcheng@xxxxxxxxxx>
> ---
> drivers/net/bonding/bond_alb.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c
> index 7d3752c..3288022 100644
> --- a/drivers/net/bonding/bond_alb.c
> +++ b/drivers/net/bonding/bond_alb.c
> @@ -972,8 +972,7 @@ static int alb_upper_dev_walk(struct net_device *upper,
> */
> if (netif_is_macvlan(upper) && !strict_match) {
> tags = bond_verify_device_path(bond->dev, upper, 0);
> - if (IS_ERR_OR_NULL(tags))
> - BUG();
> + BUG_ON(IS_ERR_OR_NULL(tags));
> alb_send_lp_vid(slave, upper->dev_addr,
> tags[0].vlan_proto, tags[0].vlan_id);
> kfree(tags);

The fact this code using is BUG() in the first place is more problematic
than not using BUG_ON(). Can it be converted to WARN_ON() + return?
Looks like alb_upper_dev_walk() returns int.