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

From: Joe Perches
Date: Wed Aug 11 2021 - 09:25:54 EST


On Wed, 2021-08-11 at 05:49 -0700, Jakub Kicinski wrote:
> On Tue, 10 Aug 2021 20:27:01 -0700 Joe Perches wrote:
> > > +#define BOND_NL_ERR(bond_dev, extack, errmsg) do { \
> > > + if (extack) \
> > > + NL_SET_ERR_MSG(extack, errmsg); \
> > > + else \
> > > + netdev_err(bond_dev, "Error: %s\n", errmsg); \
> > > +} while (0)
> > > +
> > > +#define SLAVE_NL_ERR(bond_dev, slave_dev, extack, errmsg) do { \
> > > + if (extack) \
> > > + NL_SET_ERR_MSG(extack, errmsg); \
> > > + else \
> > > + slave_err(bond_dev, slave_dev, "Error: %s\n", errmsg); \
> > > +} while (0)
> >
> > Ideally both of these would be static functions and not macros.
>
> That may break our ability for NL_SET_ERR_MSG to place strings
> back in a static buffer, no?

Not really.

The most common way to place things in a particular section is to
use __section("whatever")

It's pretty trivial to mark these errmsg strings as above.