Loading net/unix/af_unix.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -305,7 +305,7 @@ static struct sock *unix_find_socket_byinode(struct inode *i) &unix_socket_table[i->i_ino & (UNIX_HASH_SIZE - 1)]) { &unix_socket_table[i->i_ino & (UNIX_HASH_SIZE - 1)]) { struct dentry *dentry = unix_sk(s)->path.dentry; struct dentry *dentry = unix_sk(s)->path.dentry; if (dentry && dentry->d_inode == i) { if (dentry && d_backing_inode(dentry) == i) { sock_hold(s); sock_hold(s); goto found; goto found; } } Loading Loading @@ -778,7 +778,7 @@ static struct sock *unix_find_other(struct net *net, err = kern_path(sunname->sun_path, LOOKUP_FOLLOW, &path); err = kern_path(sunname->sun_path, LOOKUP_FOLLOW, &path); if (err) if (err) goto fail; goto fail; inode = path.dentry->d_inode; inode = d_backing_inode(path.dentry); err = inode_permission(inode, MAY_WRITE); err = inode_permission(inode, MAY_WRITE); if (err) if (err) goto put_fail; goto put_fail; Loading Loading @@ -905,7 +905,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) goto out_up; goto out_up; } } addr->hash = UNIX_HASH_SIZE; addr->hash = UNIX_HASH_SIZE; hash = path.dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1); hash = d_backing_inode(path.dentry)->i_ino & (UNIX_HASH_SIZE-1); spin_lock(&unix_table_lock); spin_lock(&unix_table_lock); u->path = path; u->path = path; list = &unix_socket_table[hash]; list = &unix_socket_table[hash]; Loading net/unix/diag.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ static int sk_diag_dump_vfs(struct sock *sk, struct sk_buff *nlskb) if (dentry) { if (dentry) { struct unix_diag_vfs uv = { struct unix_diag_vfs uv = { .udiag_vfs_ino = dentry->d_inode->i_ino, .udiag_vfs_ino = d_backing_inode(dentry)->i_ino, .udiag_vfs_dev = dentry->d_sb->s_dev, .udiag_vfs_dev = dentry->d_sb->s_dev, }; }; Loading Loading
net/unix/af_unix.c +3 −3 Original line number Original line Diff line number Diff line Loading @@ -305,7 +305,7 @@ static struct sock *unix_find_socket_byinode(struct inode *i) &unix_socket_table[i->i_ino & (UNIX_HASH_SIZE - 1)]) { &unix_socket_table[i->i_ino & (UNIX_HASH_SIZE - 1)]) { struct dentry *dentry = unix_sk(s)->path.dentry; struct dentry *dentry = unix_sk(s)->path.dentry; if (dentry && dentry->d_inode == i) { if (dentry && d_backing_inode(dentry) == i) { sock_hold(s); sock_hold(s); goto found; goto found; } } Loading Loading @@ -778,7 +778,7 @@ static struct sock *unix_find_other(struct net *net, err = kern_path(sunname->sun_path, LOOKUP_FOLLOW, &path); err = kern_path(sunname->sun_path, LOOKUP_FOLLOW, &path); if (err) if (err) goto fail; goto fail; inode = path.dentry->d_inode; inode = d_backing_inode(path.dentry); err = inode_permission(inode, MAY_WRITE); err = inode_permission(inode, MAY_WRITE); if (err) if (err) goto put_fail; goto put_fail; Loading Loading @@ -905,7 +905,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) goto out_up; goto out_up; } } addr->hash = UNIX_HASH_SIZE; addr->hash = UNIX_HASH_SIZE; hash = path.dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1); hash = d_backing_inode(path.dentry)->i_ino & (UNIX_HASH_SIZE-1); spin_lock(&unix_table_lock); spin_lock(&unix_table_lock); u->path = path; u->path = path; list = &unix_socket_table[hash]; list = &unix_socket_table[hash]; Loading
net/unix/diag.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,7 @@ static int sk_diag_dump_vfs(struct sock *sk, struct sk_buff *nlskb) if (dentry) { if (dentry) { struct unix_diag_vfs uv = { struct unix_diag_vfs uv = { .udiag_vfs_ino = dentry->d_inode->i_ino, .udiag_vfs_ino = d_backing_inode(dentry)->i_ino, .udiag_vfs_dev = dentry->d_sb->s_dev, .udiag_vfs_dev = dentry->d_sb->s_dev, }; }; Loading