]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.suse/SoN-22-netvm-sk_filter.patch
Updated xen patches taken from suse.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.suse / SoN-22-netvm-sk_filter.patch
1 From: Peter Zijlstra <a.p.zijlstra@chello.nl>
2 Subject: netvm: filter emergency skbs.
3 Patch-mainline: No
4 References: FATE#303834
5
6 Toss all emergency packets not for a SOCK_MEMALLOC socket. This ensures our
7 precious memory reserve doesn't get stuck waiting for user-space.
8
9 The correctness of this approach relies on the fact that networks must be
10 assumed lossy.
11
12 Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
13 Acked-by: Neil Brown <neilb@suse.de>
14 Acked-by: Suresh Jayaraman <sjayaraman@suse.de>
15
16 ---
17 net/core/filter.c | 3 +++
18 1 file changed, 3 insertions(+)
19
20 Index: linux-2.6/net/core/filter.c
21 ===================================================================
22 --- linux-2.6.orig/net/core/filter.c
23 +++ linux-2.6/net/core/filter.c
24 @@ -81,6 +81,9 @@ int sk_filter(struct sock *sk, struct sk
25 int err;
26 struct sk_filter *filter;
27
28 + if (skb_emergency(skb) && !sk_has_memalloc(sk))
29 + return -ENOMEM;
30 +
31 err = security_sock_rcv_skb(sk, skb);
32 if (err)
33 return err;