diff options
| -rw-r--r-- | net/socket.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c index 42d8e9c9ccd5..82433a2200ec 100644 --- a/net/socket.c +++ b/net/socket.c | |||
| @@ -432,8 +432,10 @@ static int sock_map_fd(struct socket *sock, int flags) | |||
| 432 | { | 432 | { |
| 433 | struct file *newfile; | 433 | struct file *newfile; |
| 434 | int fd = get_unused_fd_flags(flags); | 434 | int fd = get_unused_fd_flags(flags); |
| 435 | if (unlikely(fd < 0)) | 435 | if (unlikely(fd < 0)) { |
| 436 | sock_release(sock); | ||
| 436 | return fd; | 437 | return fd; |
| 438 | } | ||
| 437 | 439 | ||
| 438 | newfile = sock_alloc_file(sock, flags, NULL); | 440 | newfile = sock_alloc_file(sock, flags, NULL); |
| 439 | if (likely(!IS_ERR(newfile))) { | 441 | if (likely(!IS_ERR(newfile))) { |
