Re: [RFC] O_NOACC: open without any access

From: Miklos Szeredi
Date: Tue Jun 23 2009 - 12:32:18 EST


On Tue, 23 Jun 2009, David Howells wrote:
> Reference count on which module? This would not take a reference on
> the device driver as it would not refer to it, but would still have
> a file struct, an inode struct and a dentry struct on the underlying
> fs.

So how about the following: provide a new open flag O_FILESYSTEM,
meaning it opens the file on the underlying filesystem instead of the
device/socket/symlink/etc...

Add a new inode->i_filesystem_fop pointer which is used instead of
inode->i_fop in case if O_FILESYSTEM. If ->i_filesystem_fop isn't set
by the filesystem, fall back to a default which returns -EBADF for all
operations (except open).

Define O_NOACC as 3. On open(..., O_FILESYSTEM | O_NOACC) require no
privileges on the file.

AFS would set up i_filesystem_fop with its ->ioctl() function. No
special handling needed for revoke()...

That would work, no?

Thanks,
Miklos

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/