Re: [PATCH v3 3/3] iio: imu: st_lsm6dsx: add support for rotation sensor

From: Andy Shevchenko

Date: Tue Jan 20 2026 - 05:26:38 EST


On Tue, Jan 20, 2026 at 12:03 PM Francesco Lavra <flavra@xxxxxxxxxxxx> wrote:
> On Tue, 2026-01-20 at 11:36 +0200, Andy Shevchenko wrote:
> > On Tue, Jan 20, 2026 at 10:28:15AM +0100, Francesco Lavra wrote:
> > > On Mon, 2026-01-19 at 12:33 +0200, Andy Shevchenko wrote:
> > > > On Mon, Jan 19, 2026 at 11:04:49AM +0100, Francesco Lavra wrote:

...

> > > > > + snprintf(sensor->name, sizeof(sensor->name), "%s_sf",
> > > > > name);
> > > >
> > > > Does GCC complain on this (`make W=1` build)?
> > > > Since this can cut the string and we don't check the return value,
> > > > the Q
> > > > is:
> > > > is this okay to have a reduced string?
> > >
> > > gcc does not complain with W=1. sensor->name is appropriately sized to
> > > accommodate the longest possible name; if it wasn't, the string would
> > > be
> > > cut in the accel and gyro IIO devices too (which use a longer suffix
> > > than
> > > "_sf").
> >
> > Right, the question is if compiler can prove that or not.
> >
> > We have several patches in input subsystem to hide the warning by
> > switching
> > to scnprintf(), which I consider not the best approach, but still it
> > depends
> > if we care about cut or not. If we do, we should check for overflow.
>
> A truncated string would result in a corrupted value in
> /sys/bus/iio/devices/iio:deviceX/name, so I would say we do care if it's
> truncated. But I think the most appropriate check we could add in the code
> is a BUG_ON(); would that be acceptable?

No. BUG_ON() == panic == reboot (with "reboot_on_panic" or so). Mere
drivers like this one should (almost) never use BUG() nor WARN(). Just
add an appropriate check.

--
With Best Regards,
Andy Shevchenko