<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/net, branch v2.6.16.44</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/net?h=v2.6.16.44</id>
<link rel='self' href='https://git.amat.us/linux/atom/net?h=v2.6.16.44'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2007-03-11T06:43:46Z</updated>
<entry>
<title>[IPV6] fix ipv6_getsockopt_sticky copy_to_user leak</title>
<updated>2007-03-11T06:43:46Z</updated>
<author>
<name>Chris Wright</name>
<email>chrisw@sous-sol.org</email>
</author>
<published>2007-03-11T06:43:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3c872db41104b651851b10784b0a99c8e268c89c'/>
<id>urn:sha1:3c872db41104b651851b10784b0a99c8e268c89c</id>
<content type='text'>
User supplied len &lt; 0 can cause leak of kernel memory.
Use unsigned compare instead.

Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Fix for ipv6_setsockopt NULL dereference</title>
<updated>2007-03-11T06:42:33Z</updated>
<author>
<name>Olaf Kirch</name>
<email>olaf.kirch@oracle.com</email>
</author>
<published>2007-03-11T06:42:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6d2c0df71d1ecc0ed52f0631c6aee8d7f992cc43'/>
<id>urn:sha1:6d2c0df71d1ecc0ed52f0631c6aee8d7f992cc43</id>
<content type='text'>
I came across this bug in http://bugzilla.kernel.org/show_bug.cgi?id=8155

Signed-off-by: Olaf Kirch &lt;olaf.kirch@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[IPV6]: Handle np-&gt;opt being NULL in ipv6_getsockopt_sticky(). (CVE-2007-1000)</title>
<updated>2007-03-09T06:15:40Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2007-03-09T06:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5edf0f4dfbc697487add3c6eaecca1c9bf285d84'/>
<id>urn:sha1:5edf0f4dfbc697487add3c6eaecca1c9bf285d84</id>
<content type='text'>
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[TCP]: Fix minisock tcp_create_openreq_child() typo.</title>
<updated>2007-03-08T07:43:47Z</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-08T07:43:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e62a305abfd6ec65c6d5aab05ed94109408f4c5c'/>
<id>urn:sha1:e62a305abfd6ec65c6d5aab05ed94109408f4c5c</id>
<content type='text'>
On 2/28/07, KOVACS Krisztian &lt;hidden@balabit.hu&gt; wrote:
&gt;
&gt;   Hi,
&gt;
&gt;   While reading TCP minisock code I've found this suspiciously looking
&gt; code fragment:
&gt;
&gt; - 8&lt; -
&gt; struct sock *tcp_create_openreq_child(struct sock *sk, struct request_sock *req, struct sk_buff *skb)
&gt; {
&gt;         struct sock *newsk = inet_csk_clone(sk, req, GFP_ATOMIC);
&gt;
&gt;         if (newsk != NULL) {
&gt;                 const struct inet_request_sock *ireq = inet_rsk(req);
&gt;                 struct tcp_request_sock *treq = tcp_rsk(req);
&gt;                 struct inet_connection_sock *newicsk = inet_csk(sk);
&gt;                 struct tcp_sock *newtp;
&gt; - 8&lt; -
&gt;
&gt;   The above code initializes newicsk to inet_csk(sk), isn't that supposed
&gt; to be inet_csk(newsk)?  As far as I can tell this might leave
&gt; icsk_ack.last_seg_size zero even if we do have received data.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[IPV6]: /proc/net/anycast6 unbalanced inet6_dev refcnt</title>
<updated>2007-03-08T07:40:07Z</updated>
<author>
<name>David Stevens</name>
<email>dlstevens@us.ibm.com</email>
</author>
<published>2007-03-08T07:40:07Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=42e1e229bad37376acf033f14baad9fca2e8584f'/>
<id>urn:sha1:42e1e229bad37376acf033f14baad9fca2e8584f</id>
<content type='text'>
Reading /proc/net/anycast6 when there is no anycast address
on an interface results in an ever-increasing inet6_dev reference
count, as well as a reference to the netdevice you can't get rid of.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[IPV6]: anycast refcnt fix</title>
<updated>2007-03-08T07:38:52Z</updated>
<author>
<name>Michal Wrobel</name>
<email>xmxwx@asn.pl</email>
</author>
<published>2007-03-08T07:38:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6ba50d10b7b7d8d0b6ef7150b705897dbfd05507'/>
<id>urn:sha1:6ba50d10b7b7d8d0b6ef7150b705897dbfd05507</id>
<content type='text'>
This patch fixes a bug in Linux IPv6 stack which caused anycast address
to be added to a device prior DAD has been completed. This led to
incorrect reference count which resulted in infinite wait for
unregister_netdevice completion on interface removal.

Signed-off-by: Michal Wrobel &lt;xmxwx@asn.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[UDP]: Reread uh pointer after pskb_trim</title>
<updated>2007-03-08T07:21:15Z</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2007-03-08T07:21:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=822f952f2ab27ca3f06d6fb3e57c34195b1e0583'/>
<id>urn:sha1:822f952f2ab27ca3f06d6fb3e57c34195b1e0583</id>
<content type='text'>
The header may have moved when trimming.

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: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[DECNET]: Fix sfuzz hanging on 2.6.18</title>
<updated>2007-02-26T22:47:11Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2007-02-26T22:47:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b2afa146899caaa55e49839a21e0c98f504e05ad'/>
<id>urn:sha1:b2afa146899caaa55e49839a21e0c98f504e05ad</id>
<content type='text'>
Dave Jones wrote:
&gt; sfuzz         D 724EF62A  2828 28717  28691                     (NOTLB)
&gt;        cd69fe98 00000082 0000012d 724ef62a 0001971a 00000010 00000007 df6d22b0
&gt;        dfd81080 725bbc5e 0001971a 000cc634 00000001 df6d23bc c140e260 00000202
&gt;        de1d5ba0 cd69fea0 de1d5ba0 00000000 00000000 de1d5b60 de1d5b8c de1d5ba0
&gt; Call Trace:
&gt;  [&lt;c05b1708&gt;] lock_sock+0x75/0xa6
&gt;  [&lt;e0b0b604&gt;] dn_getname+0x18/0x5f [decnet]
&gt;  [&lt;c05b083b&gt;] sys_getsockname+0x5c/0xb0
&gt;  [&lt;c05b0b46&gt;] sys_socketcall+0xef/0x261
&gt;  [&lt;c0403f97&gt;] syscall_call+0x7/0xb
&gt; DWARF2 unwinder stuck at syscall_call+0x7/0xb
&gt;
&gt; I wonder if the plethora of lockdep related changes inadvertantly broke something?

Looks like unbalanced locking.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[TCP]: Prevent pseudo garbage in SYN's advertized window</title>
<updated>2007-02-26T00:36:47Z</updated>
<author>
<name>Ilpo Järvinen</name>
<email>ilpo.jarvinen@helsinki.fi</email>
</author>
<published>2007-02-26T00:36:47Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9586568a59bf51bc50768f00a076a1e03e55eebc'/>
<id>urn:sha1:9586568a59bf51bc50768f00a076a1e03e55eebc</id>
<content type='text'>
TCP may advertize up to 16-bits window in SYN packets (no window
scaling allowed). At the same time, TCP may have rcv_wnd
(32-bits) that does not fit to 16-bits without window scaling
resulting in pseudo garbage into advertized window from the
low-order bits of rcv_wnd. This can happen at least when
mss &lt;= (1&lt;&lt;wscale) (see tcp_select_initial_window). This patch
fixes the handling of SYN advertized windows (compile tested
only).

In worst case (which is unlikely to occur though), the receiver
advertized window could be just couple of bytes. I'm not sure
that such situation would be handled very well at all by the
receiver!? Fortunately, the situation normalizes after the
first non-SYN ACK is received because it has the correct,
scaled window.

Alternatively, tcp_select_initial_window could be changed to
prevent too large rcv_wnd in the first place.

[ tcp_make_synack() has the same bug, and I've added a fix for
  that to this patch -DaveM ]

Signed-off-by: Ilpo Järvinen &lt;ilpo.jarvinen@helsinki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
<entry>
<title>[IPV4/IPV6] multicast: Check add_grhead() return value</title>
<updated>2007-02-26T00:31:58Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@openvz.org</email>
</author>
<published>2007-02-26T00:31:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=666ebed8390d4cf3d0411163c6c2e0098e6a148e'/>
<id>urn:sha1:666ebed8390d4cf3d0411163c6c2e0098e6a148e</id>
<content type='text'>
add_grhead() allocates memory with GFP_ATOMIC and in at least two places skb
from it passed to skb_put() without checking.

Adrian Bunk:
backported to 2.6.16

Signed-off-by: Alexey Dobriyan &lt;adobriyan@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
</entry>
</feed>
