Re: [PATCH 07/39] vfs: export vfs_ioctl() to modules

From: Miklos Szeredi
Date: Mon Jun 11 2018 - 03:19:10 EST


On Sun, Jun 10, 2018 at 6:57 AM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> On Mon, Jun 04, 2018 at 01:49:04AM -0700, Christoph Hellwig wrote:
>> On Tue, May 29, 2018 at 04:43:07PM +0200, Miklos Szeredi wrote:
>> > This is needed by the stacked ioctl implementation in overlayfs.
>>
>> EXPORT_SYMBOL_GPL for exporting random internals, please. Same
>> for any following patches.
>
> *blink*
>
> Christoph, get real and RTFS - vfs_ioctl() simply calls ->unlocked_ioctl();
> all there is to it.
>
> This isn't even a case of "using that function establishes that the
> caller is a derived work" - *anyone* who can see definition of
> file_operations can bloody well open-code it. There isn't anything
> establishing derivation here.
>
> Hell, it could've been a static inline in include/linux/fs.h and it would
> neither differ from many other inlines in there nor need an export at all.
>
> This is really getting close to lxo-worthy levels of bogosity...
>
> More interesting question is why do we want to pass those ioctls to layers
> in the first place, especially if it's something with different availability
> (or, worse yet, argument layouts) before and after copyup.

We don't. Obviously need to make sure to only ever do ioctl's in
overlayfs that have a common definition across filesystems. Not a lot
of those, luckily...

Thanks,
Miklos