Re: [PATCH net-next 2/2] bonding: combine netlink and console error messages

From: Joe Perches
Date: Fri Aug 06 2021 - 23:52:37 EST


On Fri, 2021-08-06 at 23:30 -0400, Jonathan Toppins wrote:
> There seems to be no reason to have different error messages between
> netlink and printk. It also cleans up the function slightly.
[]
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
[]
> +#define BOND_NL_ERR(bond_dev, extack, errmsg) do { \
> + NL_SET_ERR_MSG(extack, errmsg); \
> + netdev_err(bond_dev, "Error: " errmsg "\n"); \
> +} while (0)
> +
> +#define SLAVE_NL_ERR(bond_dev, slave_dev, extack, errmsg) do { \
> + NL_SET_ERR_MSG(extack, errmsg); \
> + slave_err(bond_dev, slave_dev, "Error: " errmsg "\n"); \
> +} while (0)

If you are doing this, it's probably smaller object code to use
"%s", errmsg
as the errmsg string can be reused

#define BOND_NL_ERR(bond_dev, extack, errmsg) \
do { \
NL_SET_ERR_MSG(extack, errmsg); \
netdev_err(bond_dev, "Error: %s\n", errmsg); \
} while (0)

#define SLAVE_NL_ERR(bond_dev, slave_dev, extack, errmsg) \
do { \
NL_SET_ERR_MSG(extack, errmsg); \
slave_err(bond_dev, slave_dev, "Error: %s\n", errmsg); \
} while (0)