Re: [PATCH v1 1/2] gpiolib: Never return internal error codes to user space

From: Andy Shevchenko
Date: Wed May 19 2021 - 04:30:50 EST


On Wed, May 19, 2021 at 04:04:34PM +0800, Kent Gibson wrote:
> On Wed, May 19, 2021 at 10:45:16AM +0300, Andy Shevchenko wrote:
> > On Wed, May 19, 2021 at 07:24:51AM +0800, Kent Gibson wrote:
> > > On Tue, May 18, 2021 at 06:50:12PM +0300, Andy Shevchenko wrote:
> > > > Currently it's possible that character device interface may return
> > > > the error codes which are not supposed to be seen by user space.
> > > > In this case it's EPROBE_DEFER.
> > > >
> > > > Wrap it to return -ENODEV instead as sysfs does.
> >
> > > > Fixes: d7c51b47ac11 ("gpio: userspace ABI for reading/writing GPIO lines")
> > > > Fixes: 61f922db7221 ("gpio: userspace ABI for reading GPIO line events")
> > > > Fixes: 3c0d9c635ae2 ("gpiolib: cdev: support GPIO_V2_GET_LINE_IOCTL and GPIO_V2_LINE_GET_VALUES_IOCTL")
> >
> > ...
> >
> > > You immediately revert this patch in patch 2.
> > > My understanding is that is not allowed within a patch set.
> >
> > > Why split the patches instead of going direct to the new helper?
> >
> > It's for backporting to make it easier. (I deliberately left the context above)
> >
> > I can fold them if maintainers think it's okay to do.
> >
>
> Not sure what the constraints are on backporting, but wouldn't it be
> simpler and cleaner to backport the new helper?

Logically (and ideally) it would be three different patches:
1) introduce helper
2) use helper
3) fix places where it's needed to be done

But the above scheme doesn't fit backporting idea (we don't backport new
features and APIs without really necessity). So, the options left are:

Option a: One patch (feels a bit like above)
Option b: Two patches like in this series (yes, you are correct about
disadvantages)

> But, as you say, it is the maintainers' call.

--
With Best Regards,
Andy Shevchenko