diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-02-15 11:48:28 -0500 |
---|---|---|
committer | Christoph Lameter <clameter@sgi.com> | 2008-02-15 11:48:28 -0500 |
commit | 6f157c1d268d5888ca44c589dccd01729c4172f6 (patch) | |
tree | e439df35a39c06df3665ec30b406406f08e82177 /net | |
parent | c5974932c1e8514d3478573bb52beebeb2c786dd (diff) | |
parent | 4ee29f6a52158cea526b16a44ae38643946103ec (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/rpc_pipe.c | 7 | ||||
-rw-r--r-- | net/unix/af_unix.c | 26 |
2 files changed, 17 insertions, 16 deletions
diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 0e3ead7e11b9..1b395a41a8b2 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c | |||
@@ -495,7 +495,7 @@ rpc_lookup_parent(char *path, struct nameidata *nd) | |||
495 | static void | 495 | static void |
496 | rpc_release_path(struct nameidata *nd) | 496 | rpc_release_path(struct nameidata *nd) |
497 | { | 497 | { |
498 | path_release(nd); | 498 | path_put(&nd->path); |
499 | rpc_put_mount(); | 499 | rpc_put_mount(); |
500 | } | 500 | } |
501 | 501 | ||
@@ -668,7 +668,8 @@ rpc_lookup_negative(char *path, struct nameidata *nd) | |||
668 | 668 | ||
669 | if ((error = rpc_lookup_parent(path, nd)) != 0) | 669 | if ((error = rpc_lookup_parent(path, nd)) != 0) |
670 | return ERR_PTR(error); | 670 | return ERR_PTR(error); |
671 | dentry = rpc_lookup_create(nd->dentry, nd->last.name, nd->last.len, 1); | 671 | dentry = rpc_lookup_create(nd->path.dentry, nd->last.name, nd->last.len, |
672 | 1); | ||
672 | if (IS_ERR(dentry)) | 673 | if (IS_ERR(dentry)) |
673 | rpc_release_path(nd); | 674 | rpc_release_path(nd); |
674 | return dentry; | 675 | return dentry; |
@@ -695,7 +696,7 @@ rpc_mkdir(char *path, struct rpc_clnt *rpc_client) | |||
695 | dentry = rpc_lookup_negative(path, &nd); | 696 | dentry = rpc_lookup_negative(path, &nd); |
696 | if (IS_ERR(dentry)) | 697 | if (IS_ERR(dentry)) |
697 | return dentry; | 698 | return dentry; |
698 | dir = nd.dentry->d_inode; | 699 | dir = nd.path.dentry->d_inode; |
699 | if ((error = __rpc_mkdir(dir, dentry)) != 0) | 700 | if ((error = __rpc_mkdir(dir, dentry)) != 0) |
700 | goto err_dput; | 701 | goto err_dput; |
701 | RPC_I(dentry->d_inode)->private = rpc_client; | 702 | RPC_I(dentry->d_inode)->private = rpc_client; |
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index eea75888805e..b8788fd5e3c6 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -718,16 +718,16 @@ static struct sock *unix_find_other(struct net *net, | |||
718 | goto put_fail; | 718 | goto put_fail; |
719 | 719 | ||
720 | err = -ECONNREFUSED; | 720 | err = -ECONNREFUSED; |
721 | if (!S_ISSOCK(nd.dentry->d_inode->i_mode)) | 721 | if (!S_ISSOCK(nd.path.dentry->d_inode->i_mode)) |
722 | goto put_fail; | 722 | goto put_fail; |
723 | u=unix_find_socket_byinode(net, nd.dentry->d_inode); | 723 | u = unix_find_socket_byinode(net, nd.path.dentry->d_inode); |
724 | if (!u) | 724 | if (!u) |
725 | goto put_fail; | 725 | goto put_fail; |
726 | 726 | ||
727 | if (u->sk_type == type) | 727 | if (u->sk_type == type) |
728 | touch_atime(nd.mnt, nd.dentry); | 728 | touch_atime(nd.path.mnt, nd.path.dentry); |
729 | 729 | ||
730 | path_release(&nd); | 730 | path_put(&nd.path); |
731 | 731 | ||
732 | err=-EPROTOTYPE; | 732 | err=-EPROTOTYPE; |
733 | if (u->sk_type != type) { | 733 | if (u->sk_type != type) { |
@@ -748,7 +748,7 @@ static struct sock *unix_find_other(struct net *net, | |||
748 | return u; | 748 | return u; |
749 | 749 | ||
750 | put_fail: | 750 | put_fail: |
751 | path_release(&nd); | 751 | path_put(&nd.path); |
752 | fail: | 752 | fail: |
753 | *error=err; | 753 | *error=err; |
754 | return NULL; | 754 | return NULL; |
@@ -819,12 +819,12 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
819 | */ | 819 | */ |
820 | mode = S_IFSOCK | | 820 | mode = S_IFSOCK | |
821 | (SOCK_INODE(sock)->i_mode & ~current->fs->umask); | 821 | (SOCK_INODE(sock)->i_mode & ~current->fs->umask); |
822 | err = vfs_mknod(nd.dentry->d_inode, dentry, mode, 0); | 822 | err = vfs_mknod(nd.path.dentry->d_inode, dentry, mode, 0); |
823 | if (err) | 823 | if (err) |
824 | goto out_mknod_dput; | 824 | goto out_mknod_dput; |
825 | mutex_unlock(&nd.dentry->d_inode->i_mutex); | 825 | mutex_unlock(&nd.path.dentry->d_inode->i_mutex); |
826 | dput(nd.dentry); | 826 | dput(nd.path.dentry); |
827 | nd.dentry = dentry; | 827 | nd.path.dentry = dentry; |
828 | 828 | ||
829 | addr->hash = UNIX_HASH_SIZE; | 829 | addr->hash = UNIX_HASH_SIZE; |
830 | } | 830 | } |
@@ -842,8 +842,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) | |||
842 | list = &unix_socket_table[addr->hash]; | 842 | list = &unix_socket_table[addr->hash]; |
843 | } else { | 843 | } else { |
844 | list = &unix_socket_table[dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1)]; | 844 | list = &unix_socket_table[dentry->d_inode->i_ino & (UNIX_HASH_SIZE-1)]; |
845 | u->dentry = nd.dentry; | 845 | u->dentry = nd.path.dentry; |
846 | u->mnt = nd.mnt; | 846 | u->mnt = nd.path.mnt; |
847 | } | 847 | } |
848 | 848 | ||
849 | err = 0; | 849 | err = 0; |
@@ -861,8 +861,8 @@ out: | |||
861 | out_mknod_dput: | 861 | out_mknod_dput: |
862 | dput(dentry); | 862 | dput(dentry); |
863 | out_mknod_unlock: | 863 | out_mknod_unlock: |
864 | mutex_unlock(&nd.dentry->d_inode->i_mutex); | 864 | mutex_unlock(&nd.path.dentry->d_inode->i_mutex); |
865 | path_release(&nd); | 865 | path_put(&nd.path); |
866 | out_mknod_parent: | 866 | out_mknod_parent: |
867 | if (err==-EEXIST) | 867 | if (err==-EEXIST) |
868 | err=-EADDRINUSE; | 868 | err=-EADDRINUSE; |