git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ext4: Reorder fs/Makefile so that ext2 root fs's are mounted using ext2
[safe/jmp/linux-2.6]
/
fs
/
eventfd.c
diff --git
a/fs/eventfd.c
b/fs/eventfd.c
index
bd420e6
..
5de2c2d
100644
(file)
--- a/
fs/eventfd.c
+++ b/
fs/eventfd.c
@@
-198,12
+198,16
@@
struct file *eventfd_fget(int fd)
return file;
}
return file;
}
-
asmlinkage long sys_eventfd2(unsigned int count, int
flags)
+
SYSCALL_DEFINE2(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,14
+222,13
@@
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;
}
-
asmlinkage long sys_eventfd(unsigned int
count)
+
SYSCALL_DEFINE1(eventfd, unsigned int,
count)
{
return sys_eventfd2(count, 0);
}
{
return sys_eventfd2(count, 0);
}
-