Message ID | 1425936003-24544-1-git-send-email-zenczykowski@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
diff --git a/net/socket.c b/net/socket.c index 95d3085cb477..323ebd530b88 100644 --- a/net/socket.c +++ b/net/socket.c @@ -397,13 +397,13 @@ static int sock_map_fd(struct socket *sock, int flags) return fd; newfile = sock_alloc_file(sock, flags, NULL); - if (likely(!IS_ERR(newfile))) { - fd_install(fd, newfile); - return fd; + if (unlikely(IS_ERR(newfile))) { + put_unused_fd(fd); + return PTR_ERR(newfile); } - put_unused_fd(fd); - return PTR_ERR(newfile); + fd_install(fd, newfile); + return fd; } struct socket *sock_from_file(struct file *file, int *err)