All of lore.kernel.org
 help / color / mirror / Atom feed
From: Trond Myklebust <Trond.Myklebust@netapp.com>
To: Neil Brown <neilb@suse.de>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH/RFC]  Make nfs_file_cred more robust.
Date: Wed, 15 Oct 2008 18:44:58 -0400	[thread overview]
Message-ID: <1224110698.7371.50.camel@localhost> (raw)
In-Reply-To: <18678.28273.285015.747371-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>

On Thu, 2008-10-16 at 09:28 +1100, Neil Brown wrote:
> Hi Trond,
>  I wonder if you would consider including the following patch which
>  makes nfs_file_cred a little more robust.
> 
>  It isn't strictly needed with current mainline.  However we have a patch
>  set which (among other things) passes a 'struct file' down (via
>  ATTR_FILE) for a chmod call.
>  If chmod is called on e.g. a device special file, this will cause
>  nfs3_proc_setattr to call nfs_file_cred on a 'struct file' which does
>  not have an associated open context or credential.  That goes Oops.
> 
>  Thanks for your consideration,
> NeilBrown

Hi Neil,

Won't this still end up exploding in nfs4_proc_setattr?

Cheers
  Trond

> --------------
> 
> From: NeilBrown <neilb@suse.de>
> 
> As not all files have an associated open_context (e.g. device special
> files), it is safest to test for the existence of the open context
> before de-referencing it.
> 
> Signed-off-by: NeilBrown <neilb@suse.de>
> 
> 
> diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
> index 78a5922..63bf8f0 100644
> --- a/include/linux/nfs_fs.h
> +++ b/include/linux/nfs_fs.h
> @@ -372,8 +372,12 @@ static inline struct nfs_open_context *nfs_file_open_context(struct file *filp)
>  
>  static inline struct rpc_cred *nfs_file_cred(struct file *file)
>  {
> -	if (file != NULL)
> -		return nfs_file_open_context(file)->cred;
> +	if (file != NULL) {
> +		struct nfs_open_context *ctx =
> +			nfs_file_open_context(file);
> +		if (ctx)
> +			return ctx->cred;
> +	}
>  	return NULL;
>  }
>  
-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@netapp.com
www.netapp.com

  parent reply	other threads:[~2008-10-15 22:45 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-15 22:28 [PATCH/RFC] Make nfs_file_cred more robust Neil Brown
     [not found] ` <18678.28273.285015.747371-wvvUuzkyo1EYVZTmpyfIwg@public.gmane.org>
2008-10-15 22:44   ` Trond Myklebust [this message]
2008-10-16  3:15     ` Neil Brown

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=1224110698.7371.50.camel@localhost \
    --to=trond.myklebust@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=neilb@suse.de \
    /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.