<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net/llc, branch v3.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net/llc?h=v3.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/net/llc?h=v3.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-01-24T20:33:19Z</updated>
<entry>
<title>llc: Fix race condition in llc_ui_recvmsg</title>
<updated>2012-01-24T20:33:19Z</updated>
<author>
<name>Radu Iliescu</name>
<email>radui@bricsys.com</email>
</author>
<published>2012-01-19T03:57:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=56ac11cf2f21366ad48b356f7a0d1af8cff3588e'/>
<id>urn:sha1:56ac11cf2f21366ad48b356f7a0d1af8cff3588e</id>
<content type='text'>
There is a race on sk_receive_queue between llc_ui_recvmsg and
sock_queue_rcv_skb.

Our current solution is to protect skb_eat in llc_ui_recvmsg
with the queue spinlock.

Signed-off-by: Radu Iliescu &lt;riliescu@ixiacom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>llc: llc_cmsg_rcv was getting called after sk_eat_skb.</title>
<updated>2011-12-19T20:58:52Z</updated>
<author>
<name>Alex Juncu</name>
<email>ajuncu@ixiacom.com</email>
</author>
<published>2011-12-15T23:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9cef310fcdee12b49b8b4c96fd8f611c8873d284'/>
<id>urn:sha1:9cef310fcdee12b49b8b4c96fd8f611c8873d284</id>
<content type='text'>
Received non stream protocol packets were calling llc_cmsg_rcv that used a
skb after that skb was released by sk_eat_skb. This caused received STP
packets to generate kernel panics.

Signed-off-by: Alexandru Juncu &lt;ajuncu@ixiacom.com&gt;
Signed-off-by: Kunjan Naik &lt;knaik@ixiacom.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules</title>
<updated>2011-10-31T23:30:30Z</updated>
<author>
<name>Paul Gortmaker</name>
<email>paul.gortmaker@windriver.com</email>
</author>
<published>2011-07-15T15:47:34Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf'/>
<id>urn:sha1:bc3b2d7fb9b014d75ebb79ba371a763dbab5e8cf</id>
<content type='text'>
These files are non modular, but need to export symbols using
the macros now living in export.h -- call out the include so
that things won't break when we remove the implicit presence
of module.h from everywhere.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>llc: Fix length check in llc_fixup_skb().</title>
<updated>2011-04-12T01:59:05Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-04-12T01:59:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa8673599f1d269b4e4d9b0c0f61fca57bc02699'/>
<id>urn:sha1:aa8673599f1d269b4e4d9b0c0f61fca57bc02699</id>
<content type='text'>
Fixes bugzilla #32872

The LLC stack pretends to support non-linear skbs but there is a
direct use of skb_tail_pointer() in llc_fixup_skb().

Use pskb_may_pull() to see if data_size bytes remain and can be
accessed linearly in the packet, instead of direct pointer checks.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>llc: avoid skb_clone() if there is only one handler</title>
<updated>2011-02-28T20:28:50Z</updated>
<author>
<name>Changli Gao</name>
<email>xiaosuo@gmail.com</email>
</author>
<published>2011-02-22T01:55:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=696ea472e19c6d1fa843bb1abce73b9c3a414391'/>
<id>urn:sha1:696ea472e19c6d1fa843bb1abce73b9c3a414391</id>
<content type='text'>
Signed-off-by: Changli Gao &lt;xiaosuo@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()</title>
<updated>2010-12-08T18:07:24Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2010-12-05T01:23:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=941666c2e3e0f9f6a1cb5808d02352d445bd702c'/>
<id>urn:sha1:941666c2e3e0f9f6a1cb5808d02352d445bd702c</id>
<content type='text'>
Le dimanche 05 décembre 2010 à 09:19 +0100, Eric Dumazet a écrit :

&gt; Hmm..
&gt;
&gt; If somebody can explain why RTNL is held in arp_ioctl() (and therefore
&gt; in arp_req_delete()), we might first remove RTNL use in arp_ioctl() so
&gt; that your patch can be applied.
&gt;
&gt; Right now it is not good, because RTNL wont be necessarly held when you
&gt; are going to call arp_invalidate() ?

While doing this analysis, I found a refcount bug in llc, I'll send a
patch for net-2.6

Meanwhile, here is the patch for net-next-2.6

Your patch then can be applied after mine.

Thanks

[PATCH] net: RCU conversion of dev_getbyhwaddr() and arp_ioctl()

dev_getbyhwaddr() was called under RTNL.

Rename it to dev_getbyhwaddr_rcu() and change all its caller to now use
RCU locking instead of RTNL.

Change arp_ioctl() to use RCU instead of RTNL locking.

Note: this fix a dev refcount bug in llc

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>net/llc: storing negative error codes in unsigned short</title>
<updated>2010-09-17T05:38:23Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2010-09-16T08:12:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2507136f74f70a4869bd4f525d48715ae66db43d'/>
<id>urn:sha1:2507136f74f70a4869bd4f525d48715ae66db43d</id>
<content type='text'>
If the alloc_skb() fails then we return 65431 instead of -ENOBUFS
(-105).

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/llc: make opt unsigned in llc_ui_setsockopt()</title>
<updated>2010-09-13T19:44:10Z</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2010-09-10T01:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=339db11b219f36cf7da61b390992d95bb6b7ba2e'/>
<id>urn:sha1:339db11b219f36cf7da61b390992d95bb6b7ba2e</id>
<content type='text'>
The members of struct llc_sock are unsigned so if we pass a negative
value for "opt" it can cause a sign bug.  Also it can cause an integer
overflow when we multiply "opt * HZ".

CC: stable@kernel.org
Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2010-05-12T07:05:35Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-05-12T07:05:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=278554bd6579206921f5d8a523649a7a57f8850d'/>
<id>urn:sha1:278554bd6579206921f5d8a523649a7a57f8850d</id>
<content type='text'>
Conflicts:
	Documentation/feature-removal-schedule.txt
	drivers/net/wireless/ath/ar9170/usb.c
	drivers/scsi/iscsi_tcp.c
	net/ipv4/ipmr.c
</content>
</entry>
<entry>
<title>net: Fix FDDI and TR config checks in ipv4 arp and LLC.</title>
<updated>2010-05-10T11:59:07Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2010-05-10T11:59:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f0ecde1466f21edf577b809735f4f35f354777a0'/>
<id>urn:sha1:f0ecde1466f21edf577b809735f4f35f354777a0</id>
<content type='text'>
Need to check both CONFIG_FOO and CONFIG_FOO_MODULE

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
