Re: [patch 07/14] vfs: pass dentry to permission()

From: Al Viro
Date: Wed May 21 2008 - 16:29:33 EST


On Wed, May 21, 2008 at 07:15:05PM +0200, Miklos Szeredi wrote:
> From: Miklos Szeredi <mszeredi@xxxxxxx>
>
> The following patches clean up the i_op->permission() method and the
> related VFS API.
>
> Here's an overview of the changes:
>
> - ->permission() is passed a dentry instead of an inode
> - ->permission() is passed a integer flags parameter instead of a
> nameidata pointer

No. Take a good look at the instances.

a) only one aberrant case cares about dentry, and for extremely
wrong reasons. /proc/sys/ stuff. ecryptfs, of course, will be happy
with any variant.
b) few flags that are looked at are trivially mapped to new MAY_...

I have a patch series that does it, but it involves tons of fixing the
sysctl handling to be finished ;-/ And yes, we need sysctl to quit
doing the "I want to get ctl_table entry, so I'll do very painful search
by dentry every damn time" in any case - look at that code, it's far
too ugly to live.

IOW, consider this ->permission() API change NAKed.
--
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/