aboutsummaryrefslogtreecommitdiffstats
path: root/fs/namei.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2005-11-09 00:35:04 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 10:55:59 -0500
commit8c744fb83da0771afa04695028e3550b798dad90 (patch)
tree670896a1c2594965099853a6c992907abb3a886f /fs/namei.c
parente4543eddfd3bf3e0d625841377fa695a519edfd4 (diff)
[PATCH] add a file_permission helper
A few more callers of permission() just want to check for a different access pattern on an already open file. This patch adds a wrapper for permission() that takes a file in preparation of per-mount read-only support and to clean up the callers a little. The helper is not intended for new code, everything without the interface set in stone should use vfs_permission() Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/namei.c')
-rw-r--r--fs/namei.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/namei.c b/fs/namei.c
index 25e4ab4ce8b7..b69f6ebadb95 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -271,6 +271,23 @@ int vfs_permission(struct nameidata *nd, int mask)
271 return permission(nd->dentry->d_inode, mask, nd); 271 return permission(nd->dentry->d_inode, mask, nd);
272} 272}
273 273
274/**
275 * file_permission - check for additional access rights to a given file
276 * @file: file to check access rights for
277 * @mask: right to check for (%MAY_READ, %MAY_WRITE, %MAY_EXEC)
278 *
279 * Used to check for read/write/execute permissions on an already opened
280 * file.
281 *
282 * Note:
283 * Do not use this function in new code. All access checks should
284 * be done using vfs_permission().
285 */
286int file_permission(struct file *file, int mask)
287{
288 return permission(file->f_dentry->d_inode, mask, NULL);
289}
290
274/* 291/*
275 * get_write_access() gets write permission for a file. 292 * get_write_access() gets write permission for a file.
276 * put_write_access() releases this write permission. 293 * put_write_access() releases this write permission.
@@ -2551,6 +2568,7 @@ EXPORT_SYMBOL(path_release);
2551EXPORT_SYMBOL(path_walk); 2568EXPORT_SYMBOL(path_walk);
2552EXPORT_SYMBOL(permission); 2569EXPORT_SYMBOL(permission);
2553EXPORT_SYMBOL(vfs_permission); 2570EXPORT_SYMBOL(vfs_permission);
2571EXPORT_SYMBOL(file_permission);
2554EXPORT_SYMBOL(unlock_rename); 2572EXPORT_SYMBOL(unlock_rename);
2555EXPORT_SYMBOL(vfs_create); 2573EXPORT_SYMBOL(vfs_create);
2556EXPORT_SYMBOL(vfs_follow_link); 2574EXPORT_SYMBOL(vfs_follow_link);