<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/net/ipv6/netfilter, branch v3.8.7</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>inet: limit length of fragment queue hash table bucket lists</title>
<updated>2013-03-28T19:17:23+00:00</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2013-03-15T11:32:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=95c4d95b1db2bfa42759ecb2000395a68a150bb0'/>
<id>95c4d95b1db2bfa42759ecb2000395a68a150bb0</id>
<content type='text'>
[ Upstream commit 5a3da1fe9561828d0ca7eca664b16ec2b9bf0055 ]

This patch introduces a constant limit of the fragment queue hash
table bucket list lengths. Currently the limit 128 is choosen somewhat
arbitrary and just ensures that we can fill up the fragment cache with
empty packets up to the default ip_frag_high_thresh limits. It should
just protect from list iteration eating considerable amounts of cpu.

If we reach the maximum length in one hash bucket a warning is printed.
This is implemented on the caller side of inet_frag_find to distinguish
between the different users of inet_fragment.c.

I dropped the out of memory warning in the ipv4 fragment lookup path,
because we already get a warning by the slab allocator.

Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Jesper Dangaard Brouer &lt;jbrouer@redhat.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[ Upstream commit 5a3da1fe9561828d0ca7eca664b16ec2b9bf0055 ]

This patch introduces a constant limit of the fragment queue hash
table bucket list lengths. Currently the limit 128 is choosen somewhat
arbitrary and just ensures that we can fill up the fragment cache with
empty packets up to the default ip_frag_high_thresh limits. It should
just protect from list iteration eating considerable amounts of cpu.

If we reach the maximum length in one hash bucket a warning is printed.
This is implemented on the caller side of inet_frag_find to distinguish
between the different users of inet_fragment.c.

I dropped the out of memory warning in the ipv4 fragment lookup path,
because we already get a warning by the slab allocator.

Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Jesper Dangaard Brouer &lt;jbrouer@redhat.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: ip6t_NPT: Ensure to check lower part of prefixes are zero</title>
<updated>2013-02-07T17:40:27+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki / 吉藤英明</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2013-02-07T10:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=edb27228db22654a59711135a5f7a20fb49a1016'/>
<id>edb27228db22654a59711135a5f7a20fb49a1016</id>
<content type='text'>
RFC 6296 points that address bits that are not part of the prefix
has to be zeroed.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RFC 6296 points that address bits that are not part of the prefix
has to be zeroed.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: ip6t_NPT: Fix prefix mangling</title>
<updated>2013-02-07T17:40:26+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki / 吉藤英明</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2013-01-26T08:38:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d4c38fa87d2b05be5daafb6a92b6ad15b66da8cb'/>
<id>d4c38fa87d2b05be5daafb6a92b6ad15b66da8cb</id>
<content type='text'>
Make sure only the bits that are part of the prefix are mangled.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make sure only the bits that are part of the prefix are mangled.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: ip6t_NPT: Fix adjustment calculation</title>
<updated>2013-02-07T17:37:41+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki / 吉藤英明</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2013-01-26T08:37:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=f5271fff56c76e92fde122bcc02f102e99da5c8a'/>
<id>f5271fff56c76e92fde122bcc02f102e99da5c8a</id>
<content type='text'>
Cast __wsum from/to __sum16 is wrong.  Instead, apply appropriate
conversion function: csum_unfold() or csum_fold().

[ The original patch has been modified to undo the final ~ that
  csum_fold returns. We only need to fold the 32-bit word that
  results from the checksum calculation into a 16-bit to ensure
  that the original subnet is restored appropriately. Spotted by
  Ulrich Weber. ]

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cast __wsum from/to __sum16 is wrong.  Instead, apply appropriate
conversion function: csum_unfold() or csum_fold().

[ The original patch has been modified to undo the final ~ that
  csum_fold returns. We only need to fold the 32-bit word that
  results from the checksum calculation into a 16-bit to ensure
  that the original subnet is restored appropriately. Spotted by
  Ulrich Weber. ]

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: ip6t_NPT: fix IPv6 NTP checksum calculation</title>
<updated>2013-01-04T19:03:02+00:00</updated>
<author>
<name>Ulrich Weber</name>
<email>ulrich.weber@sophos.com</email>
</author>
<published>2013-01-02T05:24:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=429da4c0b1e59837ec946cdf0f04eb1899586923'/>
<id>429da4c0b1e59837ec946cdf0f04eb1899586923</id>
<content type='text'>
csum16_add() has a broken carry detection, should be:
sum += sum &lt; (__force u16)b;

Instead of fixing csum16_add, remove the custom checksum
functions and use the generic csum_add/csum_sub ones.

Signed-off-by: Ulrich Weber &lt;ulrich.weber@sophos.com&gt;
Acked-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
csum16_add() has a broken carry detection, should be:
sum += sum &lt; (__force u16)b;

Instead of fixing csum16_add, remove the custom checksum
functions and use the generic csum_add/csum_sub ones.

Signed-off-by: Ulrich Weber &lt;ulrich.weber@sophos.com&gt;
Acked-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_ct_reasm: fix conntrack reassembly expire code</title>
<updated>2012-12-16T22:41:25+00:00</updated>
<author>
<name>Haibo Xi</name>
<email>haibbo@gmail.com</email>
</author>
<published>2012-12-06T23:42:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=97cf00e93cc24898493e7a058105e3215257ee04'/>
<id>97cf00e93cc24898493e7a058105e3215257ee04</id>
<content type='text'>
Commit b836c99fd6c9 (ipv6: unify conntrack reassembly expire
code with standard one) use the standard IPv6 reassembly
code(ip6_expire_frag_queue) to handle conntrack reassembly expire.

In ip6_expire_frag_queue, it invoke dev_get_by_index_rcu to get
which device received this expired packet.so we must save ifindex
when NF_conntrack get this packet.

With this patch applied, I can see ICMP Time Exceeded sent
from the receiver when the sender sent out 1/2 fragmented
IPv6 packet.

Signed-off-by: Haibo Xi &lt;haibbo@gmail.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit b836c99fd6c9 (ipv6: unify conntrack reassembly expire
code with standard one) use the standard IPv6 reassembly
code(ip6_expire_frag_queue) to handle conntrack reassembly expire.

In ip6_expire_frag_queue, it invoke dev_get_by_index_rcu to get
which device received this expired packet.so we must save ifindex
when NF_conntrack get this packet.

With this patch applied, I can see ICMP Time Exceeded sent
from the receiver when the sender sent out 1/2 fragmented
IPv6 packet.

Signed-off-by: Haibo Xi &lt;haibbo@gmail.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_conntrack_ipv6: fix comment for packets without data</title>
<updated>2012-12-16T22:28:31+00:00</updated>
<author>
<name>Florent Fourcot</name>
<email>florent.fourcot@enst-bretagne.fr</email>
</author>
<published>2012-12-14T00:53:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d7a769ff0e8f908ae8113fe523e7806b6d0b5fc7'/>
<id>d7a769ff0e8f908ae8113fe523e7806b6d0b5fc7</id>
<content type='text'>
Remove ambiguity of double negation.

Signed-off-by: Florent Fourcot &lt;florent.fourcot@enst-bretagne.fr&gt;
Acked-by: Rick Jones &lt;rick.jones2@hp.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove ambiguity of double negation.

Signed-off-by: Florent Fourcot &lt;florent.fourcot@enst-bretagne.fr&gt;
Acked-by: Rick Jones &lt;rick.jones2@hp.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_nat: Also handle non-ESTABLISHED routing changes in MASQUERADE</title>
<updated>2012-12-16T22:28:30+00:00</updated>
<author>
<name>Andrew Collins</name>
<email>bsderandrew@gmail.com</email>
</author>
<published>2012-12-12T14:23:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c65ef8dc7b1c16379b9fc29e925716a10804af43'/>
<id>c65ef8dc7b1c16379b9fc29e925716a10804af43</id>
<content type='text'>
Since (a0ecb85 netfilter: nf_nat: Handle routing changes in MASQUERADE
target), the MASQUERADE target handles routing changes which affect
the output interface of a connection, but only for ESTABLISHED
connections.  It is also possible for NEW connections which
already have a conntrack entry to be affected by routing changes.

This adds a check to drop entries in the NEW+conntrack state
when the oif has changed.

Signed-off-by: Andrew Collins &lt;bsderandrew@gmail.com&gt;
Acked-by: Jozsef Kadlecsik &lt;kadlec@blackhole.kfki.hu&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since (a0ecb85 netfilter: nf_nat: Handle routing changes in MASQUERADE
target), the MASQUERADE target handles routing changes which affect
the output interface of a connection, but only for ESTABLISHED
connections.  It is also possible for NEW connections which
already have a conntrack entry to be affected by routing changes.

This adds a check to drop entries in the NEW+conntrack state
when the oif has changed.

Signed-off-by: Andrew Collins &lt;bsderandrew@gmail.com&gt;
Acked-by: Jozsef Kadlecsik &lt;kadlec@blackhole.kfki.hu&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: ip[6]t_REJECT: fix wrong transport header pointer in TCP reset</title>
<updated>2012-12-16T22:27:35+00:00</updated>
<author>
<name>Mukund Jampala</name>
<email>jbmukund@gmail.com</email>
</author>
<published>2012-12-16T18:25:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c6f408996c625cb950cad024f90e50519f94713c'/>
<id>c6f408996c625cb950cad024f90e50519f94713c</id>
<content type='text'>
The problem occurs when iptables constructs the tcp reset packet.
It doesn't initialize the pointer to the tcp header within the skb.
When the skb is passed to the ixgbe driver for transmit, the ixgbe
driver attempts to access the tcp header and crashes.
Currently, other drivers (such as our 1G e1000e or igb drivers) don't
access the tcp header on transmit unless the TSO option is turned on.

&lt;1&gt;BUG: unable to handle kernel NULL pointer dereference at 0000000d
&lt;1&gt;IP: [&lt;d081621c&gt;] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
&lt;4&gt;*pdpt = 0000000085e5d001 *pde = 0000000000000000
&lt;0&gt;Oops: 0000 [#1] SMP
[...]
&lt;4&gt;Pid: 0, comm: swapper Tainted: P            2.6.35.12 #1 Greencity/Thurley
&lt;4&gt;EIP: 0060:[&lt;d081621c&gt;] EFLAGS: 00010246 CPU: 16
&lt;4&gt;EIP is at ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
&lt;4&gt;EAX: c7628820 EBX: 00000007 ECX: 00000000 EDX: 00000000
&lt;4&gt;ESI: 00000008 EDI: c6882180 EBP: dfc6b000 ESP: ced95c48
&lt;4&gt; DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
&lt;0&gt;Process swapper (pid: 0, ti=ced94000 task=ced73bd0 task.ti=ced94000)
&lt;0&gt;Stack:
&lt;4&gt; cbec7418 c779e0d8 c77cc888 c77cc8a8 0903010a 00000000 c77c0008 00000002
&lt;4&gt;&lt;0&gt; cd4997c0 00000010 dfc6b000 00000000 d0d176c9 c77cc8d8 c6882180 cbec7318
&lt;4&gt;&lt;0&gt; 00000004 00000004 cbec7230 cbec7110 00000000 cbec70c0 c779e000 00000002
&lt;0&gt;Call Trace:
&lt;4&gt; [&lt;d0d176c9&gt;] ? 0xd0d176c9
&lt;4&gt; [&lt;d0d18a4d&gt;] ? 0xd0d18a4d
&lt;4&gt; [&lt;411e243e&gt;] ? dev_hard_start_xmit+0x218/0x2d7
&lt;4&gt; [&lt;411f03d7&gt;] ? sch_direct_xmit+0x4b/0x114
&lt;4&gt; [&lt;411f056a&gt;] ? __qdisc_run+0xca/0xe0
&lt;4&gt; [&lt;411e28b0&gt;] ? dev_queue_xmit+0x2d1/0x3d0
&lt;4&gt; [&lt;411e8120&gt;] ? neigh_resolve_output+0x1c5/0x20f
&lt;4&gt; [&lt;411e94a1&gt;] ? neigh_update+0x29c/0x330
&lt;4&gt; [&lt;4121cf29&gt;] ? arp_process+0x49c/0x4cd
&lt;4&gt; [&lt;411f80c9&gt;] ? nf_hook_slow+0x3f/0xac
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;4121c6d5&gt;] ? T.901+0x38/0x3b
&lt;4&gt; [&lt;4121c918&gt;] ? arp_rcv+0xa3/0xb4
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;411e1173&gt;] ? __netif_receive_skb+0x32b/0x346
&lt;4&gt; [&lt;411e19e1&gt;] ? netif_receive_skb+0x5a/0x5f
&lt;4&gt; [&lt;411e1ea9&gt;] ? napi_skb_finish+0x1b/0x30
&lt;4&gt; [&lt;d0816eb4&gt;] ? ixgbe_xmit_frame_ring+0x1564/0x2260 [ixgbe]
&lt;4&gt; [&lt;41013468&gt;] ? lapic_next_event+0x13/0x16
&lt;4&gt; [&lt;410429b2&gt;] ? clockevents_program_event+0xd2/0xe4
&lt;4&gt; [&lt;411e1b03&gt;] ? net_rx_action+0x55/0x127
&lt;4&gt; [&lt;4102da1a&gt;] ? __do_softirq+0x77/0xeb
&lt;4&gt; [&lt;4102dab1&gt;] ? do_softirq+0x23/0x27
&lt;4&gt; [&lt;41003a67&gt;] ? do_IRQ+0x7d/0x8e
&lt;4&gt; [&lt;41002a69&gt;] ? common_interrupt+0x29/0x30
&lt;4&gt; [&lt;41007bcf&gt;] ? mwait_idle+0x48/0x4d
&lt;4&gt; [&lt;4100193b&gt;] ? cpu_idle+0x37/0x4c
&lt;0&gt;Code: df 09 d7 0f 94 c2 0f b6 d2 e9 e7 fb ff ff 31 db 31 c0 e9 38
ff ff ff 80 78 06 06 0f 85 3e fb ff ff 8b 7c 24 38 8b 8f b8 00 00 00
&lt;0f&gt; b6 51 0d f6 c2 01 0f 85 27 fb ff ff 80 e2 02 75 0d 8b 6c 24
&lt;0&gt;EIP: [&lt;d081621c&gt;] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe] SS:ESP

Signed-off-by: Mukund Jampala &lt;jbmukund@gmail.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The problem occurs when iptables constructs the tcp reset packet.
It doesn't initialize the pointer to the tcp header within the skb.
When the skb is passed to the ixgbe driver for transmit, the ixgbe
driver attempts to access the tcp header and crashes.
Currently, other drivers (such as our 1G e1000e or igb drivers) don't
access the tcp header on transmit unless the TSO option is turned on.

&lt;1&gt;BUG: unable to handle kernel NULL pointer dereference at 0000000d
&lt;1&gt;IP: [&lt;d081621c&gt;] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
&lt;4&gt;*pdpt = 0000000085e5d001 *pde = 0000000000000000
&lt;0&gt;Oops: 0000 [#1] SMP
[...]
&lt;4&gt;Pid: 0, comm: swapper Tainted: P            2.6.35.12 #1 Greencity/Thurley
&lt;4&gt;EIP: 0060:[&lt;d081621c&gt;] EFLAGS: 00010246 CPU: 16
&lt;4&gt;EIP is at ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe]
&lt;4&gt;EAX: c7628820 EBX: 00000007 ECX: 00000000 EDX: 00000000
&lt;4&gt;ESI: 00000008 EDI: c6882180 EBP: dfc6b000 ESP: ced95c48
&lt;4&gt; DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
&lt;0&gt;Process swapper (pid: 0, ti=ced94000 task=ced73bd0 task.ti=ced94000)
&lt;0&gt;Stack:
&lt;4&gt; cbec7418 c779e0d8 c77cc888 c77cc8a8 0903010a 00000000 c77c0008 00000002
&lt;4&gt;&lt;0&gt; cd4997c0 00000010 dfc6b000 00000000 d0d176c9 c77cc8d8 c6882180 cbec7318
&lt;4&gt;&lt;0&gt; 00000004 00000004 cbec7230 cbec7110 00000000 cbec70c0 c779e000 00000002
&lt;0&gt;Call Trace:
&lt;4&gt; [&lt;d0d176c9&gt;] ? 0xd0d176c9
&lt;4&gt; [&lt;d0d18a4d&gt;] ? 0xd0d18a4d
&lt;4&gt; [&lt;411e243e&gt;] ? dev_hard_start_xmit+0x218/0x2d7
&lt;4&gt; [&lt;411f03d7&gt;] ? sch_direct_xmit+0x4b/0x114
&lt;4&gt; [&lt;411f056a&gt;] ? __qdisc_run+0xca/0xe0
&lt;4&gt; [&lt;411e28b0&gt;] ? dev_queue_xmit+0x2d1/0x3d0
&lt;4&gt; [&lt;411e8120&gt;] ? neigh_resolve_output+0x1c5/0x20f
&lt;4&gt; [&lt;411e94a1&gt;] ? neigh_update+0x29c/0x330
&lt;4&gt; [&lt;4121cf29&gt;] ? arp_process+0x49c/0x4cd
&lt;4&gt; [&lt;411f80c9&gt;] ? nf_hook_slow+0x3f/0xac
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;4121c6d5&gt;] ? T.901+0x38/0x3b
&lt;4&gt; [&lt;4121c918&gt;] ? arp_rcv+0xa3/0xb4
&lt;4&gt; [&lt;4121ca8d&gt;] ? arp_process+0x0/0x4cd
&lt;4&gt; [&lt;411e1173&gt;] ? __netif_receive_skb+0x32b/0x346
&lt;4&gt; [&lt;411e19e1&gt;] ? netif_receive_skb+0x5a/0x5f
&lt;4&gt; [&lt;411e1ea9&gt;] ? napi_skb_finish+0x1b/0x30
&lt;4&gt; [&lt;d0816eb4&gt;] ? ixgbe_xmit_frame_ring+0x1564/0x2260 [ixgbe]
&lt;4&gt; [&lt;41013468&gt;] ? lapic_next_event+0x13/0x16
&lt;4&gt; [&lt;410429b2&gt;] ? clockevents_program_event+0xd2/0xe4
&lt;4&gt; [&lt;411e1b03&gt;] ? net_rx_action+0x55/0x127
&lt;4&gt; [&lt;4102da1a&gt;] ? __do_softirq+0x77/0xeb
&lt;4&gt; [&lt;4102dab1&gt;] ? do_softirq+0x23/0x27
&lt;4&gt; [&lt;41003a67&gt;] ? do_IRQ+0x7d/0x8e
&lt;4&gt; [&lt;41002a69&gt;] ? common_interrupt+0x29/0x30
&lt;4&gt; [&lt;41007bcf&gt;] ? mwait_idle+0x48/0x4d
&lt;4&gt; [&lt;4100193b&gt;] ? cpu_idle+0x37/0x4c
&lt;0&gt;Code: df 09 d7 0f 94 c2 0f b6 d2 e9 e7 fb ff ff 31 db 31 c0 e9 38
ff ff ff 80 78 06 06 0f 85 3e fb ff ff 8b 7c 24 38 8b 8f b8 00 00 00
&lt;0f&gt; b6 51 0d f6 c2 01 0f 85 27 fb ff ff 80 e2 02 75 0d 8b 6c 24
&lt;0&gt;EIP: [&lt;d081621c&gt;] ixgbe_xmit_frame_ring+0x8cc/0x2260 [ixgbe] SS:ESP

Signed-off-by: Mukund Jampala &lt;jbmukund@gmail.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_nat: Handle routing changes in MASQUERADE target</title>
<updated>2012-12-03T14:14:20+00:00</updated>
<author>
<name>Jozsef Kadlecsik</name>
<email>kadlec@blackhole.kfki.hu</email>
</author>
<published>2012-11-30T12:37:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a0ecb85a2c3af73c63b6d44ce82aea52347ccf55'/>
<id>a0ecb85a2c3af73c63b6d44ce82aea52347ccf55</id>
<content type='text'>
When the route changes (backup default route, VPNs) which affect a
masqueraded target, the packets were sent out with the outdated source
address. The patch addresses the issue by comparing the outgoing interface
directly with the masqueraded interface in the nat table.

Events are inefficient in this case, because it'd require adding route
events to the network core and then scanning the whole conntrack table
and re-checking the route for all entry.

Signed-off-by: Jozsef Kadlecsik &lt;kadlec@blackhole.kfki.hu&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the route changes (backup default route, VPNs) which affect a
masqueraded target, the packets were sent out with the outdated source
address. The patch addresses the issue by comparing the outgoing interface
directly with the masqueraded interface in the nat table.

Events are inefficient in this case, because it'd require adding route
events to the network core and then scanning the whole conntrack table
and re-checking the route for all entry.

Signed-off-by: Jozsef Kadlecsik &lt;kadlec@blackhole.kfki.hu&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
