<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/net/ipv4/netfilter, branch linux-4.5.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>ipv4: Don't do expensive useless work during inetdev destroy.</title>
<updated>2016-04-20T06:45:12+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2016-03-14T03:28:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1e52e21995ae66be8ce5c97bf715e2a66f622af1'/>
<id>1e52e21995ae66be8ce5c97bf715e2a66f622af1</id>
<content type='text'>
[ Upstream commit fbd40ea0180a2d328c5adc61414dc8bab9335ce2 ]

When an inetdev is destroyed, every address assigned to the interface
is removed.  And in this scenerio we do two pointless things which can
be very expensive if the number of assigned interfaces is large:

1) Address promotion.  We are deleting all addresses, so there is no
   point in doing this.

2) A full nf conntrack table purge for every address.  We only need to
   do this once, as is already caught by the existing
   masq_dev_notifier so masq_inet_event() can skip this.

Reported-by: Solar Designer &lt;solar@openwall.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&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 fbd40ea0180a2d328c5adc61414dc8bab9335ce2 ]

When an inetdev is destroyed, every address assigned to the interface
is removed.  And in this scenerio we do two pointless things which can
be very expensive if the number of assigned interfaces is large:

1) Address promotion.  We are deleting all addresses, so there is no
   point in doing this.

2) A full nf conntrack table purge for every address.  We only need to
   do this once, as is already caught by the existing
   masq_dev_notifier so masq_inet_event() can skip this.

Reported-by: Solar Designer &lt;solar@openwall.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Tested-by: Cyrill Gorcunov &lt;gorcunov@openvz.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>inet: frag: Always orphan skbs inside ip_defrag()</title>
<updated>2016-01-29T00:00:46+00:00</updated>
<author>
<name>Joe Stringer</name>
<email>joe@ovn.org</email>
</author>
<published>2016-01-22T23:49:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=8282f27449bf15548cb82c77b6e04ee0ab827bdc'/>
<id>8282f27449bf15548cb82c77b6e04ee0ab827bdc</id>
<content type='text'>
Later parts of the stack (including fragmentation) expect that there is
never a socket attached to frag in a frag_list, however this invariant
was not enforced on all defrag paths. This could lead to the
BUG_ON(skb-&gt;sk) during ip_do_fragment(), as per the call stack at the
end of this commit message.

While the call could be added to openvswitch to fix this particular
error, the head and tail of the frags list are already orphaned
indirectly inside ip_defrag(), so it seems like the remaining fragments
should all be orphaned in all circumstances.

kernel BUG at net/ipv4/ip_output.c:586!
[...]
Call Trace:
 &lt;IRQ&gt;
 [&lt;ffffffffa0205270&gt;] ? do_output.isra.29+0x1b0/0x1b0 [openvswitch]
 [&lt;ffffffffa02167a7&gt;] ovs_fragment+0xcc/0x214 [openvswitch]
 [&lt;ffffffff81667830&gt;] ? dst_discard_out+0x20/0x20
 [&lt;ffffffff81667810&gt;] ? dst_ifdown+0x80/0x80
 [&lt;ffffffffa0212072&gt;] ? find_bucket.isra.2+0x62/0x70 [openvswitch]
 [&lt;ffffffff810e0ba5&gt;] ? mod_timer_pending+0x65/0x210
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffffa03205a2&gt;] ? nf_conntrack_in+0x252/0x500 [nf_conntrack]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa02051a3&gt;] do_output.isra.29+0xe3/0x1b0 [openvswitch]
 [&lt;ffffffffa0206411&gt;] do_execute_actions+0xe11/0x11f0 [openvswitch]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa0206822&gt;] ovs_execute_actions+0x32/0xd0 [openvswitch]
 [&lt;ffffffffa020b505&gt;] ovs_dp_process_packet+0x85/0x140 [openvswitch]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa02068a2&gt;] ovs_execute_actions+0xb2/0xd0 [openvswitch]
 [&lt;ffffffffa020b505&gt;] ovs_dp_process_packet+0x85/0x140 [openvswitch]
 [&lt;ffffffffa0215019&gt;] ? ovs_ct_get_labels+0x49/0x80 [openvswitch]
 [&lt;ffffffffa0213a1d&gt;] ovs_vport_receive+0x5d/0xa0 [openvswitch]
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffffa0214895&gt;] ? internal_dev_xmit+0x5/0x140 [openvswitch]
 [&lt;ffffffffa02148fc&gt;] internal_dev_xmit+0x6c/0x140 [openvswitch]
 [&lt;ffffffffa0214895&gt;] ? internal_dev_xmit+0x5/0x140 [openvswitch]
 [&lt;ffffffff81660299&gt;] dev_hard_start_xmit+0x2b9/0x5e0
 [&lt;ffffffff8165fc21&gt;] ? netif_skb_features+0xd1/0x1f0
 [&lt;ffffffff81660f20&gt;] __dev_queue_xmit+0x800/0x930
 [&lt;ffffffff81660770&gt;] ? __dev_queue_xmit+0x50/0x930
 [&lt;ffffffff810b53f1&gt;] ? mark_held_locks+0x71/0x90
 [&lt;ffffffff81669876&gt;] ? neigh_resolve_output+0x106/0x220
 [&lt;ffffffff81661060&gt;] dev_queue_xmit+0x10/0x20
 [&lt;ffffffff816698e8&gt;] neigh_resolve_output+0x178/0x220
 [&lt;ffffffff816a8e6f&gt;] ? ip_finish_output2+0x1ff/0x590
 [&lt;ffffffff816a8e6f&gt;] ip_finish_output2+0x1ff/0x590
 [&lt;ffffffff816a8cee&gt;] ? ip_finish_output2+0x7e/0x590
 [&lt;ffffffff816a9a31&gt;] ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a8c70&gt;] ? ip_copy_metadata+0x1b0/0x1b0
 [&lt;ffffffff816a9ae3&gt;] ip_fragment.constprop.49+0x43/0x80
 [&lt;ffffffff816a9c9c&gt;] ip_finish_output+0x17c/0x340
 [&lt;ffffffff8169a6f4&gt;] ? nf_hook_slow+0xe4/0x190
 [&lt;ffffffff816ab4c0&gt;] ip_output+0x70/0x110
 [&lt;ffffffff816a9b20&gt;] ? ip_fragment.constprop.49+0x80/0x80
 [&lt;ffffffff816aa9f9&gt;] ip_local_out+0x39/0x70
 [&lt;ffffffff816abf89&gt;] ip_send_skb+0x19/0x40
 [&lt;ffffffff816abfe3&gt;] ip_push_pending_frames+0x33/0x40
 [&lt;ffffffff816df21a&gt;] icmp_push_reply+0xea/0x120
 [&lt;ffffffff816df93d&gt;] icmp_reply.constprop.23+0x1ed/0x230
 [&lt;ffffffff816df9ce&gt;] icmp_echo.part.21+0x4e/0x50
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffff810d5f9e&gt;] ? rcu_read_lock_held+0x5e/0x70
 [&lt;ffffffff816dfa06&gt;] icmp_echo+0x36/0x70
 [&lt;ffffffff816e0d11&gt;] icmp_rcv+0x271/0x450
 [&lt;ffffffff816a4ca7&gt;] ip_local_deliver_finish+0x127/0x3a0
 [&lt;ffffffff816a4bc1&gt;] ? ip_local_deliver_finish+0x41/0x3a0
 [&lt;ffffffff816a5160&gt;] ip_local_deliver+0x60/0xd0
 [&lt;ffffffff816a4b80&gt;] ? ip_rcv_finish+0x560/0x560
 [&lt;ffffffff816a46fd&gt;] ip_rcv_finish+0xdd/0x560
 [&lt;ffffffff816a5453&gt;] ip_rcv+0x283/0x3e0
 [&lt;ffffffff810b6302&gt;] ? match_held_lock+0x192/0x200
 [&lt;ffffffff816a4620&gt;] ? inet_del_offload+0x40/0x40
 [&lt;ffffffff8165d062&gt;] __netif_receive_skb_core+0x392/0xae0
 [&lt;ffffffff8165e68e&gt;] ? process_backlog+0x8e/0x230
 [&lt;ffffffff810b53f1&gt;] ? mark_held_locks+0x71/0x90
 [&lt;ffffffff8165d7c8&gt;] __netif_receive_skb+0x18/0x60
 [&lt;ffffffff8165e678&gt;] process_backlog+0x78/0x230
 [&lt;ffffffff8165e6dd&gt;] ? process_backlog+0xdd/0x230
 [&lt;ffffffff8165e355&gt;] net_rx_action+0x155/0x400
 [&lt;ffffffff8106b48c&gt;] __do_softirq+0xcc/0x420
 [&lt;ffffffff816a8e87&gt;] ? ip_finish_output2+0x217/0x590
 [&lt;ffffffff8178e78c&gt;] do_softirq_own_stack+0x1c/0x30
 &lt;EOI&gt;
 [&lt;ffffffff8106b88e&gt;] do_softirq+0x4e/0x60
 [&lt;ffffffff8106b948&gt;] __local_bh_enable_ip+0xa8/0xb0
 [&lt;ffffffff816a8eb0&gt;] ip_finish_output2+0x240/0x590
 [&lt;ffffffff816a9a31&gt;] ? ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a9a31&gt;] ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a8c70&gt;] ? ip_copy_metadata+0x1b0/0x1b0
 [&lt;ffffffff816a9ae3&gt;] ip_fragment.constprop.49+0x43/0x80
 [&lt;ffffffff816a9c9c&gt;] ip_finish_output+0x17c/0x340
 [&lt;ffffffff8169a6f4&gt;] ? nf_hook_slow+0xe4/0x190
 [&lt;ffffffff816ab4c0&gt;] ip_output+0x70/0x110
 [&lt;ffffffff816a9b20&gt;] ? ip_fragment.constprop.49+0x80/0x80
 [&lt;ffffffff816aa9f9&gt;] ip_local_out+0x39/0x70
 [&lt;ffffffff816abf89&gt;] ip_send_skb+0x19/0x40
 [&lt;ffffffff816abfe3&gt;] ip_push_pending_frames+0x33/0x40
 [&lt;ffffffff816d55d3&gt;] raw_sendmsg+0x7d3/0xc30
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff816e7557&gt;] ? inet_sendmsg+0xc7/0x1d0
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffff816e759a&gt;] inet_sendmsg+0x10a/0x1d0
 [&lt;ffffffff816e7495&gt;] ? inet_sendmsg+0x5/0x1d0
 [&lt;ffffffff8163e398&gt;] sock_sendmsg+0x38/0x50
 [&lt;ffffffff8163ec5f&gt;] ___sys_sendmsg+0x25f/0x270
 [&lt;ffffffff811aadad&gt;] ? handle_mm_fault+0x8dd/0x1320
 [&lt;ffffffff8178c147&gt;] ? _raw_spin_unlock+0x27/0x40
 [&lt;ffffffff810529b2&gt;] ? __do_page_fault+0x1e2/0x460
 [&lt;ffffffff81204886&gt;] ? __fget_light+0x66/0x90
 [&lt;ffffffff8163f8e2&gt;] __sys_sendmsg+0x42/0x80
 [&lt;ffffffff8163f932&gt;] SyS_sendmsg+0x12/0x20
 [&lt;ffffffff8178cb17&gt;] entry_SYSCALL_64_fastpath+0x12/0x6f
Code: 00 00 44 89 e0 e9 7c fb ff ff 4c 89 ff e8 e7 e7 ff ff 41 8b 9d 80 00 00 00 2b 5d d4 89 d8 c1 f8 03 0f b7 c0 e9 33 ff ff f
 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48
RIP  [&lt;ffffffff816a9a92&gt;] ip_do_fragment+0x892/0x8a0
 RSP &lt;ffff88006d603170&gt;

Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action")
Signed-off-by: Joe Stringer &lt;joe@ovn.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Later parts of the stack (including fragmentation) expect that there is
never a socket attached to frag in a frag_list, however this invariant
was not enforced on all defrag paths. This could lead to the
BUG_ON(skb-&gt;sk) during ip_do_fragment(), as per the call stack at the
end of this commit message.

While the call could be added to openvswitch to fix this particular
error, the head and tail of the frags list are already orphaned
indirectly inside ip_defrag(), so it seems like the remaining fragments
should all be orphaned in all circumstances.

kernel BUG at net/ipv4/ip_output.c:586!
[...]
Call Trace:
 &lt;IRQ&gt;
 [&lt;ffffffffa0205270&gt;] ? do_output.isra.29+0x1b0/0x1b0 [openvswitch]
 [&lt;ffffffffa02167a7&gt;] ovs_fragment+0xcc/0x214 [openvswitch]
 [&lt;ffffffff81667830&gt;] ? dst_discard_out+0x20/0x20
 [&lt;ffffffff81667810&gt;] ? dst_ifdown+0x80/0x80
 [&lt;ffffffffa0212072&gt;] ? find_bucket.isra.2+0x62/0x70 [openvswitch]
 [&lt;ffffffff810e0ba5&gt;] ? mod_timer_pending+0x65/0x210
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffffa03205a2&gt;] ? nf_conntrack_in+0x252/0x500 [nf_conntrack]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa02051a3&gt;] do_output.isra.29+0xe3/0x1b0 [openvswitch]
 [&lt;ffffffffa0206411&gt;] do_execute_actions+0xe11/0x11f0 [openvswitch]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa0206822&gt;] ovs_execute_actions+0x32/0xd0 [openvswitch]
 [&lt;ffffffffa020b505&gt;] ovs_dp_process_packet+0x85/0x140 [openvswitch]
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffffa02068a2&gt;] ovs_execute_actions+0xb2/0xd0 [openvswitch]
 [&lt;ffffffffa020b505&gt;] ovs_dp_process_packet+0x85/0x140 [openvswitch]
 [&lt;ffffffffa0215019&gt;] ? ovs_ct_get_labels+0x49/0x80 [openvswitch]
 [&lt;ffffffffa0213a1d&gt;] ovs_vport_receive+0x5d/0xa0 [openvswitch]
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffffa0214895&gt;] ? internal_dev_xmit+0x5/0x140 [openvswitch]
 [&lt;ffffffffa02148fc&gt;] internal_dev_xmit+0x6c/0x140 [openvswitch]
 [&lt;ffffffffa0214895&gt;] ? internal_dev_xmit+0x5/0x140 [openvswitch]
 [&lt;ffffffff81660299&gt;] dev_hard_start_xmit+0x2b9/0x5e0
 [&lt;ffffffff8165fc21&gt;] ? netif_skb_features+0xd1/0x1f0
 [&lt;ffffffff81660f20&gt;] __dev_queue_xmit+0x800/0x930
 [&lt;ffffffff81660770&gt;] ? __dev_queue_xmit+0x50/0x930
 [&lt;ffffffff810b53f1&gt;] ? mark_held_locks+0x71/0x90
 [&lt;ffffffff81669876&gt;] ? neigh_resolve_output+0x106/0x220
 [&lt;ffffffff81661060&gt;] dev_queue_xmit+0x10/0x20
 [&lt;ffffffff816698e8&gt;] neigh_resolve_output+0x178/0x220
 [&lt;ffffffff816a8e6f&gt;] ? ip_finish_output2+0x1ff/0x590
 [&lt;ffffffff816a8e6f&gt;] ip_finish_output2+0x1ff/0x590
 [&lt;ffffffff816a8cee&gt;] ? ip_finish_output2+0x7e/0x590
 [&lt;ffffffff816a9a31&gt;] ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a8c70&gt;] ? ip_copy_metadata+0x1b0/0x1b0
 [&lt;ffffffff816a9ae3&gt;] ip_fragment.constprop.49+0x43/0x80
 [&lt;ffffffff816a9c9c&gt;] ip_finish_output+0x17c/0x340
 [&lt;ffffffff8169a6f4&gt;] ? nf_hook_slow+0xe4/0x190
 [&lt;ffffffff816ab4c0&gt;] ip_output+0x70/0x110
 [&lt;ffffffff816a9b20&gt;] ? ip_fragment.constprop.49+0x80/0x80
 [&lt;ffffffff816aa9f9&gt;] ip_local_out+0x39/0x70
 [&lt;ffffffff816abf89&gt;] ip_send_skb+0x19/0x40
 [&lt;ffffffff816abfe3&gt;] ip_push_pending_frames+0x33/0x40
 [&lt;ffffffff816df21a&gt;] icmp_push_reply+0xea/0x120
 [&lt;ffffffff816df93d&gt;] icmp_reply.constprop.23+0x1ed/0x230
 [&lt;ffffffff816df9ce&gt;] icmp_echo.part.21+0x4e/0x50
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffff810d5f9e&gt;] ? rcu_read_lock_held+0x5e/0x70
 [&lt;ffffffff816dfa06&gt;] icmp_echo+0x36/0x70
 [&lt;ffffffff816e0d11&gt;] icmp_rcv+0x271/0x450
 [&lt;ffffffff816a4ca7&gt;] ip_local_deliver_finish+0x127/0x3a0
 [&lt;ffffffff816a4bc1&gt;] ? ip_local_deliver_finish+0x41/0x3a0
 [&lt;ffffffff816a5160&gt;] ip_local_deliver+0x60/0xd0
 [&lt;ffffffff816a4b80&gt;] ? ip_rcv_finish+0x560/0x560
 [&lt;ffffffff816a46fd&gt;] ip_rcv_finish+0xdd/0x560
 [&lt;ffffffff816a5453&gt;] ip_rcv+0x283/0x3e0
 [&lt;ffffffff810b6302&gt;] ? match_held_lock+0x192/0x200
 [&lt;ffffffff816a4620&gt;] ? inet_del_offload+0x40/0x40
 [&lt;ffffffff8165d062&gt;] __netif_receive_skb_core+0x392/0xae0
 [&lt;ffffffff8165e68e&gt;] ? process_backlog+0x8e/0x230
 [&lt;ffffffff810b53f1&gt;] ? mark_held_locks+0x71/0x90
 [&lt;ffffffff8165d7c8&gt;] __netif_receive_skb+0x18/0x60
 [&lt;ffffffff8165e678&gt;] process_backlog+0x78/0x230
 [&lt;ffffffff8165e6dd&gt;] ? process_backlog+0xdd/0x230
 [&lt;ffffffff8165e355&gt;] net_rx_action+0x155/0x400
 [&lt;ffffffff8106b48c&gt;] __do_softirq+0xcc/0x420
 [&lt;ffffffff816a8e87&gt;] ? ip_finish_output2+0x217/0x590
 [&lt;ffffffff8178e78c&gt;] do_softirq_own_stack+0x1c/0x30
 &lt;EOI&gt;
 [&lt;ffffffff8106b88e&gt;] do_softirq+0x4e/0x60
 [&lt;ffffffff8106b948&gt;] __local_bh_enable_ip+0xa8/0xb0
 [&lt;ffffffff816a8eb0&gt;] ip_finish_output2+0x240/0x590
 [&lt;ffffffff816a9a31&gt;] ? ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a9a31&gt;] ip_do_fragment+0x831/0x8a0
 [&lt;ffffffff816a8c70&gt;] ? ip_copy_metadata+0x1b0/0x1b0
 [&lt;ffffffff816a9ae3&gt;] ip_fragment.constprop.49+0x43/0x80
 [&lt;ffffffff816a9c9c&gt;] ip_finish_output+0x17c/0x340
 [&lt;ffffffff8169a6f4&gt;] ? nf_hook_slow+0xe4/0x190
 [&lt;ffffffff816ab4c0&gt;] ip_output+0x70/0x110
 [&lt;ffffffff816a9b20&gt;] ? ip_fragment.constprop.49+0x80/0x80
 [&lt;ffffffff816aa9f9&gt;] ip_local_out+0x39/0x70
 [&lt;ffffffff816abf89&gt;] ip_send_skb+0x19/0x40
 [&lt;ffffffff816abfe3&gt;] ip_push_pending_frames+0x33/0x40
 [&lt;ffffffff816d55d3&gt;] raw_sendmsg+0x7d3/0xc30
 [&lt;ffffffff810b732b&gt;] ? __lock_acquire+0x3db/0x1b90
 [&lt;ffffffff816e7557&gt;] ? inet_sendmsg+0xc7/0x1d0
 [&lt;ffffffff810b63c4&gt;] ? __lock_is_held+0x54/0x70
 [&lt;ffffffff816e759a&gt;] inet_sendmsg+0x10a/0x1d0
 [&lt;ffffffff816e7495&gt;] ? inet_sendmsg+0x5/0x1d0
 [&lt;ffffffff8163e398&gt;] sock_sendmsg+0x38/0x50
 [&lt;ffffffff8163ec5f&gt;] ___sys_sendmsg+0x25f/0x270
 [&lt;ffffffff811aadad&gt;] ? handle_mm_fault+0x8dd/0x1320
 [&lt;ffffffff8178c147&gt;] ? _raw_spin_unlock+0x27/0x40
 [&lt;ffffffff810529b2&gt;] ? __do_page_fault+0x1e2/0x460
 [&lt;ffffffff81204886&gt;] ? __fget_light+0x66/0x90
 [&lt;ffffffff8163f8e2&gt;] __sys_sendmsg+0x42/0x80
 [&lt;ffffffff8163f932&gt;] SyS_sendmsg+0x12/0x20
 [&lt;ffffffff8178cb17&gt;] entry_SYSCALL_64_fastpath+0x12/0x6f
Code: 00 00 44 89 e0 e9 7c fb ff ff 4c 89 ff e8 e7 e7 ff ff 41 8b 9d 80 00 00 00 2b 5d d4 89 d8 c1 f8 03 0f b7 c0 e9 33 ff ff f
 66 66 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 55 48
RIP  [&lt;ffffffff816a9a92&gt;] ip_do_fragment+0x892/0x8a0
 RSP &lt;ffff88006d603170&gt;

Fixes: 7f8a436eaa2c ("openvswitch: Add conntrack action")
Signed-off-by: Joe Stringer &lt;joe@ovn.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_tables: release objects on netns destruction</title>
<updated>2015-12-28T17:34:35+00:00</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2015-12-15T18:39:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=df05ef874b284d833c2d9795a6350c6a373ab6c9'/>
<id>df05ef874b284d833c2d9795a6350c6a373ab6c9</id>
<content type='text'>
We have to release the existing objects on netns removal otherwise we
leak them. Chains are unregistered in first place to make sure no
packets are walking on our rules and sets anymore.

The object release happens by when we unregister the family via
nft_release_afinfo() which is called from nft_unregister_afinfo() from
the corresponding __net_exit path in every family.

Reported-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>
We have to release the existing objects on netns removal otherwise we
leak them. Chains are unregistered in first place to make sure no
packets are walking on our rules and sets anymore.

The object release happens by when we unregister the family via
nft_release_afinfo() which is called from nft_unregister_afinfo() from
the corresponding __net_exit path in every family.

Reported-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>Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next</title>
<updated>2015-12-18T20:37:42+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-12-18T20:37:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=59ce9670ce18d067433883adf213d04ded074cbf'/>
<id>59ce9670ce18d067433883adf213d04ded074cbf</id>
<content type='text'>
Pablo Neira Ayuso says:

====================
Netfilter updates for net-next

The following patchset contains the first batch of Netfilter updates for
the upcoming 4.5 kernel. This batch contains userspace netfilter header
compilation fixes, support for packet mangling in nf_tables, the new
tracing infrastructure for nf_tables and cgroup2 support for iptables.
More specifically, they are:

1) Two patches to include dependencies in our netfilter userspace
   headers to resolve compilation problems, from Mikko Rapeli.

2) Four comestic cleanup patches for the ebtables codebase, from Ian Morris.

3) Remove duplicate include in the netfilter reject infrastructure,
   from Stephen Hemminger.

4) Two patches to simplify the netfilter defragmentation code for IPv6,
   patch from Florian Westphal.

5) Fix root ownership of /proc/net netfilter for unpriviledged net
   namespaces, from Philip Whineray.

6) Get rid of unused fields in struct nft_pktinfo, from Florian Westphal.

7) Add mangling support to our nf_tables payload expression, from
   Patrick McHardy.

8) Introduce a new netlink-based tracing infrastructure for nf_tables,
   from Florian Westphal.

9) Change setter functions in nfnetlink_log to be void, from
    Rami Rosen.

10) Add netns support to the cttimeout infrastructure.

11) Add cgroup2 support to iptables, from Tejun Heo.

12) Introduce nfnl_dereference_protected() in nfnetlink, from Florian.

13) Add support for mangling pkttype in the nf_tables meta expression,
    also from Florian.

BTW, I need that you pull net into net-next, I have another batch that
requires changes that I don't yet see in net.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pablo Neira Ayuso says:

====================
Netfilter updates for net-next

The following patchset contains the first batch of Netfilter updates for
the upcoming 4.5 kernel. This batch contains userspace netfilter header
compilation fixes, support for packet mangling in nf_tables, the new
tracing infrastructure for nf_tables and cgroup2 support for iptables.
More specifically, they are:

1) Two patches to include dependencies in our netfilter userspace
   headers to resolve compilation problems, from Mikko Rapeli.

2) Four comestic cleanup patches for the ebtables codebase, from Ian Morris.

3) Remove duplicate include in the netfilter reject infrastructure,
   from Stephen Hemminger.

4) Two patches to simplify the netfilter defragmentation code for IPv6,
   patch from Florian Westphal.

5) Fix root ownership of /proc/net netfilter for unpriviledged net
   namespaces, from Philip Whineray.

6) Get rid of unused fields in struct nft_pktinfo, from Florian Westphal.

7) Add mangling support to our nf_tables payload expression, from
   Patrick McHardy.

8) Introduce a new netlink-based tracing infrastructure for nf_tables,
   from Florian Westphal.

9) Change setter functions in nfnetlink_log to be void, from
    Rami Rosen.

10) Add netns support to the cttimeout infrastructure.

11) Add cgroup2 support to iptables, from Tejun Heo.

12) Introduce nfnl_dereference_protected() in nfnetlink, from Florian.

13) Add support for mangling pkttype in the nf_tables meta expression,
    also from Florian.

BTW, I need that you pull net into net-next, I have another batch that
requires changes that I don't yet see in net.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-12-18T03:08:28+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-12-18T03:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=b3e0d3d7bab14f2544a3314bec53a23dc7dd2206'/>
<id>b3e0d3d7bab14f2544a3314bec53a23dc7dd2206</id>
<content type='text'>
Conflicts:
	drivers/net/geneve.c

Here we had an overlapping change, where in 'net' the extraneous stats
bump was being removed whilst in 'net-next' the final argument to
udp_tunnel6_xmit_skb() was being changed.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	drivers/net/geneve.c

Here we had an overlapping change, where in 'net' the extraneous stats
bump was being removed whilst in 'net-next' the final argument to
udp_tunnel6_xmit_skb() was being changed.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Eliminate NETIF_F_GEN_CSUM and NETIF_F_V[46]_CSUM</title>
<updated>2015-12-15T21:50:20+00:00</updated>
<author>
<name>Tom Herbert</name>
<email>tom@herbertland.com</email>
</author>
<published>2015-12-14T19:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c8cd0989bd151fda87bbf10887b3df18021284bc'/>
<id>c8cd0989bd151fda87bbf10887b3df18021284bc</id>
<content type='text'>
These netif flags are unnecessary convolutions. It is more
straightforward to just use NETIF_F_HW_CSUM, NETIF_F_IP_CSUM,
and NETIF_F_IPV6_CSUM directly.

This patch also:
    - Cleans up can_checksum_protocol
    - Simplifies netdev_intersect_features

Signed-off-by: Tom Herbert &lt;tom@herbertland.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These netif flags are unnecessary convolutions. It is more
straightforward to just use NETIF_F_HW_CSUM, NETIF_F_IP_CSUM,
and NETIF_F_IPV6_CSUM directly.

This patch also:
    - Cleans up can_checksum_protocol
    - Simplifies netdev_intersect_features

Signed-off-by: Tom Herbert &lt;tom@herbertland.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: nf_dup: add missing dependencies with NF_CONNTRACK</title>
<updated>2015-12-10T17:17:06+00:00</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2015-12-09T21:06:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d3340b79ec8222d20453b1e7f261b017d1d09dc9'/>
<id>d3340b79ec8222d20453b1e7f261b017d1d09dc9</id>
<content type='text'>
CONFIG_NF_CONNTRACK=m
CONFIG_NF_DUP_IPV4=y

results in:

   net/built-in.o: In function `nf_dup_ipv4':
&gt;&gt; (.text+0xd434f): undefined reference to `nf_conntrack_untracked'

Reported-by: kbuild test robot &lt;fengguang.wu@intel.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>
CONFIG_NF_CONNTRACK=m
CONFIG_NF_DUP_IPV4=y

results in:

   net/built-in.o: In function `nf_dup_ipv4':
&gt;&gt; (.text+0xd434f): undefined reference to `nf_conntrack_untracked'

Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: remove duplicate include</title>
<updated>2015-11-23T16:54:43+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemming@brocade.com</email>
</author>
<published>2015-11-17T21:45:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=a18fd970ce99eee5105a511621d7064812b8cc8c'/>
<id>a18fd970ce99eee5105a511621d7064812b8cc8c</id>
<content type='text'>
Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.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>
Signed-off-by: Stephen Hemminger &lt;stephen@networkplumber.org&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net ipv4: use preferred log methods</title>
<updated>2015-11-18T18:37:20+00:00</updated>
<author>
<name>Bastian Stender</name>
<email>bst@pengutronix.de</email>
</author>
<published>2015-11-13T10:40:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=09605cc12c07830659a19b266503795c511a2060'/>
<id>09605cc12c07830659a19b266503795c511a2060</id>
<content type='text'>
Replace printk calls with preferred unconditional log method calls to keep
kernel messages clean.

Added newline to "too small MTU" message.

Signed-off-by: Bastian Stender &lt;bst@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace printk calls with preferred unconditional log method calls to keep
kernel messages clean.

Added newline to "too small MTU" message.

Signed-off-by: Bastian Stender &lt;bst@pengutronix.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>netfilter: Fix removal of GRE expectation entries created by PPTP</title>
<updated>2015-11-09T12:32:14+00:00</updated>
<author>
<name>Anthony Lineham</name>
<email>anthony.lineham@alliedtelesis.co.nz</email>
</author>
<published>2015-10-21T22:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=c255cb2ed3c7960b2c68f45de1dc0ac2197c8f78'/>
<id>c255cb2ed3c7960b2c68f45de1dc0ac2197c8f78</id>
<content type='text'>
The uninitialized tuple structure caused incorrect hash calculation
and the lookup failed.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=106441
Signed-off-by: Anthony Lineham &lt;anthony.lineham@alliedtelesis.co.nz&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 uninitialized tuple structure caused incorrect hash calculation
and the lookup failed.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=106441
Signed-off-by: Anthony Lineham &lt;anthony.lineham@alliedtelesis.co.nz&gt;
Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
