diff options
| author | David Woodhouse <dwmw2@infradead.org> | 2007-08-23 05:43:14 -0400 |
|---|---|---|
| committer | David Woodhouse <dwmw2@infradead.org> | 2007-08-23 05:43:14 -0400 |
| commit | ac0c955d5048c2c580fa7166a89133f0fd76c125 (patch) | |
| tree | 041ac4fb544c7244a1a0b35c8ceabc142d5645c1 /net/sunrpc/auth_gss | |
| parent | 68d09b1b6780415d82160f6b6d88e82bd724e691 (diff) | |
| parent | b377fd3982ad957c796758a90e2988401a884241 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'net/sunrpc/auth_gss')
| -rw-r--r-- | net/sunrpc/auth_gss/auth_gss.c | 9 | ||||
| -rw-r--r-- | net/sunrpc/auth_gss/svcauth_gss.c | 1 |
2 files changed, 6 insertions, 4 deletions
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 4bbc59cc237c..53995af9ca4b 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
| @@ -736,9 +736,6 @@ gss_do_free_ctx(struct gss_cl_ctx *ctx) | |||
| 736 | { | 736 | { |
| 737 | dprintk("RPC: gss_free_ctx\n"); | 737 | dprintk("RPC: gss_free_ctx\n"); |
| 738 | 738 | ||
| 739 | if (ctx->gc_gss_ctx) | ||
| 740 | gss_delete_sec_context(&ctx->gc_gss_ctx); | ||
| 741 | |||
| 742 | kfree(ctx->gc_wire_ctx.data); | 739 | kfree(ctx->gc_wire_ctx.data); |
| 743 | kfree(ctx); | 740 | kfree(ctx); |
| 744 | } | 741 | } |
| @@ -753,7 +750,13 @@ gss_free_ctx_callback(struct rcu_head *head) | |||
| 753 | static void | 750 | static void |
| 754 | gss_free_ctx(struct gss_cl_ctx *ctx) | 751 | gss_free_ctx(struct gss_cl_ctx *ctx) |
| 755 | { | 752 | { |
| 753 | struct gss_ctx *gc_gss_ctx; | ||
| 754 | |||
| 755 | gc_gss_ctx = rcu_dereference(ctx->gc_gss_ctx); | ||
| 756 | rcu_assign_pointer(ctx->gc_gss_ctx, NULL); | ||
| 756 | call_rcu(&ctx->gc_rcu, gss_free_ctx_callback); | 757 | call_rcu(&ctx->gc_rcu, gss_free_ctx_callback); |
| 758 | if (gc_gss_ctx) | ||
| 759 | gss_delete_sec_context(&gc_gss_ctx); | ||
| 757 | } | 760 | } |
| 758 | 761 | ||
| 759 | static void | 762 | static void |
diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c index dc2f41e9f577..7da7050f06c3 100644 --- a/net/sunrpc/auth_gss/svcauth_gss.c +++ b/net/sunrpc/auth_gss/svcauth_gss.c | |||
| @@ -42,7 +42,6 @@ | |||
| 42 | #include <linux/pagemap.h> | 42 | #include <linux/pagemap.h> |
| 43 | 43 | ||
| 44 | #include <linux/sunrpc/auth_gss.h> | 44 | #include <linux/sunrpc/auth_gss.h> |
| 45 | #include <linux/sunrpc/svcauth.h> | ||
| 46 | #include <linux/sunrpc/gss_err.h> | 45 | #include <linux/sunrpc/gss_err.h> |
| 47 | #include <linux/sunrpc/svcauth.h> | 46 | #include <linux/sunrpc/svcauth.h> |
| 48 | #include <linux/sunrpc/svcauth_gss.h> | 47 | #include <linux/sunrpc/svcauth_gss.h> |
