diff options
author | Christoph Hellwig <hch@lst.de> | 2007-10-16 23:25:38 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 08:42:44 -0700 |
commit | eead19115329c5615ba03cbaf1c3fe24c14858a3 (patch) | |
tree | 4b8aeeea5060fca595f2c5e8290d742cdb14a08f /include/linux/namei.h | |
parent | ebb3e820b83e426ee331bae6d8fb0e54f472a25d (diff) | |
download | linux-stable-eead19115329c5615ba03cbaf1c3fe24c14858a3.tar.gz linux-stable-eead19115329c5615ba03cbaf1c3fe24c14858a3.tar.bz2 linux-stable-eead19115329c5615ba03cbaf1c3fe24c14858a3.zip |
partially fix up the lookup_one_noperm mess
Try to fix the mess created by sysfs braindamage.
- refactor code internal to fs/namei.c a little to avoid too much
duplication:
o __lookup_hash_kern is renamed back to __lookup_hash
o the old __lookup_hash goes away, permission checks moves to
the two callers
o useless inline qualifiers on above functions go away
- lookup_one_len_kern loses it's last argument and is renamed to
lookup_one_noperm to make it's useage a little more clear
- added kerneldoc comments to describe lookup_one_len aswell as
lookup_one_noperm and make it very clear that no one should use
the latter ever.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/namei.h')
-rw-r--r-- | include/linux/namei.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/namei.h b/include/linux/namei.h index 6c38efbd810f..4cb4f8d2f78d 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h @@ -81,8 +81,8 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry extern struct file *nameidata_to_filp(struct nameidata *nd, int flags); extern void release_open_intent(struct nameidata *); -extern struct dentry * lookup_one_len(const char *, struct dentry *, int); -extern struct dentry *lookup_one_len_kern(const char *, struct dentry *, int); +extern struct dentry *lookup_one_len(const char *, struct dentry *, int); +extern struct dentry *lookup_one_noperm(const char *, struct dentry *); extern int follow_down(struct vfsmount **, struct dentry **); extern int follow_up(struct vfsmount **, struct dentry **); |