projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ax25: Fix missing break
[cascardo/linux.git]
/
fs
/
signalfd.c
diff --git
a/fs/signalfd.c
b/fs/signalfd.c
index
7ae2a57
..
9f35a37
100644
(file)
--- a/
fs/signalfd.c
+++ b/
fs/signalfd.c
@@
-269,12
+269,13
@@
SYSCALL_DEFINE4(signalfd4, int, ufd, sigset_t __user *, user_mask,
if (ufd < 0)
kfree(ctx);
} else {
if (ufd < 0)
kfree(ctx);
} else {
- struct file *file = fget(ufd);
+ int fput_needed;
+ struct file *file = fget_light(ufd, &fput_needed);
if (!file)
return -EBADF;
ctx = file->private_data;
if (file->f_op != &signalfd_fops) {
if (!file)
return -EBADF;
ctx = file->private_data;
if (file->f_op != &signalfd_fops) {
- fput
(file
);
+ fput
_light(file, fput_needed
);
return -EINVAL;
}
spin_lock_irq(¤t->sighand->siglock);
return -EINVAL;
}
spin_lock_irq(¤t->sighand->siglock);
@@
-282,7
+283,7
@@
SYSCALL_DEFINE4(signalfd4, int, ufd, sigset_t __user *, user_mask,
spin_unlock_irq(¤t->sighand->siglock);
wake_up(¤t->sighand->signalfd_wqh);
spin_unlock_irq(¤t->sighand->siglock);
wake_up(¤t->sighand->signalfd_wqh);
- fput
(file
);
+ fput
_light(file, fput_needed
);
}
return ufd;
}
return ufd;