<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/net, branch v2.6.37</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=v2.6.37</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.37'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2010-12-23T20:03:57Z</updated>
<entry>
<title>Revert "ipv4: Allow configuring subnets as local addresses"</title>
<updated>2010-12-23T20:03:57Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-12-23T20:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e058464990c2ef1f3ecd6b83a154913c3c06f02a'/>
<id>urn:sha1:e058464990c2ef1f3ecd6b83a154913c3c06f02a</id>
<content type='text'>
This reverts commit 4465b469008bc03b98a1b8df4e9ae501b6c69d4b.

Conflicts:

	net/ipv4/fib_frontend.c

As reported by Ben Greear, this causes regressions:

&gt; Change 4465b469008bc03b98a1b8df4e9ae501b6c69d4b caused rules
&gt; to stop matching the input device properly because the
&gt; FLOWI_FLAG_MATCH_ANY_IIF is always defined in ip_dev_find().
&gt;
&gt; This breaks rules such as:
&gt;
&gt; ip rule add pref 512 lookup local
&gt; ip rule del pref 0 lookup local
&gt; ip link set eth2 up
&gt; ip -4 addr add 172.16.0.102/24 broadcast 172.16.0.255 dev eth2
&gt; ip rule add to 172.16.0.102 iif eth2 lookup local pref 10
&gt; ip rule add iif eth2 lookup 10001 pref 20
&gt; ip route add 172.16.0.0/24 dev eth2 table 10001
&gt; ip route add unreachable 0/0 table 10001
&gt;
&gt; If you had a second interface 'eth0' that was on a different
&gt; subnet, pinging a system on that interface would fail:
&gt;
&gt;   [root@ct503-60 ~]# ping 192.168.100.1
&gt;   connect: Invalid argument

Reported-by: Ben Greear &lt;greearb@candelatech.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2010-12-23T01:34:40Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-12-23T01:34:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac'/>
<id>urn:sha1:b7e03ec9a6b9d0c0cb1e435026d46dfcd78e48ac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net: Fix range checks in tcf_valid_offset().</title>
<updated>2010-12-21T20:43:16Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-12-21T20:43:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=da521b2c4f046383bc8941604174bc0e8bffb430'/>
<id>urn:sha1:da521b2c4f046383bc8941604174bc0e8bffb430</id>
<content type='text'>
This function has three bugs:

1) The offset should be valid most of the time, this is just
   a sanity check, therefore we should use "likely" not "unlikely"

2) This is the only place where we can check for arithmetic overflow
   of the pointer plus the length.

3) The existing range checks are off by one, the valid range is
   skb-&gt;head to skb_tail_pointer(), inclusive.

Based almost entirely upon a patch by Ralph Loader.

Reported-by: Ralph Loader &lt;suckfish@ihug.co.nz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mac80211/rt2x00: add ieee80211_tx_status_ni()</title>
<updated>2010-12-20T18:48:04Z</updated>
<author>
<name>Johannes Stezenbach</name>
<email>js@sig21.net</email>
</author>
<published>2010-11-30T15:49:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9f333281a7da4c3a59bccc0cb53f7590eb850d93'/>
<id>urn:sha1:9f333281a7da4c3a59bccc0cb53f7590eb850d93</id>
<content type='text'>
All rt2x00 drivers except rt2800pci call ieee80211_tx_status() from
a workqueue, which causes "NOHZ: local_softirq_pending 08" messages.

To fix it, add ieee80211_tx_status_ni() similar to ieee80211_rx_ni()
which can be called from process context, and call it from
rt2x00lib_txdone().  For the rt2800pci special case a driver
flag is introduced.

https://bugzilla.kernel.org/show_bug.cgi?id=24892

Signed-off-by: Johannes Stezenbach &lt;js@sig21.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>net_sched: always clone skbs</title>
<updated>2010-12-20T18:27:19Z</updated>
<author>
<name>Changli Gao</name>
<email>xiaosuo@gmail.com</email>
</author>
<published>2010-12-20T04:35:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=173021072e86a0a5b3d2271347493a3e0d5f68e8'/>
<id>urn:sha1:173021072e86a0a5b3d2271347493a3e0d5f68e8</id>
<content type='text'>
Pawel reported a panic related to handling shared skbs in ixgbe
incorrectly. So we need to revert my previous patch to work around
this bug. Instead of reverting the patch completely, I just revert
the essential lines, so we can add the previous optimization
back more easily in future.

    commit 3511c9132f8b1e1b5634e41a3331c44b0c13be70
    Author: Changli Gao &lt;xiaosuo@gmail.com&gt;
    Date:   Sat Oct 16 13:04:08 2010 +0000

        net_sched: remove the unused parameter of qdisc_create_dflt()

Reported-by: Pawel Staszewski &lt;pstaszewski@itcare.pl&gt;
Signed-off-by: Changli Gao &lt;xiaosuo@gmail.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Fragment locally generated tunnel-mode IPSec6 packets as needed.</title>
<updated>2010-12-20T04:22:23Z</updated>
<author>
<name>David Stevens</name>
<email>dlstevens@us.ibm.com</email>
</author>
<published>2010-12-17T11:42:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=ad0081e43af6de3fecf308b0d098f9611835766b'/>
<id>urn:sha1:ad0081e43af6de3fecf308b0d098f9611835766b</id>
<content type='text'>
This patch modifies IPsec6 to fragment IPv6 packets that are
locally generated as needed.

This version of the patch only fragments in tunnel mode, so that fragment
headers will not be obscured by ESP in transport mode.

Signed-off-by: David L Stevens &lt;dlstevens@us.ibm.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: fix nulls list corruptions in sk_prot_alloc</title>
<updated>2010-12-16T22:26:56Z</updated>
<author>
<name>Octavian Purdila</name>
<email>opurdila@ixiacom.com</email>
</author>
<published>2010-12-16T22:26:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fcbdf09d9652c8919dcf47072e3ae7dcb4eb98ac'/>
<id>urn:sha1:fcbdf09d9652c8919dcf47072e3ae7dcb4eb98ac</id>
<content type='text'>
Special care is taken inside sk_port_alloc to avoid overwriting
skc_node/skc_nulls_node. We should also avoid overwriting
skc_bind_node/skc_portaddr_node.

The patch fixes the following crash:

 BUG: unable to handle kernel paging request at fffffffffffffff0
 IP: [&lt;ffffffff812ec6dd&gt;] udp4_lib_lookup2+0xad/0x370
 [&lt;ffffffff812ecc22&gt;] __udp4_lib_lookup+0x282/0x360
 [&lt;ffffffff812ed63e&gt;] __udp4_lib_rcv+0x31e/0x700
 [&lt;ffffffff812bba45&gt;] ? ip_local_deliver_finish+0x65/0x190
 [&lt;ffffffff812bbbf8&gt;] ? ip_local_deliver+0x88/0xa0
 [&lt;ffffffff812eda35&gt;] udp_rcv+0x15/0x20
 [&lt;ffffffff812bba45&gt;] ip_local_deliver_finish+0x65/0x190
 [&lt;ffffffff812bbbf8&gt;] ip_local_deliver+0x88/0xa0
 [&lt;ffffffff812bb2cd&gt;] ip_rcv_finish+0x32d/0x6f0
 [&lt;ffffffff8128c14c&gt;] ? netif_receive_skb+0x99c/0x11c0
 [&lt;ffffffff812bb94b&gt;] ip_rcv+0x2bb/0x350
 [&lt;ffffffff8128c14c&gt;] netif_receive_skb+0x99c/0x11c0

Signed-off-by: Leonard Crestez &lt;lcrestez@ixiacom.com&gt;
Signed-off-by: Octavian Purdila &lt;opurdila@ixiacom.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>filter: fix sk_filter rcu handling</title>
<updated>2010-12-06T17:29:43Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-12-06T17:29:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=46bcf14f44d8f31ecfdc8b6708ec15a3b33316d9'/>
<id>urn:sha1:46bcf14f44d8f31ecfdc8b6708ec15a3b33316d9</id>
<content type='text'>
Pavel Emelyanov tried to fix a race between sk_filter_(de|at)tach and
sk_clone() in commit 47e958eac280c263397

Problem is we can have several clones sharing a common sk_filter, and
these clones might want to sk_filter_attach() their own filters at the
same time, and can overwrite old_filter-&gt;rcu, corrupting RCU queues.

We can not use filter-&gt;rcu without being sure no other thread could do
the same thing.

Switch code to a more conventional ref-counting technique : Do the
atomic decrement immediately and queue one rcu call back when last
reference is released.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>af_unix: limit recursion level</title>
<updated>2010-11-29T17:45:15Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-11-25T04:11:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=25888e30319f8896fc656fc68643e6a078263060'/>
<id>urn:sha1:25888e30319f8896fc656fc68643e6a078263060</id>
<content type='text'>
Its easy to eat all kernel memory and trigger NMI watchdog, using an
exploit program that queues unix sockets on top of others.

lkml ref : http://lkml.org/lkml/2010/11/25/8

This mechanism is used in applications, one choice we have is to have a
recursion limit.

Other limits might be needed as well (if we queue other types of files),
since the passfd mechanism is currently limited by socket receive queue
sizes only.

Add a recursion_level to unix socket, allowing up to 4 levels.

Each time we send an unix socket through sendfd mechanism, we copy its
recursion level (plus one) to receiver. This recursion level is cleared
when socket receive queue is emptied.

Reported-by: Марк Коренберг &lt;socketpair@gmail.com&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6</title>
<updated>2010-11-18T19:56:09Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-11-18T19:56:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=07bfa524d4c67acbb6b6fbdd1dea923d07853c04'/>
<id>urn:sha1:07bfa524d4c67acbb6b6fbdd1dea923d07853c04</id>
<content type='text'>
</content>
</entry>
</feed>
