<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net, branch v2.6.32.59</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net?h=v2.6.32.59</id>
<link rel='self' href='https://git.amat.us/linux/atom/net?h=v2.6.32.59'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-03-04T17:49:19Z</updated>
<entry>
<title>mac80211: timeout a single frame in the rx reorder buffer</title>
<updated>2012-03-04T17:49:19Z</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2012-02-01T16:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d5101f5e6df8e31cd58a393aacb6280a55b8787b'/>
<id>urn:sha1:d5101f5e6df8e31cd58a393aacb6280a55b8787b</id>
<content type='text'>
commit 07ae2dfcf4f7143ce191c6436da1c33f179af0d6 upstream.

The current code checks for stored_mpdu_num &gt; 1, causing
the reorder_timer to be triggered indefinitely, but the
frame is never timed-out (until the next packet is received)

Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Acked-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>net: sock_queue_err_skb() dont mess with sk_forward_alloc</title>
<updated>2012-02-13T19:28:51Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-06-01T06:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a77912b9bce47661279f4f1a5be10b15d40b402d'/>
<id>urn:sha1:a77912b9bce47661279f4f1a5be10b15d40b402d</id>
<content type='text'>
commit b1faf5666438090a4dc4fceac8502edc7788b7e3 upstream.

Correct sk_forward_alloc handling for error_queue would need to use a
backlog of frames that softirq handler could not deliver because socket
is owned by user thread. Or extend backlog processing to be able to
process normal and error packets.

Another possibility is to not use mem charge for error queue, this is
what I implemented in this patch.

Note: this reverts commit 29030374
(net: fix sk_forward_alloc corruptions), since we dont need to lock
socket anymore.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: 单卫 &lt;shanwei88@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>net: fix sk_forward_alloc corruptions</title>
<updated>2012-02-13T19:28:51Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-05-29T07:20:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=956a79d503998a763dd71847f2f9eb19349c2aba'/>
<id>urn:sha1:956a79d503998a763dd71847f2f9eb19349c2aba</id>
<content type='text'>
commit 2903037400a26e7c0cc93ab75a7d62abfacdf485 upstream.

As David found out, sock_queue_err_skb() should be called with socket
lock hold, or we risk sk_forward_alloc corruption, since we use non
atomic operations to update this field.

This patch adds bh_lock_sock()/bh_unlock_sock() pair to three spots.
(BH already disabled)

1) skb_tstamp_tx()
2) Before calling ip_icmp_error(), in __udp4_lib_err()
3) Before calling ipv6_icmp_error(), in __udp6_lib_err()

Reported-by: Anton Blanchard &lt;anton@samba.org&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Cc: 单卫 &lt;shanwei88@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>rpc client can not deal with ENOSOCK, so translate it into ENOCONN</title>
<updated>2012-02-13T19:28:49Z</updated>
<author>
<name>Bian Naimeng</name>
<email>biannm@cn.fujitsu.com</email>
</author>
<published>2010-03-08T06:49:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=607ca4f51d6c4e7bec6d78f0a211476dae5552fc'/>
<id>urn:sha1:607ca4f51d6c4e7bec6d78f0a211476dae5552fc</id>
<content type='text'>
commit 5fe46e9d733f19a880ef7e516002bd4c2b833e14 upstream.

If NFSv4 client send a request before connect, or the old connection was broken
because a ETIMEOUT error catched by call_status, -&gt;send_request will return
ENOSOCK, but rpc layer can not deal with it, so make sure -&gt;send_request can
translate ENOSOCK into ENOCONN.

Signed-off-by: Bian Naimeng &lt;biannm@cn.fujitsu.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>svcrpc: destroy server sockets all at once</title>
<updated>2012-01-25T21:53:22Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2011-11-29T16:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4ad71a69292de1f9d8f7a38a3f7e6508e89b3089'/>
<id>urn:sha1:4ad71a69292de1f9d8f7a38a3f7e6508e89b3089</id>
<content type='text'>
commit 2fefb8a09e7ed251ae8996e0c69066e74c5aa560 upstream.

There's no reason I can see that we need to call sv_shutdown between
closing the two lists of sockets.

Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>svcrpc: fix double-free on shutdown of nfsd after changing pool mode</title>
<updated>2012-01-25T21:53:22Z</updated>
<author>
<name>J. Bruce Fields</name>
<email>bfields@redhat.com</email>
</author>
<published>2011-12-23T01:22:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=da27d545251bf5d1216307ada756bf747a46b6e4'/>
<id>urn:sha1:da27d545251bf5d1216307ada756bf747a46b6e4</id>
<content type='text'>
commit 61c8504c428edcebf23b97775a129c5b393a302b upstream.

The pool_to and to_pool fields of the global svc_pool_map are freed on
shutdown, but are initialized in nfsd startup only in the
SVC_POOL_PERCPU and SVC_POOL_PERNODE cases.

They *are* initialized to zero on kernel startup.  So as long as you use
only SVC_POOL_GLOBAL (the default), this will never be a problem.

You're also OK if you only ever use SVC_POOL_PERCPU or SVC_POOL_PERNODE.

However, the following sequence events leads to a double-free:

	1. set SVC_POOL_PERCPU or SVC_POOL_PERNODE
	2. start nfsd: both fields are initialized.
	3. shutdown nfsd: both fields are freed.
	4. set SVC_POOL_GLOBAL
	5. start nfsd: the fields are left untouched.
	6. shutdown nfsd: now we try to free them again.

Step 4 is actually unnecessary, since (for some bizarre reason), nfsd
automatically resets the pool mode to SVC_POOL_GLOBAL on shutdown.

Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>xfrm: Fix key lengths for rfc3686(ctr(aes))</title>
<updated>2011-12-21T21:04:52Z</updated>
<author>
<name>Tushar Gohad</name>
<email>tgohad@mvista.com</email>
</author>
<published>2011-07-28T10:36:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=57cc6e02424b967f70a4270e4f059d3b9d684605'/>
<id>urn:sha1:57cc6e02424b967f70a4270e4f059d3b9d684605</id>
<content type='text'>
commit 4203223a1aed862b4445fdcd260d6139603a51d9 upstream.

Fix the min and max bit lengths for AES-CTR (RFC3686) keys.
The number of bits in key spec is the key length (128/256)
plus 32 bits of nonce.

This change takes care of the "Invalid key length" errors
reported by setkey when specifying 288 bit keys for aes-ctr.

Signed-off-by: Tushar Gohad &lt;tgohad@mvista.com&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Calvin Owens &lt;jcalvinowens@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>gro: reset vlan_tci on reuse</title>
<updated>2011-12-09T17:21:40Z</updated>
<author>
<name>Benjamin Poirier</name>
<email>bpoirier@suse.de</email>
</author>
<published>2011-11-30T12:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5aff28abc7e0ec1ddd562372ae4fa01e8e4d4073'/>
<id>urn:sha1:5aff28abc7e0ec1ddd562372ae4fa01e8e4d4073</id>
<content type='text'>
This one liner is part of upstream
commit 3701e51382a026cba10c60b03efabe534fba4ca4
Author: Jesse Gross &lt;jesse@nicira.com&gt;

    vlan: Centralize handling of hardware acceleration.

The bulk of that commit is a rework of the hardware assisted vlan tagging
driver interface, and as such doesn't classify for -stable inclusion. The fix
that is needed is a part of that commit but can work independently of the
rest.

This patch can avoid panics on the 2.6.32.y -stable kernels and is in the same
spirit as mainline commits
66c46d7 gro: Reset dev pointer on reuse
6d152e2 gro: reset skb_iif on reuse
which are already in -stable.

For drivers using the vlan_gro_frags() interface, a packet with an invalid tci
leads to GRO_DROP and napi_reuse_skb(). The skb has to be sanitized before
being reused or we may send an skb with an invalid vlan_tci field up the stack
where it is not expected.

Signed-off-by: Benjamin Poirier &lt;bpoirier@suse.de&gt;
Cc: Jesse Gross &lt;jesse@nicira.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;

</content>
</entry>
<entry>
<title>nl80211: fix MAC address validation</title>
<updated>2011-12-09T17:21:40Z</updated>
<author>
<name>Eliad Peller</name>
<email>eliad@wizery.com</email>
</author>
<published>2011-11-24T16:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a1b4c8a58d2b14f1900861ff91b29d7724be3f18'/>
<id>urn:sha1:a1b4c8a58d2b14f1900861ff91b29d7724be3f18</id>
<content type='text'>
commit e007b857e88097c96c45620bf3b04a4e309053d1 upstream.

MAC addresses have a fixed length. The current
policy allows passing &lt; ETH_ALEN bytes, which
might result in reading beyond the buffer.

Signed-off-by: Eliad Peller &lt;eliad@wizery.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared</title>
<updated>2011-12-09T17:21:37Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2011-11-22T12:44:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5b28da531873ddafa70ab7d9ef7845991270af15'/>
<id>urn:sha1:5b28da531873ddafa70ab7d9ef7845991270af15</id>
<content type='text'>
commit 24ca9a847791fd53d9b217330b15f3c285827a18 upstream.

By returning '0' instead of 'EAGAIN' when the tests in xs_nospace() fail
to find evidence of socket congestion, we are making the RPC engine believe
that the message was incorrectly sent and so it disconnects the socket
instead of just retrying.

The bug appears to have been introduced by commit
5e3771ce2d6a69e10fcc870cdf226d121d868491 (SUNRPC: Ensure that xs_nospace
return values are propagated).

Reported-by: Andrew Cooper &lt;andrew.cooper3@citrix.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Tested-by: Andrew Cooper &lt;andrew.cooper3@citrix.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
