diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-05-13 12:51:02 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2010-05-14 15:09:33 -0400 |
commit | 1f4c86c0be9064ab4eebd9e67c84606c1cfeec4b (patch) | |
tree | 6ae9e8e6550f644335bbf6812edd7e6cfcde7e53 /include/linux/sunrpc | |
parent | 8535b2be5181fc3019e4150567ef53210fe3b04f (diff) |
NFS: Don't use GFP_KERNEL in rpcsec_gss downcalls
Again, we can deadlock if the memory reclaim triggers a writeback that
requires a rpcsec_gss credential lookup.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/gss_api.h | 6 | ||||
-rw-r--r-- | include/linux/sunrpc/gss_krb5.h | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/sunrpc/gss_api.h b/include/linux/sunrpc/gss_api.h index b22d7f189ceb..5d8048beb051 100644 --- a/include/linux/sunrpc/gss_api.h +++ b/include/linux/sunrpc/gss_api.h | |||
@@ -35,7 +35,8 @@ int gss_import_sec_context( | |||
35 | const void* input_token, | 35 | const void* input_token, |
36 | size_t bufsize, | 36 | size_t bufsize, |
37 | struct gss_api_mech *mech, | 37 | struct gss_api_mech *mech, |
38 | struct gss_ctx **ctx_id); | 38 | struct gss_ctx **ctx_id, |
39 | gfp_t gfp_mask); | ||
39 | u32 gss_get_mic( | 40 | u32 gss_get_mic( |
40 | struct gss_ctx *ctx_id, | 41 | struct gss_ctx *ctx_id, |
41 | struct xdr_buf *message, | 42 | struct xdr_buf *message, |
@@ -89,7 +90,8 @@ struct gss_api_ops { | |||
89 | int (*gss_import_sec_context)( | 90 | int (*gss_import_sec_context)( |
90 | const void *input_token, | 91 | const void *input_token, |
91 | size_t bufsize, | 92 | size_t bufsize, |
92 | struct gss_ctx *ctx_id); | 93 | struct gss_ctx *ctx_id, |
94 | gfp_t gfp_mask); | ||
93 | u32 (*gss_get_mic)( | 95 | u32 (*gss_get_mic)( |
94 | struct gss_ctx *ctx_id, | 96 | struct gss_ctx *ctx_id, |
95 | struct xdr_buf *message, | 97 | struct xdr_buf *message, |
diff --git a/include/linux/sunrpc/gss_krb5.h b/include/linux/sunrpc/gss_krb5.h index 5e774a5abf2c..5af2931cf58d 100644 --- a/include/linux/sunrpc/gss_krb5.h +++ b/include/linux/sunrpc/gss_krb5.h | |||
@@ -295,7 +295,8 @@ u32 | |||
295 | krb5_derive_key(const struct gss_krb5_enctype *gk5e, | 295 | krb5_derive_key(const struct gss_krb5_enctype *gk5e, |
296 | const struct xdr_netobj *inkey, | 296 | const struct xdr_netobj *inkey, |
297 | struct xdr_netobj *outkey, | 297 | struct xdr_netobj *outkey, |
298 | const struct xdr_netobj *in_constant); | 298 | const struct xdr_netobj *in_constant, |
299 | gfp_t gfp_mask); | ||
299 | 300 | ||
300 | u32 | 301 | u32 |
301 | gss_krb5_des3_make_key(const struct gss_krb5_enctype *gk5e, | 302 | gss_krb5_des3_make_key(const struct gss_krb5_enctype *gk5e, |