diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2010-08-14 22:38:09 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-14 22:38:09 -0700 |
commit | 2f09a4d5daaa36690d506fafda9c24f2be866f6b (patch) | |
tree | 3ad73903ae199c4bc47d029fed7f346ce6406b25 /net | |
parent | 3c09e2647b5e1f1f9fd383971468823c2505e1b0 (diff) | |
download | op-kernel-dev-2f09a4d5daaa36690d506fafda9c24f2be866f6b.zip op-kernel-dev-2f09a4d5daaa36690d506fafda9c24f2be866f6b.tar.gz |
xfrm: Use GFP_ATOMIC in xfrm_compile_policy
As xfrm_compile_policy runs within a read_lock, we cannot use
GFP_KERNEL for memory allocations.
Reported-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/xfrm/xfrm_user.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index ba59983..b14ed4b 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -2504,7 +2504,7 @@ static struct xfrm_policy *xfrm_compile_policy(struct sock *sk, int opt, if (p->dir > XFRM_POLICY_OUT) return NULL; - xp = xfrm_policy_alloc(net, GFP_KERNEL); + xp = xfrm_policy_alloc(net, GFP_ATOMIC); if (xp == NULL) { *dir = -ENOBUFS; return NULL; |