switch itanic perfmonctl(2) to fget_light()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
866ecfdd7c
commit
7456a29bcf
1 changed files with 3 additions and 2 deletions
|
@ -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 narg, completed_args = 0, call_made = 0, cmd_flags;
|
||||||
int (*func)(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs);
|
int (*func)(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs);
|
||||||
int (*getsize)(void *arg, size_t *sz);
|
int (*getsize)(void *arg, size_t *sz);
|
||||||
|
int fput_needed;
|
||||||
#define PFM_MAX_ARGSIZE 4096
|
#define PFM_MAX_ARGSIZE 4096
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -4879,7 +4880,7 @@ restart_args:
|
||||||
|
|
||||||
ret = -EBADF;
|
ret = -EBADF;
|
||||||
|
|
||||||
file = fget(fd);
|
file = fget_light(fd, &fput_needed);
|
||||||
if (unlikely(file == NULL)) {
|
if (unlikely(file == NULL)) {
|
||||||
DPRINT(("invalid fd %d\n", fd));
|
DPRINT(("invalid fd %d\n", fd));
|
||||||
goto error_args;
|
goto error_args;
|
||||||
|
@ -4920,7 +4921,7 @@ abort_locked:
|
||||||
|
|
||||||
error_args:
|
error_args:
|
||||||
if (file)
|
if (file)
|
||||||
fput(file);
|
fput_light(file, fput_needed);
|
||||||
|
|
||||||
kfree(args_k);
|
kfree(args_k);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue