projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'linus' into x86/x2apic
[cascardo/linux.git]
/
fs
/
eventfd.c
diff --git
a/fs/eventfd.c
b/fs/eventfd.c
index
bd420e6
..
08bf558
100644
(file)
--- a/
fs/eventfd.c
+++ b/
fs/eventfd.c
@@
-203,7
+203,11
@@
asmlinkage long sys_eventfd2(unsigned int count, int flags)
int fd;
struct eventfd_ctx *ctx;
int fd;
struct eventfd_ctx *ctx;
- if (flags & ~EFD_CLOEXEC)
+ /* Check the EFD_* constants for consistency. */
+ BUILD_BUG_ON(EFD_CLOEXEC != O_CLOEXEC);
+ BUILD_BUG_ON(EFD_NONBLOCK != O_NONBLOCK);
+
+ if (flags & ~(EFD_CLOEXEC | EFD_NONBLOCK))
return -EINVAL;
ctx = kmalloc(sizeof(*ctx), GFP_KERNEL);
return -EINVAL;
ctx = kmalloc(sizeof(*ctx), GFP_KERNEL);
@@
-218,7
+222,7
@@
asmlinkage long sys_eventfd2(unsigned int count, int flags)
* anon_inode_getfd() will install the fd.
*/
fd = anon_inode_getfd("[eventfd]", &eventfd_fops, ctx,
* anon_inode_getfd() will install the fd.
*/
fd = anon_inode_getfd("[eventfd]", &eventfd_fops, ctx,
- flags &
O_CLOEXEC
);
+ flags &
(O_CLOEXEC | O_NONBLOCK)
);
if (fd < 0)
kfree(ctx);
return fd;
if (fd < 0)
kfree(ctx);
return fd;