<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net, branch v3.2.34</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net?h=v3.2.34</id>
<link rel='self' href='https://git.amat.us/linux/atom/net?h=v3.2.34'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-11-16T16:47:18Z</updated>
<entry>
<title>ipv6: send unsolicited neighbour advertisements to all-nodes</title>
<updated>2012-11-16T16:47:18Z</updated>
<author>
<name>Hannes Frederic Sowa</name>
<email>hannes@stressinduktion.org</email>
</author>
<published>2012-11-06T16:18:41Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2a40657242f3675a8820a00f59c2e96cbed25d23'/>
<id>urn:sha1:2a40657242f3675a8820a00f59c2e96cbed25d23</id>
<content type='text'>
[ Upstream commit 60713a0ca7fd6651b951cc1b4dbd528d1fc0281b ]

As documented in RFC4861 (Neighbor Discovery for IP version 6) 7.2.6.,
unsolicited neighbour advertisements should be sent to the all-nodes
multicast address.

Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>af-packet: fix oops when socket is not present</title>
<updated>2012-11-16T16:47:17Z</updated>
<author>
<name>Eric Leblond</name>
<email>eric@regit.org</email>
</author>
<published>2012-11-06T02:10:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09fa6cbf9ffc8dddc11263dba070e3e14adea723'/>
<id>urn:sha1:09fa6cbf9ffc8dddc11263dba070e3e14adea723</id>
<content type='text'>
[ Upstream commit a3d744e995d2b936c500585ae39d99ee251c89b4 ]

Due to a NULL dereference, the following patch is causing oops
in normal trafic condition:

commit c0de08d04215031d68fa13af36f347a6cfa252ca
Author: Eric Leblond &lt;eric@regit.org&gt;
Date:   Thu Aug 16 22:02:58 2012 +0000

    af_packet: don't emit packet on orig fanout group

This buggy patch was a feature fix and has reached most stable
branches.

When skb-&gt;sk is NULL and when packet fanout is used, there is a
crash in match_fanout_group where skb-&gt;sk is accessed.
This patch fixes the issue by returning false as soon as the
socket is NULL: this correspond to the wanted behavior because
the kernel as to resend the skb to all the listening socket in
this case.

Signed-off-by: Eric Leblond &lt;eric@regit.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>l2tp: fix oops in l2tp_eth_create() error path</title>
<updated>2012-11-16T16:47:17Z</updated>
<author>
<name>Tom Parkin</name>
<email>tparkin@katalix.com</email>
</author>
<published>2012-10-29T23:41:48Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=20f2d6825ac85669edc96717f584a7194c4f3af6'/>
<id>urn:sha1:20f2d6825ac85669edc96717f584a7194c4f3af6</id>
<content type='text'>
[ Upstream commit 789336360e0a2aeb9750c16ab704a02cbe035e9e ]

When creating an L2TPv3 Ethernet session, if register_netdev() should fail for
any reason (for example, automatic naming for "l2tpeth%d" interfaces hits the
32k-interface limit), the netdev is freed in the error path.  However, the
l2tp_eth_sess structure's dev pointer is left uncleared, and this results in
l2tp_eth_delete() then attempting to unregister the same netdev later in the
session teardown.  This results in an oops.

To avoid this, clear the session dev pointer in the error path.

Signed-off-by: Tom Parkin &lt;tparkin@katalix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>net: fix divide by zero in tcp algorithm illinois</title>
<updated>2012-11-16T16:47:16Z</updated>
<author>
<name>Jesper Dangaard Brouer</name>
<email>brouer@redhat.com</email>
</author>
<published>2012-10-31T02:45:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=df769f065d7bebf0ddc5f61605dbb1d8ea5ee2d8'/>
<id>urn:sha1:df769f065d7bebf0ddc5f61605dbb1d8ea5ee2d8</id>
<content type='text'>
[ Upstream commit 8f363b77ee4fbf7c3bbcf5ec2c5ca482d396d664 ]

Reading TCP stats when using TCP Illinois congestion control algorithm
can cause a divide by zero kernel oops.

The division by zero occur in tcp_illinois_info() at:
 do_div(t, ca-&gt;cnt_rtt);
where ca-&gt;cnt_rtt can become zero (when rtt_reset is called)

Steps to Reproduce:
 1. Register tcp_illinois:
     # sysctl -w net.ipv4.tcp_congestion_control=illinois
 2. Monitor internal TCP information via command "ss -i"
     # watch -d ss -i
 3. Establish new TCP conn to machine

Either it fails at the initial conn, or else it needs to wait
for a loss or a reset.

This is only related to reading stats.  The function avg_delay() also
performs the same divide, but is guarded with a (ca-&gt;cnt_rtt &gt; 0) at its
calling point in update_params().  Thus, simply fix tcp_illinois_info().

Function tcp_illinois_info() / get_info() is called without
socket lock.  Thus, eliminate any race condition on ca-&gt;cnt_rtt
by using a local stack variable.  Simply reuse info.tcpv_rttcnt,
as its already set to ca-&gt;cnt_rtt.
Function avg_delay() is not affected by this race condition, as
its called with the socket lock.

Cc: Petr Matousek &lt;pmatouse@redhat.com&gt;
Signed-off-by: Jesper Dangaard Brouer &lt;brouer@redhat.com&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Acked-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ipv6: Set default hoplimit as zero.</title>
<updated>2012-11-16T16:47:16Z</updated>
<author>
<name>Li RongQing</name>
<email>roy.qing.li@gmail.com</email>
</author>
<published>2012-10-24T06:01:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=379e38f89ef5e17a048482c900af4acb3afb86ef'/>
<id>urn:sha1:379e38f89ef5e17a048482c900af4acb3afb86ef</id>
<content type='text'>
[ Upstream commit 14edd87dc67311556f1254a8f29cf4dd6cb5b7d1 ]

Commit a02e4b7dae4551(Demark default hoplimit as zero) only changes the
hoplimit checking condition and default value in ip6_dst_hoplimit, not
zeros all hoplimit default value.

Keep the zeroing ip6_template_metrics[RTAX_HOPLIMIT - 1] to force it as
const, cause as a37e6e344910(net: force dst_default_metrics to const
section)

Signed-off-by: Li RongQing &lt;roy.qing.li@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>tcp: fix FIONREAD/SIOCINQ</title>
<updated>2012-11-16T16:47:15Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2012-10-18T09:14:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e8c9f482ed9dc59f3747a065e497854ddd174e60'/>
<id>urn:sha1:e8c9f482ed9dc59f3747a065e497854ddd174e60</id>
<content type='text'>
[ Upstream commit a3374c42aa5f7237e87ff3b0622018636b0c847e ]

tcp_ioctl() tries to take into account if tcp socket received a FIN
to report correct number bytes in receive queue.

But its flaky because if the application ate the last skb,
we return 1 instead of 0.

Correct way to detect that FIN was received is to test SOCK_DONE.

Reported-by: Elliot Hughes &lt;enh@google.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Neal Cardwell &lt;ncardwell@google.com&gt;
Cc: Tom Herbert &lt;therbert@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>netlink: use kfree_rcu() in netlink_release()</title>
<updated>2012-11-16T16:47:15Z</updated>
<author>
<name>Eric Dumazet</name>
<email>edumazet@google.com</email>
</author>
<published>2012-10-18T03:21:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9e4ac2075cbf126be9e37762c8c1c6aec714dcc5'/>
<id>urn:sha1:9e4ac2075cbf126be9e37762c8c1c6aec714dcc5</id>
<content type='text'>
[ Upstream commit 6d772ac5578f711d1ce7b03535d1c95bffb21dff ]

On some suspend/resume operations involving wimax device, we have
noticed some intermittent memory corruptions in netlink code.

Stéphane Marchesin tracked this corruption in netlink_update_listeners()
and suggested a patch.

It appears netlink_release() should use kfree_rcu() instead of kfree()
for the listeners structure as it may be used by other cpus using RCU
protection.

netlink_release() must set to NULL the listeners pointer when
it is about to be freed.

Also have to protect netlink_update_listeners() and
netlink_has_listeners() if listeners is NULL.

Add a nl_deref_protected() lockdep helper to properly document which
locks protects us.

Reported-by: Jonathan Kliegman &lt;kliegs@google.com&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Stéphane Marchesin &lt;marcheu@google.com&gt;
Cc: Sam Leffler &lt;sleffler@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>sctp: fix call to SCTP_CMD_PROCESS_SACK in sctp_cmd_interpreter()</title>
<updated>2012-11-16T16:47:14Z</updated>
<author>
<name>Zijie Pan</name>
<email>zijie.pan@6wind.com</email>
</author>
<published>2012-10-15T03:56:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=de77b7955c3985ca95f64af3cb10557eb17eacee'/>
<id>urn:sha1:de77b7955c3985ca95f64af3cb10557eb17eacee</id>
<content type='text'>
[ Upstream commit f6e80abeab928b7c47cc1fbf53df13b4398a2bec ]

Bug introduced by commit edfee0339e681a784ebacec7e8c2dc97dc6d2839
(sctp: check src addr when processing SACK to update transport state)

Signed-off-by: Zijie Pan &lt;zijie.pan@6wind.com&gt;
Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: Vlad Yasevich &lt;vyasevich@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>mac80211: make sure data is accessible in EAPOL check</title>
<updated>2012-11-16T16:46:58Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-10-25T22:41:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0884603402e58608f62f17306aedb33b862d7b6d'/>
<id>urn:sha1:0884603402e58608f62f17306aedb33b862d7b6d</id>
<content type='text'>
commit 6dbda2d00d466225f9db1dc695ff852443f28832 upstream.

The code to allow EAPOL frames even when the station
isn't yet marked associated needs to check that the
incoming frame is long enough and due to paged RX it
also can't assume skb-&gt;data contains the right data,
it must use skb_copy_bits(). Fix this to avoid using
data that doesn't really exist.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>mac80211: verify that skb data is present</title>
<updated>2012-11-16T16:46:58Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes.berg@intel.com</email>
</author>
<published>2012-10-25T22:36:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b0f5b374eadb79d66dedd9cec7b0f4e7bb6f70c4'/>
<id>urn:sha1:b0f5b374eadb79d66dedd9cec7b0f4e7bb6f70c4</id>
<content type='text'>
commit 9b395bc3be1cebf0144a127c7e67d56dbdac0930 upstream.

A number of places in the mesh code don't check that
the frame data is present and in the skb header when
trying to access. Add those checks and the necessary
pskb_may_pull() calls. This prevents accessing data
that doesn't actually exist.

To do this, export ieee80211_get_mesh_hdrlen() to be
able to use it in mac80211.

Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
</feed>
