diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-08-26 20:39:16 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-09-26 21:10:05 -0400 |
commit | 7456a29bcf3484dee37457370f89d57814299c76 (patch) | |
tree | 06e0d979b126929a2a9ae30ebdbaa8c4448b52b2 /arch/ia64/kernel/perfmon.c | |
parent | 866ecfdd7cf05680acba635ecf7f30695d8039db (diff) | |
download | op-kernel-dev-7456a29bcf3484dee37457370f89d57814299c76.zip op-kernel-dev-7456a29bcf3484dee37457370f89d57814299c76.tar.gz |
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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 3fa4bc5..79826c1 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); |