summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/perfmon.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-08-26 20:39:16 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-09-26 21:10:05 -0400
commit7456a29bcf3484dee37457370f89d57814299c76 (patch)
tree06e0d979b126929a2a9ae30ebdbaa8c4448b52b2 /arch/ia64/kernel/perfmon.c
parent866ecfdd7cf05680acba635ecf7f30695d8039db (diff)
downloadlinux-stable-7456a29bcf3484dee37457370f89d57814299c76.tar.gz
linux-stable-7456a29bcf3484dee37457370f89d57814299c76.tar.bz2
linux-stable-7456a29bcf3484dee37457370f89d57814299c76.zip
switch itanic perfmonctl(2) to fget_light()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/ia64/kernel/perfmon.c')
-rw-r--r--arch/ia64/kernel/perfmon.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c
index 3fa4bc536953..79826c13b8b6 100644
--- a/arch/ia64/kernel/perfmon.c
+++ b/arch/ia64/kernel/perfmon.c
@@ -4791,6 +4791,7 @@ sys_perfmonctl (int fd, int cmd, void __user *arg, int count)
int narg, completed_args = 0, call_made = 0, cmd_flags;
int (*func)(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs);
int (*getsize)(void *arg, size_t *sz);
+ int fput_needed;
#define PFM_MAX_ARGSIZE 4096
/*
@@ -4879,7 +4880,7 @@ restart_args:
ret = -EBADF;
- file = fget(fd);
+ file = fget_light(fd, &fput_needed);
if (unlikely(file == NULL)) {
DPRINT(("invalid fd %d\n", fd));
goto error_args;
@@ -4920,7 +4921,7 @@ abort_locked:
error_args:
if (file)
- fput(file);
+ fput_light(file, fput_needed);
kfree(args_k);