2014-09-02 14:15:45

by Kinglong Mee

[permalink] [raw]
Subject: [PATCH 6/6] NFSD: Put export if prepare_creds() fail

Signed-off-by: Kinglong Mee <[email protected]>
---
fs/nfsd/nfsfh.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
index e883a58..88026fc 100644
--- a/fs/nfsd/nfsfh.c
+++ b/fs/nfsd/nfsfh.c
@@ -209,8 +209,10 @@ static __be32 nfsd_set_fh_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp)
* fix that case easily.
*/
struct cred *new = prepare_creds();
- if (!new)
- return nfserrno(-ENOMEM);
+ if (!new) {
+ error = nfserrno(-ENOMEM);
+ goto out;
+ }
new->cap_effective =
cap_raise_nfsd_set(new->cap_effective,
new->cap_permitted);
--
1.9.3



2014-09-03 21:36:09

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH 6/6] NFSD: Put export if prepare_creds() fail

Thanks, applying all 6 for 3.18.

--b.

On Tue, Sep 02, 2014 at 10:15:26PM +0800, Kinglong Mee wrote:
> Signed-off-by: Kinglong Mee <[email protected]>
> ---
> fs/nfsd/nfsfh.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c
> index e883a58..88026fc 100644
> --- a/fs/nfsd/nfsfh.c
> +++ b/fs/nfsd/nfsfh.c
> @@ -209,8 +209,10 @@ static __be32 nfsd_set_fh_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp)
> * fix that case easily.
> */
> struct cred *new = prepare_creds();
> - if (!new)
> - return nfserrno(-ENOMEM);
> + if (!new) {
> + error = nfserrno(-ENOMEM);
> + goto out;
> + }
> new->cap_effective =
> cap_raise_nfsd_set(new->cap_effective,
> new->cap_permitted);
> --
> 1.9.3
>