Magellan Linux

Annotation of /trunk/kernel-magellan/patches-3.17/0105-3.17.6-all-fixes.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2536 - (hide annotations) (download)
Fri Jan 30 10:05:33 2015 UTC (9 years, 3 months ago) by niro
File size: 1623 byte(s)
-linux-3.17.6
1 niro 2536 diff --git a/Makefile b/Makefile
2     index 42585f6a819a..bb43e9e6a79c 100644
3     --- a/Makefile
4     +++ b/Makefile
5     @@ -1,6 +1,6 @@
6     VERSION = 3
7     PATCHLEVEL = 17
8     -SUBLEVEL = 5
9     +SUBLEVEL = 6
10     EXTRAVERSION =
11     NAME = Shuffling Zombie Juror
12    
13     diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
14     index ec94ba94079f..de88c4ab5146 100644
15     --- a/net/netfilter/nf_conntrack_core.c
16     +++ b/net/netfilter/nf_conntrack_core.c
17     @@ -611,16 +611,12 @@ __nf_conntrack_confirm(struct sk_buff *skb)
18     */
19     NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
20     pr_debug("Confirming conntrack %p\n", ct);
21     -
22     - /* We have to check the DYING flag after unlink to prevent
23     - * a race against nf_ct_get_next_corpse() possibly called from
24     - * user context, else we insert an already 'dead' hash, blocking
25     - * further use of that particular connection -JM.
26     - */
27     - nf_ct_del_from_dying_or_unconfirmed_list(ct);
28     + /* We have to check the DYING flag inside the lock to prevent
29     + a race against nf_ct_get_next_corpse() possibly called from
30     + user context, else we insert an already 'dead' hash, blocking
31     + further use of that particular connection -JM */
32    
33     if (unlikely(nf_ct_is_dying(ct))) {
34     - nf_ct_add_to_dying_list(ct);
35     nf_conntrack_double_unlock(hash, reply_hash);
36     local_bh_enable();
37     return NF_ACCEPT;
38     @@ -640,6 +636,8 @@ __nf_conntrack_confirm(struct sk_buff *skb)
39     zone == nf_ct_zone(nf_ct_tuplehash_to_ctrack(h)))
40     goto out;
41    
42     + nf_ct_del_from_dying_or_unconfirmed_list(ct);
43     +
44     /* Timer relative to confirmation time, not original
45     setting time, otherwise we'd get timer wrap in
46     weird delay cases. */