X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=blobdiff_plain;f=net%2Fsocket.c;h=741b3256b3b6978ce2fea6dc75d783d09f6e708a;hp=1afd1123400620fcb554170ac0877c80de90d643;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hpb=e3f6fb6212a7102bdb56ba38fa1e98fe72950475 diff --git a/net/socket.c b/net/socket.c index 1afd11234..741b3256b 100644 --- a/net/socket.c +++ b/net/socket.c @@ -4,7 +4,7 @@ * Version: @(#)socket.c 1.1.93 18/02/95 * * Authors: Orest Zborowski, - * Ross Biro, + * Ross Biro * Fred N. van Kempen, * * Fixes: @@ -438,13 +438,13 @@ struct socket *sockfd_lookup(int fd, int *err) } inode = file->f_dentry->d_inode; - if (!inode->i_sock || !(sock = SOCKET_I(inode))) - { + if (!S_ISSOCK(inode->i_mode)) { *err = -ENOTSOCK; fput(file); return NULL; } + sock = SOCKET_I(inode); if (sock->file != file) { printk(KERN_ERR "socki_lookup: socket file changed!\n"); sock->file = file; @@ -472,7 +472,6 @@ static struct socket *sock_alloc(void) sock = SOCKET_I(inode); inode->i_mode = S_IFSOCK|S_IRWXUGO; - inode->i_sock = 1; inode->i_uid = current->fsuid; inode->i_gid = current->fsgid; @@ -1018,8 +1017,7 @@ static int sock_fasync(int fd, struct file *filp, int on) sock = SOCKET_I(filp->f_dentry->d_inode); if ((sk=sock->sk) == NULL) { - if (fna) - kfree(fna); + kfree(fna); return -EINVAL; }