[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADyTPEyp4WXYW63gBCST+4J3nTYdV8XkyF5YFwZrMz0TcG=Qng@mail.gmail.com>
Date: Wed, 20 Jul 2022 08:49:49 -0400
From: Nick Bowler <nbowler@...conx.ca>
To: Christoph Hellwig <hch@....de>
Cc: linux-nvme@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] nvme: Define compat_ioctl again to unbreak 32-bit userspace.
On 2022-07-20, Christoph Hellwig <hch@....de> wrote:
> 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.
OK, I will try that.
Thanks,
Nick
Powered by blists - more mailing lists