sockfd_lookup_light(): switch to fdget^W^Waway from fget_light

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2014-03-03 23:48:18 -05:00
parent 9c225f2655
commit 00e188ef6a
1 changed files with 7 additions and 6 deletions

View File

@ -450,16 +450,17 @@ EXPORT_SYMBOL(sockfd_lookup);
static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed) static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed)
{ {
struct file *file; struct fd f = fdget(fd);
struct socket *sock; struct socket *sock;
*err = -EBADF; *err = -EBADF;
file = fget_light(fd, fput_needed); if (f.file) {
if (file) { sock = sock_from_file(f.file, err);
sock = sock_from_file(file, err); if (likely(sock)) {
if (sock) *fput_needed = f.flags;
return sock; return sock;
fput_light(file, *fput_needed); }
fdput(f);
} }
return NULL; return NULL;
} }