]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/suse-2.6.27.39/patches.suse/SoN-22-netvm-sk_filter.patch
Fix oinkmaster patch.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.suse / SoN-22-netvm-sk_filter.patch
CommitLineData
2cb7cef9
BS
1From: Peter Zijlstra <a.p.zijlstra@chello.nl>
2Subject: netvm: filter emergency skbs.
3Patch-mainline: No
4References: FATE#303834
5
6Toss all emergency packets not for a SOCK_MEMALLOC socket. This ensures our
7precious memory reserve doesn't get stuck waiting for user-space.
8
9The correctness of this approach relies on the fact that networks must be
10assumed lossy.
11
12Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
13Acked-by: Neil Brown <neilb@suse.de>
14Acked-by: Suresh Jayaraman <sjayaraman@suse.de>
15
16---
17 net/core/filter.c | 3 +++
18 1 file changed, 3 insertions(+)
19
20Index: 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;