aboutsummaryrefslogtreecommitdiffstats
path: root/net/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/socket.c')
-rw-r--r--net/socket.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/socket.c b/net/socket.c
index 8a109012608a..2cdbe8f71b7f 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -411,7 +411,7 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname)
411 411
412 d_instantiate(path.dentry, SOCK_INODE(sock)); 412 d_instantiate(path.dentry, SOCK_INODE(sock));
413 413
414 file = alloc_file(&path, FMODE_READ | FMODE_WRITE, 414 file = alloc_file(&path, O_RDWR | (flags & O_NONBLOCK),
415 &socket_file_ops); 415 &socket_file_ops);
416 if (IS_ERR(file)) { 416 if (IS_ERR(file)) {
417 /* drop dentry, keep inode for a bit */ 417 /* drop dentry, keep inode for a bit */
@@ -423,7 +423,6 @@ struct file *sock_alloc_file(struct socket *sock, int flags, const char *dname)
423 } 423 }
424 424
425 sock->file = file; 425 sock->file = file;
426 file->f_flags = O_RDWR | (flags & O_NONBLOCK);
427 file->private_data = sock; 426 file->private_data = sock;
428 return file; 427 return file;
429} 428}