diff options
Diffstat (limited to 'fs/eventfd.c')
-rw-r--r-- | fs/eventfd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/eventfd.c b/fs/eventfd.c index bd420e6478ad..3ed4466177a7 100644 --- a/fs/eventfd.c +++ b/fs/eventfd.c | |||
@@ -203,7 +203,7 @@ asmlinkage long sys_eventfd2(unsigned int count, int flags) | |||
203 | int fd; | 203 | int fd; |
204 | struct eventfd_ctx *ctx; | 204 | struct eventfd_ctx *ctx; |
205 | 205 | ||
206 | if (flags & ~EFD_CLOEXEC) | 206 | if (flags & ~(EFD_CLOEXEC | EFD_NONBLOCK)) |
207 | return -EINVAL; | 207 | return -EINVAL; |
208 | 208 | ||
209 | ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); | 209 | ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); |
@@ -218,7 +218,7 @@ asmlinkage long sys_eventfd2(unsigned int count, int flags) | |||
218 | * anon_inode_getfd() will install the fd. | 218 | * anon_inode_getfd() will install the fd. |
219 | */ | 219 | */ |
220 | fd = anon_inode_getfd("[eventfd]", &eventfd_fops, ctx, | 220 | fd = anon_inode_getfd("[eventfd]", &eventfd_fops, ctx, |
221 | flags & O_CLOEXEC); | 221 | flags & (O_CLOEXEC | O_NONBLOCK)); |
222 | if (fd < 0) | 222 | if (fd < 0) |
223 | kfree(ctx); | 223 | kfree(ctx); |
224 | return fd; | 224 | return fd; |