Messages in this thread | | | Date | Wed, 20 Jul 2022 06:27:26 +0200 | From | Christoph Hellwig <> | Subject | Re: [PATCH] nvme: Define compat_ioctl again to unbreak 32-bit userspace. |
| |
On Tue, Jul 19, 2022 at 09:55:38PM -0400, Nick Bowler wrote: > Commit 89b3d6e60550 ("nvme: simplify the compat ioctl handling") removed > the initialization of compat_ioctl from the nvme block_device_operations > structures. > > Presumably the expectation was that 32-bit ioctls would be directed > through the regular handler but this is not the case: failing to assign > .compat_ioctl actually means that the compat case is disabled entirely, > and any attempt to submit nvme ioctls from 32-bit userspace fails > outright with -ENOTTY.
I don't think wiring up the native version is the right thing to do, this needs to be blkdev_compat_ptr_ioctl, just like we use compat_ptr_ioctl for the character device nodes.
| |