aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/socket.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/net/socket.c b/net/socket.c
index 4e396312f8d5..fc74930f1443 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -407,24 +407,11 @@ int sock_map_fd(struct socket *sock)
407 407
408static struct socket *sock_from_file(struct file *file, int *err) 408static struct socket *sock_from_file(struct file *file, int *err)
409{ 409{
410 struct inode *inode;
411 struct socket *sock;
412
413 if (file->f_op == &socket_file_ops) 410 if (file->f_op == &socket_file_ops)
414 return file->private_data; /* set in sock_map_fd */ 411 return file->private_data; /* set in sock_map_fd */
415 412
416 inode = file->f_path.dentry->d_inode; 413 *err = -ENOTSOCK;
417 if (!S_ISSOCK(inode->i_mode)) { 414 return NULL;
418 *err = -ENOTSOCK;
419 return NULL;
420 }
421
422 sock = SOCKET_I(inode);
423 if (sock->file != file) {
424 printk(KERN_ERR "socki_lookup: socket file changed!\n");
425 sock->file = file;
426 }
427 return sock;
428} 415}
429 416
430/** 417/**