From: Anna Schumaker <Anna.Schumaker@netapp.com>
To: Jeff Layton <jlayton@poochiereds.net>, <trond.myklebust@primarydata.com>
Cc: <Anna.Schumaker@netapp.com>, <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH] nfs: allow nfs4_label_free to ignore a PTR_ERR value
Date: Tue, 11 Aug 2015 13:32:05 -0400 [thread overview]
Message-ID: <55CA3195.4000601@Netapp.com> (raw)
In-Reply-To: <1439313239-30593-1-git-send-email-jeff.layton@primarydata.com>
Hi Jeff,
On 08/11/2015 01:13 PM, Jeff Layton wrote:
> nfs4_label_alloc is a little odd in that a NULL return means "label is
> not needed" and a PTR_ERR return means an actual error. In at least one
> place however (nfs_lookup_revalidate) we can end up passing an error
> value to nfs4_label_free, which will likely lead to an oops.
>
> We could fix that one caller, but I think just allowing the free to
> accept and ignore PTR_ERR values is probably appropriate given how the
> allocation works.
This makes sense, but I wonder if there are other functions that may-or-may-not allocate a structure without it being considered an error? Does nfs4_label_alloc() match what other functions do?
Thanks,
Anna
>
> Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
> ---
> fs/nfs/internal.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
> index 9b372b845f6a..44bc298f6216 100644
> --- a/fs/nfs/internal.h
> +++ b/fs/nfs/internal.h
> @@ -312,13 +312,13 @@ nfs4_label_copy(struct nfs4_label *dst, struct nfs4_label *src)
>
> return dst;
> }
> +
> static inline void nfs4_label_free(struct nfs4_label *label)
> {
> - if (label) {
> - kfree(label->label);
> - kfree(label);
> - }
> - return;
> + if (IS_ERR_OR_NULL(label))
> + return;
> + kfree(label->label);
> + kfree(label);
> }
>
> static inline void nfs_zap_label_cache_locked(struct nfs_inode *nfsi)
>
next prev parent reply other threads:[~2015-08-11 17:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-11 17:13 [PATCH] nfs: allow nfs4_label_free to ignore a PTR_ERR value Jeff Layton
2015-08-11 17:32 ` Anna Schumaker [this message]
2015-08-11 18:45 ` Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55CA3195.4000601@Netapp.com \
--to=anna.schumaker@netapp.com \
--cc=jlayton@poochiereds.net \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@primarydata.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.