From: Al Viro Date: Mon, 23 Dec 2013 21:51:33 +0000 (-0500) Subject: eventfd_ctx_fdget(): use fdget() instead of fget() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=36a7411724b1caf2fa92b5e4a41576ee8f16769e;p=openwrt%2Fstaging%2Fblogic.git eventfd_ctx_fdget(): use fdget() instead of fget() Signed-off-by: Al Viro --- diff --git a/fs/eventfd.c b/fs/eventfd.c index 35470d9b96e6..d6a88e7812f3 100644 --- a/fs/eventfd.c +++ b/fs/eventfd.c @@ -349,15 +349,12 @@ EXPORT_SYMBOL_GPL(eventfd_fget); */ struct eventfd_ctx *eventfd_ctx_fdget(int fd) { - struct file *file; struct eventfd_ctx *ctx; - - file = eventfd_fget(fd); - if (IS_ERR(file)) - return (struct eventfd_ctx *) file; - ctx = eventfd_ctx_get(file->private_data); - fput(file); - + struct fd f = fdget(fd); + if (!f.file) + return ERR_PTR(-EBADF); + ctx = eventfd_ctx_fileget(f.file); + fdput(f); return ctx; } EXPORT_SYMBOL_GPL(eventfd_ctx_fdget);