]>
Commit | Line | Data |
---|---|---|
49f412f4 GKH |
1 | From 4502403dcf8f5c76abd4dbab8726c8e4ecb5cd34 Mon Sep 17 00:00:00 2001 |
2 | From: Dan Carpenter <dan.carpenter@oracle.com> | |
3 | Date: Sat, 16 Mar 2013 12:48:11 +0300 | |
4 | Subject: selinux: use GFP_ATOMIC under spin_lock | |
5 | ||
6 | From: Dan Carpenter <dan.carpenter@oracle.com> | |
7 | ||
8 | commit 4502403dcf8f5c76abd4dbab8726c8e4ecb5cd34 upstream. | |
9 | ||
10 | The call tree here is: | |
11 | ||
12 | sk_clone_lock() <- takes bh_lock_sock(newsk); | |
13 | xfrm_sk_clone_policy() | |
14 | __xfrm_sk_clone_policy() | |
15 | clone_policy() <- uses GFP_ATOMIC for allocations | |
16 | security_xfrm_policy_clone() | |
17 | security_ops->xfrm_policy_clone_security() | |
18 | selinux_xfrm_policy_clone() | |
19 | ||
20 | Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> | |
21 | Signed-off-by: James Morris <james.l.morris@oracle.com> | |
22 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
23 | ||
24 | --- | |
25 | security/selinux/xfrm.c | 2 +- | |
26 | 1 file changed, 1 insertion(+), 1 deletion(-) | |
27 | ||
28 | --- a/security/selinux/xfrm.c | |
29 | +++ b/security/selinux/xfrm.c | |
30 | @@ -310,7 +310,7 @@ int selinux_xfrm_policy_clone(struct xfr | |
31 | ||
32 | if (old_ctx) { | |
33 | new_ctx = kmalloc(sizeof(*old_ctx) + old_ctx->ctx_len, | |
34 | - GFP_KERNEL); | |
35 | + GFP_ATOMIC); | |
36 | if (!new_ctx) | |
37 | return -ENOMEM; | |
38 |