Applied, thank you
On Tue, Jan 20, 2026 at 10:29 AM <[email protected]> wrote: > > The LOOP_CONFIGURE ioctl is supported in 5.8 kernels and up. To have > backwards compatibility there is a config option CONFIG_TRY_LOOP_CONFIGURE > that will check if the ioctl exists and if not fall back to old way of > configuring loop devices. > > Normally errno will be set to EINVAL when this ioctl does not exist. > However, when kernel config CONFIG_COMPAT is enabled, then compat_ioctl > is called. In that case -ENOIOCTLCMD is returned by loop device driver > and generic ioctl wrapper will set errno to ENOTTY. Because busybox > does not expect this it will fail to mount loop devices in this case. > > This patch fixes the check for the existence of the ioctl LOOP_CONFIGURE > by checking if errno is one of both: EINVAL or ENOTTY. > > Signed-off-by: Wouter Franken <[email protected]> > Signed-off-by: Wouter Franken <[email protected]> > --- > libbb/loop.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libbb/loop.c b/libbb/loop.c > index a0c5d02..b603d0d 100644 > --- a/libbb/loop.c > +++ b/libbb/loop.c > @@ -158,7 +158,7 @@ static int set_loopdev_params(int lfd, > if (rc == 0) > return rc; /* SUCCESS! */ > # if ENABLE_TRY_LOOP_CONFIGURE > - if (errno != EINVAL) > + if (errno != EINVAL && errno != ENOTTY) > return rc; /* error other than old kernel */ > /* Old kernel, fall through into old way to do it: */ > # endif > -- > 2.34.1 > > _______________________________________________ > busybox mailing list > [email protected] > https://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] https://lists.busybox.net/mailman/listinfo/busybox
