<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net, branch v2.6.26.4</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net?h=v2.6.26.4</id>
<link rel='self' href='https://git.amat.us/linux/atom/net?h=v2.6.26.4'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2008-09-08T11:44:30Z</updated>
<entry>
<title>sunrpc: fix possible overrun on read of /proc/sys/sunrpc/transports</title>
<updated>2008-09-08T11:44:30Z</updated>
<author>
<name>Cyrill Gorcunov</name>
<email>gorcunov@gmail.com</email>
</author>
<published>2008-09-01T18:51:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=94d5272a13ad73b0960826c61f3944cf7eb7286a'/>
<id>urn:sha1:94d5272a13ad73b0960826c61f3944cf7eb7286a</id>
<content type='text'>
commit 27df6f25ff218072e0e879a96beeb398a79cdbc8 upstream

Vegard Nossum reported
----------------------
&gt; I noticed that something weird is going on with /proc/sys/sunrpc/transports.
&gt; This file is generated in net/sunrpc/sysctl.c, function proc_do_xprt(). When
&gt; I "cat" this file, I get the expected output:
&gt;    $ cat /proc/sys/sunrpc/transports
&gt;    tcp 1048576
&gt;    udp 32768

&gt; But I think that it does not check the length of the buffer supplied by
&gt; userspace to read(). With my original program, I found that the stack was
&gt; being overwritten by the characters above, even when the length given to
&gt; read() was just 1.

David Wagner added (among other things) that copy_to_user could be
probably used here.

Ingo Oeser suggested to use simple_read_from_buffer() here.

The conclusion is that proc_do_xprt doesn't check for userside buffer
size indeed so fix this by using Ingo's suggestion.

Reported-by: Vegard Nossum &lt;vegard.nossum@gmail.com&gt;
Signed-off-by: Cyrill Gorcunov &lt;gorcunov@gmail.com&gt;
CC: Ingo Oeser &lt;ioe-lkml@rameria.de&gt;
Cc: Neil Brown &lt;neilb@suse.de&gt;
Cc: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Cc: Greg Banks &lt;gnb@sgi.com&gt;
Cc: Tom Tucker &lt;tom@opengridcomputing.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@citi.umich.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ipsec: Fix deadlock in xfrm_state management.</title>
<updated>2008-09-08T11:44:29Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-09-03T08:03:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=464f8f4932d128a3e80402ec85d7c40c1f5e6899'/>
<id>urn:sha1:464f8f4932d128a3e80402ec85d7c40c1f5e6899</id>
<content type='text'>
[ Upstream commit 37b08e34a98c664bea86e3fae718ac45a46b7276 ]

Ever since commit 4c563f7669c10a12354b72b518c2287ffc6ebfb3
("[XFRM]: Speed up xfrm_policy and xfrm_state walking") it is
illegal to call __xfrm_state_destroy (and thus xfrm_state_put())
with xfrm_state_lock held.  If we do, we'll deadlock since we
have the lock already and __xfrm_state_destroy() tries to take
it again.

Fix this by pushing the xfrm_state_put() calls after the lock
is dropped.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sctp: fix random memory dereference with SCTP_HMAC_IDENT option.</title>
<updated>2008-09-08T11:44:25Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2008-09-03T08:02:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ff134d489673b3d678d313e8dddae24c05eb0291'/>
<id>urn:sha1:ff134d489673b3d678d313e8dddae24c05eb0291</id>
<content type='text'>
[ Upstream commit d97240552cd98c4b07322f30f66fd9c3ba4171de ]

The number of identifiers needs to be checked against the option
length.  Also, the identifier index provided needs to be verified
to make sure that it doesn't exceed the bounds of the array.

Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sctp: correct bounds check in sctp_setsockopt_auth_key</title>
<updated>2008-09-08T11:44:25Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2008-09-03T08:02:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=53144b419e176e51157f6b9fc651ab9e733cb000'/>
<id>urn:sha1:53144b419e176e51157f6b9fc651ab9e733cb000</id>
<content type='text'>
[ Upstream commit 328fc47ea0bcc27d9afa69c3ad6e52431cadd76c ]

The bonds check to prevent buffer overlflow was not exactly
right.  It still allowed overflow of up to 8 bytes which is
sizeof(struct sctp_authkey).

Since optlen is already checked against the size of that struct,
we are guaranteed not to cause interger overflow either.

Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sch_prio: Fix nla_parse_nested_compat() regression</title>
<updated>2008-09-08T11:44:25Z</updated>
<author>
<name>Thomas Graf</name>
<email>tgraf@suug.ch</email>
</author>
<published>2008-09-03T08:00:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cb09de4542ad75cc3b66d0cf1a86217bf5633416'/>
<id>urn:sha1:cb09de4542ad75cc3b66d0cf1a86217bf5633416</id>
<content type='text'>
[ No upstream commit, this is fixing code no longer in 2.6.27 ]

nla_parse_nested_compat() was used to parse two different message
formats in the netem and prio qdisc, when it was "fixed" to work
with netem, it broke the multi queue support in the prio qdisc.
Since the prio qdisc code in question is already removed in the
development tree, this patch only fixes the regression in the
stable tree.

Based on original patch from Alexander H Duyck &lt;alexander.h.duyck@intel.com&gt;

Signed-off-by: Thomas Graf &lt;tgraf@suug.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sctp: add verification checks to SCTP_AUTH_KEY option</title>
<updated>2008-09-08T11:44:24Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2008-08-28T05:41:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e2ab3da38b46f4f1389f18c7cd4a9a71ceac0bc6'/>
<id>urn:sha1:e2ab3da38b46f4f1389f18c7cd4a9a71ceac0bc6</id>
<content type='text'>
[ Upstream commit 30c2235cbc477d4629983d440cdc4f496fec9246 ]

The structure used for SCTP_AUTH_KEY option contains a
length that needs to be verfied to prevent buffer overflow
conditions.  Spoted by Eugene Teo &lt;eteo@redhat.com&gt;.

Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Eugene Teo &lt;eugeneteo@kernel.sg&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sctp: fix potential panics in the SCTP-AUTH API.</title>
<updated>2008-09-08T11:44:24Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2008-08-28T05:41:00Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=be9467bd75b522a3db0369c12db739f797cfec6a'/>
<id>urn:sha1:be9467bd75b522a3db0369c12db739f797cfec6a</id>
<content type='text'>
[ Upstream commit 5e739d1752aca4e8f3e794d431503bfca3162df4 ]

All of the SCTP-AUTH socket options could cause a panic
if the extension is disabled and the API is envoked.

Additionally, there were some additional assumptions that
certain pointers would always be valid which may not
always be the case.

This patch hardens the API and address all of the crash
scenarios.

Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>udp: Drop socket lock for encapsulated packets</title>
<updated>2008-09-08T11:44:24Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2008-08-28T05:40:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d01885e51bf577745ba935c70b55fe1405d6b632'/>
<id>urn:sha1:d01885e51bf577745ba935c70b55fe1405d6b632</id>
<content type='text'>
[ Upstream commit d97106ea52aa57e63ff40d04479016836bbb5a4e ]

The socket lock is there to protect the normal UDP receive path.
Encapsulation UDP sockets don't need that protection.  In fact
the locking is deadly for them as they may contain another UDP
packet within, possibly with the same addresses.

Also the nested bit was copied from TCP.  TCP needs it because
of accept(2) spawning sockets.  This simply doesn't apply to UDP
so I've removed it.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>pkt_sched: Fix actions referencing</title>
<updated>2008-09-08T11:44:24Z</updated>
<author>
<name>Jamal Hadi Salim</name>
<email>hadi@cyberus.ca</email>
</author>
<published>2008-08-28T05:38:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4cd12f888ddb3a535ca34104593a0a62724ab104'/>
<id>urn:sha1:4cd12f888ddb3a535ca34104593a0a62724ab104</id>
<content type='text'>
[ Upstream commit 76aab2c1eae491a5d73ac83deec97dd28ebac584 ]

When an action is added several times with the same exact index
it gets deleted on every even-numbered attempt.
This fixes that issue.

Signed-off-by: Jamal Hadi Salim &lt;hadi@cyberus.ca&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>pkt_sched: Fix return value corruption in HTB and TBF.</title>
<updated>2008-09-08T11:44:23Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2008-08-28T05:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=685f605a498b73759cbcbc816089e804710fcc48'/>
<id>urn:sha1:685f605a498b73759cbcbc816089e804710fcc48</id>
<content type='text'>
[ Upstream commit 69747650c814a8a79fef412c7416adf823293a3e ]

Based upon a bug report by Josip Rodin.

Packet schedulers should only return NET_XMIT_DROP iff
the packet really was dropped.  If the packet does reach
the device after we return NET_XMIT_DROP then TCP can
crash because it depends upon the enqueue path return
values being accurate.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

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