diff options
author | Neil Brown <neilb@suse.de> | 2008-10-15 23:15:16 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-10-17 13:06:45 -0400 |
commit | 504e518953a330c8d44a95bdd65a5c9f50f1012e (patch) | |
tree | 383df8cd12bebecd9bcf7714b6d8b07324a6353f /include/linux/nfs_fs.h | |
parent | 18de9735300756e3ca9c361ef58409d8561dfe0d (diff) |
Make nfs_file_cred more robust.
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>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index ac8d0233b05..4eaa8347a0d 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -367,8 +367,12 @@ static inline struct nfs_open_context *nfs_file_open_context(struct file *filp) | |||
367 | 367 | ||
368 | static inline struct rpc_cred *nfs_file_cred(struct file *file) | 368 | static inline struct rpc_cred *nfs_file_cred(struct file *file) |
369 | { | 369 | { |
370 | if (file != NULL) | 370 | if (file != NULL) { |
371 | return nfs_file_open_context(file)->cred; | 371 | struct nfs_open_context *ctx = |
372 | nfs_file_open_context(file); | ||
373 | if (ctx) | ||
374 | return ctx->cred; | ||
375 | } | ||
372 | return NULL; | 376 | return NULL; |
373 | } | 377 | } |
374 | 378 | ||