<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/ipv4/netfilter, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-01-29T00:00:46Z</updated>
<entry>
<title>inet: frag: Always orphan skbs inside ip_defrag()</title>
<updated>2016-01-29T00:00:46Z</updated>
<author>
<name>Joe Stringer</name>
<email>joe@ovn.org</email>
</author>
<published>2016-01-22T23:49:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8282f27449bf15548cb82c77b6e04ee0ab827bdc'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>netfilter: nf_tables: release objects on netns destruction</title>
<updated>2015-12-28T17:34:35Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2015-12-15T18:39:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=df05ef874b284d833c2d9795a6350c6a373ab6c9'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next</title>
<updated>2015-12-18T20:37:42Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-12-18T20:37:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=59ce9670ce18d067433883adf213d04ded074cbf'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2015-12-18T03:08:28Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2015-12-18T03:08:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b3e0d3d7bab14f2544a3314bec53a23dc7dd2206'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>net: Eliminate NETIF_F_GEN_CSUM and NETIF_F_V[46]_CSUM</title>
<updated>2015-12-15T21:50:20Z</updated>
<author>
<name>Tom Herbert</name>
<email>tom@herbertland.com</email>
</author>
<published>2015-12-14T19:19:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c8cd0989bd151fda87bbf10887b3df18021284bc'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>netfilter: nf_dup: add missing dependencies with NF_CONNTRACK</title>
<updated>2015-12-10T17:17:06Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2015-12-09T21:06:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=d3340b79ec8222d20453b1e7f261b017d1d09dc9'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>netfilter: remove duplicate include</title>
<updated>2015-11-23T16:54:43Z</updated>
<author>
<name>stephen hemminger</name>
<email>shemming@brocade.com</email>
</author>
<published>2015-11-17T21:45:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a18fd970ce99eee5105a511621d7064812b8cc8c'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>net ipv4: use preferred log methods</title>
<updated>2015-11-18T18:37:20Z</updated>
<author>
<name>Bastian Stender</name>
<email>bst@pengutronix.de</email>
</author>
<published>2015-11-13T10:40:34Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=09605cc12c07830659a19b266503795c511a2060'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>netfilter: Fix removal of GRE expectation entries created by PPTP</title>
<updated>2015-11-09T12:32:14Z</updated>
<author>
<name>Anthony Lineham</name>
<email>anthony.lineham@alliedtelesis.co.nz</email>
</author>
<published>2015-10-21T22:17:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c255cb2ed3c7960b2c68f45de1dc0ac2197c8f78'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>ipv4: use sk_fullsock() in ipv4_conntrack_defrag()</title>
<updated>2015-11-05T19:36:09Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2015-11-05T19:34:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f668f5f7e0861087ef9d64d473a9c1399fc25471'/>
<id>urn:sha1:f668f5f7e0861087ef9d64d473a9c1399fc25471</id>
<content type='text'>
Before converting a 'socket pointer' into inet socket,
use sk_fullsock() to detect timewait or request sockets.

Fixes: ca6fb0651883 ("tcp: attach SYNACK messages to request sockets instead of listener")
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Reported-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;
Cc: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
