diff options
author | Willy Tarreau <w@1wt.eu> | 2014-11-16 18:17:45 +0100 |
---|---|---|
committer | Stefan Bader <stefan.bader@canonical.com> | 2014-11-25 15:20:26 +0100 |
commit | fcbfe9109c12efad93b6d61efcaf7f8fc1067e3a (patch) | |
tree | 2263bc55b95e4ad1f1fbbd0df17c61a920e5204d | |
parent | ac009eb275ea91292fcab2d7a80ccdc6abcc9f07 (diff) | |
download | linux-2.6.32.y-drm33.z-fcbfe9109c12efad93b6d61efcaf7f8fc1067e3a.tar.gz |
Revert "nfsd: correctly handle return value from nfsd_map_name_to_*"
This reverts commit 63d059e73ff4574b79bd8aa252b5fc00b6326ddf.
On Wed, Sep 03, 2014 at 11:28:43AM +1000, NeilBrown wrote:
>
> 2.6.32.30 contains:
>
> commit 63d059e73ff4574b79bd8aa252b5fc00b6326ddf
> Author: NeilBrown <neilb@suse.de>
> Date: Wed Feb 16 13:08:35 2011 +1100
>
> nfsd: correctly handle return value from nfsd_map_name_to_*
>
> commit 47c85291d3dd1a51501555000b90f8e281a0458e upstream.
>
> These functions return an nfs status, not a host_err. So don't
> try to convert before returning.
>
> This is a regression introduced by
> 3c726023402a2f3b28f49b9d90ebf9e71151157d; I fixed up two of the callers,
> but missed these two.
>
> Reported-by: Herbert Poetzl <herbert@13thfloor.at>
> Signed-off-by: NeilBrown <neilb@suse.de>
> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>
>
> But it does *not* contain a backport of
> 3c726023402a2f3b28f49b9d90ebf9e71151157d.
>
> So rather an fixing a regression, it introduces one.
>
> This patch should be reverted.
>
> See also https://bugzilla.novell.com/show_bug.cgi?id=893787
>
> NeilBrown
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index ab87b056b0c8da..05990b61e9daef 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -323,8 +323,8 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, READ_BUF(dummy32); len += (XDR_QUADLEN(dummy32) << 2); READMEM(buf, dummy32); - if ((status = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &iattr->ia_uid))) - return status; + if ((host_err = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &iattr->ia_uid))) + goto out_nfserr; iattr->ia_valid |= ATTR_UID; } if (bmval[1] & FATTR4_WORD1_OWNER_GROUP) { @@ -334,8 +334,8 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, READ_BUF(dummy32); len += (XDR_QUADLEN(dummy32) << 2); READMEM(buf, dummy32); - if ((status = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &iattr->ia_gid))) - return status; + if ((host_err = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &iattr->ia_gid))) + goto out_nfserr; iattr->ia_valid |= ATTR_GID; } if (bmval[1] & FATTR4_WORD1_TIME_ACCESS_SET) { |