From b6a865931a7c70d84a15058ba13de69b517ebfb4 Mon Sep 17 00:00:00 2001 From: Benjamin LaHaise Date: Wed, 10 Aug 2005 14:16:04 -0700 Subject: [PATCH] --- yaml --- r: 6331 b: refs/heads/master c: 07dc3f0718d2c88c3094a0aadeeb4744effc5439 h: refs/heads/master i: 6329: c5d6ddef88587e6a8d724467fbd29e340f86f74d 6327: a7f9449f7de9ac2e16dc3b94c8be5e15fcd526ce v: v3 --- [refs] | 2 +- trunk/net/socket.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b605a768635e..9cf9400b3e85 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cef07fd6029c20f95571d09cefce45ee3276a920 +refs/heads/master: 07dc3f0718d2c88c3094a0aadeeb4744effc5439 diff --git a/trunk/net/socket.c b/trunk/net/socket.c index 6f2a17881972..5f76ab8a1594 100644 --- a/trunk/net/socket.c +++ b/trunk/net/socket.c @@ -404,6 +404,7 @@ int sock_map_fd(struct socket *sock) file->f_mode = FMODE_READ | FMODE_WRITE; file->f_flags = O_RDWR; file->f_pos = 0; + file->private_data = sock; fd_install(fd, file); } @@ -436,6 +437,9 @@ struct socket *sockfd_lookup(int fd, int *err) return NULL; } + if (file->f_op == &socket_file_ops) + return file->private_data; /* set in sock_map_fd */ + inode = file->f_dentry->d_inode; if (!S_ISSOCK(inode->i_mode)) { *err = -ENOTSOCK;