diff options
Diffstat (limited to 'net/socket.c')
| -rw-r--r-- | net/socket.c | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/net/socket.c b/net/socket.c index 6bae8ce7059e..9c92c0e6c4da 100644 --- a/net/socket.c +++ b/net/socket.c @@ -450,7 +450,9 @@ static struct file_system_type sock_fs_type = {   *   *	Returns the &file bound with @sock, implicitly storing it   *	in sock->file. If dname is %NULL, sets to "". - *	On failure the return is a ERR pointer (see linux/err.h). + * + *	On failure @sock is released, and an ERR pointer is returned. + *   *	This function uses GFP_KERNEL internally.   */ @@ -1638,7 +1640,6 @@ static struct socket *__sys_socket_create(int family, int type, int protocol)  struct file *__sys_socket_file(int family, int type, int protocol)  {  	struct socket *sock; -	struct file *file;  	int flags;  	sock = __sys_socket_create(family, type, protocol); @@ -1649,11 +1650,7 @@ struct file *__sys_socket_file(int family, int type, int protocol)  	if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK))  		flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK; -	file = sock_alloc_file(sock, flags, NULL); -	if (IS_ERR(file)) -		sock_release(sock); - -	return file; +	return sock_alloc_file(sock, flags, NULL);  }  int __sys_socket(int family, int type, int protocol)  |