summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorRoland Dreier <rdreier@cisco.com>2009-12-18 09:41:24 -0800
committerAl Viro <viro@zeniv.linux.org.uk>2009-12-22 12:27:34 -0500
commit628ff7c1d8d8466a5ad8078bd0206a130f8b8a51 (patch)
treecc7ab0c90849be38e200fc6ff6a3a09e3caf0405 /kernel
parented2617585f39dd12fae38c657bba68b9779ea10d (diff)
downloadlinux-628ff7c1d8d8466a5ad8078bd0206a130f8b8a51.tar.gz
linux-628ff7c1d8d8466a5ad8078bd0206a130f8b8a51.tar.bz2
linux-628ff7c1d8d8466a5ad8078bd0206a130f8b8a51.zip
anonfd: Allow making anon files read-only
It seems a couple places such as arch/ia64/kernel/perfmon.c and drivers/infiniband/core/uverbs_main.c could use anon_inode_getfile() instead of a private pseudo-fs + alloc_file(), if only there were a way to get a read-only file. So provide this by having anon_inode_getfile() create a read-only file if we pass O_RDONLY in flags. Signed-off-by: Roland Dreier <rolandd@cisco.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/perf_event.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index e0eb4a2fe183..1f38270f08c7 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4724,7 +4724,7 @@ SYSCALL_DEFINE5(perf_event_open,
if (IS_ERR(event))
goto err_put_context;
- err = anon_inode_getfd("[perf_event]", &perf_fops, event, 0);
+ err = anon_inode_getfd("[perf_event]", &perf_fops, event, O_RDWR);
if (err < 0)
goto err_free_put_context;