<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv6/route.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-08T17:54:51Z</updated>
<entry>
<title>netns: add net parameter to IP6_INC_STATS</title>
<updated>2008-10-08T17:54:51Z</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2008-10-08T17:54:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3bd653c8455bc7991bae77968702b31c8f5df883'/>
<id>urn:sha1:3bd653c8455bc7991bae77968702b31c8f5df883</id>
<content type='text'>
Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: initialize ip6_route sysctl vars in ip6_route_net_init()</title>
<updated>2008-10-07T21:15:00Z</updated>
<author>
<name>Peter Zijlstra</name>
</author>
<published>2008-10-07T21:15:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b339a47c370ec669f789c5989f54eec1d78574bb'/>
<id>urn:sha1:b339a47c370ec669f789c5989f54eec1d78574bb</id>
<content type='text'>
This makes that ip6_route_net_init() does all of the route init code.
There used to be a race between ip6_route_net_init() and ip6_net_init()
and someone relying on the combined result was left out cold.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: clean up ip6_route_net_init() error handling</title>
<updated>2008-10-07T21:12:10Z</updated>
<author>
<name>Peter Zijlstra</name>
</author>
<published>2008-10-07T21:12:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68fffc679694d5f7c02fdeb684b481416cd8213b'/>
<id>urn:sha1:68fffc679694d5f7c02fdeb684b481416cd8213b</id>
<content type='text'>
ip6_route_net_init() error handling looked less than solid, fix 'er up.

Signed-off-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&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>2008-10-01T13:12:56Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-10-01T13:12:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b262e60309e1b0eb25d300c7e739427d5316abb1'/>
<id>urn:sha1:b262e60309e1b0eb25d300c7e739427d5316abb1</id>
<content type='text'>
Conflicts:

	drivers/net/wireless/ath9k/core.c
	drivers/net/wireless/ath9k/main.c
	net/core/dev.c
</content>
</entry>
<entry>
<title>XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep</title>
<updated>2008-10-01T09:37:56Z</updated>
<author>
<name>Arnaud Ebalard</name>
</author>
<published>2008-10-01T09:37:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5dc121e9a7a8a3721cefeb07f3559f50fbedc67e'/>
<id>urn:sha1:5dc121e9a7a8a3721cefeb07f3559f50fbedc67e</id>
<content type='text'>
ip6_dst_blackhole_ops.kmem_cachep is not expected to be NULL (i.e. to
be initialized) when dst_alloc() is called from ip6_dst_blackhole().
Otherwise, it results in the following (xfrm_larval_drop is now set to
1 by default):

[   78.697642] Unable to handle kernel paging request for data at address 0x0000004c
[   78.703449] Faulting instruction address: 0xc0097f54
[   78.786896] Oops: Kernel access of bad area, sig: 11 [#1]
[   78.792791] PowerMac
[   78.798383] Modules linked in: btusb usbhid bluetooth b43 mac80211 cfg80211 ehci_hcd ohci_hcd sungem sungem_phy usbcore ssb
[   78.804263] NIP: c0097f54 LR: c0334a28 CTR: c002d430
[   78.809997] REGS: eef19ad0 TRAP: 0300   Not tainted  (2.6.27-rc5)
[   78.815743] MSR: 00001032 &lt;ME,IR,DR&gt;  CR: 22242482  XER: 20000000
[   78.821550] DAR: 0000004c, DSISR: 40000000
[   78.827278] TASK = eef0df40[3035] 'mip6d' THREAD: eef18000
[   78.827408] GPR00: 00001032 eef19b80 eef0df40 00000000 00008020 eef19c30 00000001 00000000
[   78.833249] GPR08: eee5101c c05a5c10 ef9ad500 00000000 24242422 1005787c 00000000 1004f960
[   78.839151] GPR16: 00000000 10024e90 10050040 48030018 0fe44150 00000000 00000000 eef19c30
[   78.845046] GPR24: eef19e44 00000000 eef19bf8 efb37c14 eef19bf8 00008020 00009032 c0596064
[   78.856671] NIP [c0097f54] kmem_cache_alloc+0x20/0x94
[   78.862581] LR [c0334a28] dst_alloc+0x40/0xc4
[   78.868451] Call Trace:
[   78.874252] [eef19b80] [c03c1810] ip6_dst_lookup_tail+0x1c8/0x1dc (unreliable)
[   78.880222] [eef19ba0] [c0334a28] dst_alloc+0x40/0xc4
[   78.886164] [eef19bb0] [c03cd698] ip6_dst_blackhole+0x28/0x1cc
[   78.892090] [eef19be0] [c03d9be8] rawv6_sendmsg+0x75c/0xc88
[   78.897999] [eef19cb0] [c038bca4] inet_sendmsg+0x4c/0x78
[   78.903907] [eef19cd0] [c03207c8] sock_sendmsg+0xac/0xe4
[   78.909734] [eef19db0] [c03209e4] sys_sendmsg+0x1e4/0x2a0
[   78.915540] [eef19f00] [c03220a8] sys_socketcall+0xfc/0x210
[   78.921406] [eef19f40] [c0014b3c] ret_from_syscall+0x0/0x38
[   78.927295] --- Exception: c01 at 0xfe2d730
[   78.927297]     LR = 0xfe2d71c
[   78.939019] Instruction dump:
[   78.944835] 91640018 9144001c 900a0000 4bffff44 9421ffe0 7c0802a6 bf810010 7c9d2378
[   78.950694] 90010024 7fc000a6 57c0045e 7c000124 &lt;83e3004c&gt; 8383005c 2f9f0000 419e0050
[   78.956464] ---[ end trace 05fa1ed7972487a1 ]---

As commented by Benjamin Thery, the bug was introduced by
f2fc6a54585a1be6669613a31fbaba2ecbadcd36, while adding network
namespaces support to ipv6 routes.

Signed-off-by: Arnaud Ebalard &lt;arno@natisbad.org&gt;
Acked-by: Benjamin Thery &lt;benjamin.thery@bull.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: On interface down/unregister, purge icmp routes too.</title>
<updated>2008-09-11T06:39:28Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2008-09-11T00:27:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1e493d1946a0b26b79001c18d7312d536156ff5a'/>
<id>urn:sha1:1e493d1946a0b26b79001c18d7312d536156ff5a</id>
<content type='text'>
Johannes Berg reported that occaisionally, bringing an interface
down or unregistering it would hang for up to 30 seconds.  Using
debugging output he provided it became clear that ICMP6 routes
were the culprit.

The problem is that ICMP6 routes live in their own world totally
separate from normal ipv6 routes.  So there are all kinds of special
cases throughout the ipv6 code to handle this.

While we should really try to unify all of this stuff somehow,
for the time being let's fix this by purging the ICMP6 routes
that match the device in question during rt6_ifdown().

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: Add network namespace argument to rt6_fill_node() and ipv6_dev_get_saddr()</title>
<updated>2008-08-14T22:33:21Z</updated>
<author>
<name>Brian Haley</name>
</author>
<published>2008-08-14T22:33:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=191cd582500f49b32a63040fedeebb0168c720af'/>
<id>urn:sha1:191cd582500f49b32a63040fedeebb0168c720af</id>
<content type='text'>
ipv6_dev_get_saddr() blindly de-references dst_dev to get the network
namespace, but some callers might pass NULL.  Change callers to pass a
namespace pointer instead.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: Fix OOPS, ip -f inet6 route get fec0::1, linux-2.6.26, ip6_route_output, rt6_fill_node+0x175</title>
<updated>2008-08-13T08:58:57Z</updated>
<author>
<name>Brian Haley</name>
</author>
<published>2008-08-13T08:58:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5e0115e500fe9dd2ca11e6f92db9123204f1327a'/>
<id>urn:sha1:5e0115e500fe9dd2ca11e6f92db9123204f1327a</id>
<content type='text'>
Alexey Dobriyan wrote:
&gt; On Thu, Aug 07, 2008 at 07:00:56PM +0200, John Gumb wrote:
&gt;&gt; Scenario: no ipv6 default route set.
&gt; 
&gt;&gt; # ip -f inet6 route get fec0::1
&gt;&gt;
&gt;&gt; BUG: unable to handle kernel NULL pointer dereference at 00000000
&gt;&gt; IP: [&lt;c0369b85&gt;] rt6_fill_node+0x175/0x3b0
&gt;&gt; EIP is at rt6_fill_node+0x175/0x3b0
&gt; 
&gt; 0xffffffff80424dd3 is in rt6_fill_node (net/ipv6/route.c:2191).
&gt; 2186                    } else
&gt; 2187    #endif
&gt; 2188                            NLA_PUT_U32(skb, RTA_IIF, iif);
&gt; 2189            } else if (dst) {
&gt; 2190                    struct in6_addr saddr_buf;
&gt; 2191      ====&gt;         if (ipv6_dev_get_saddr(ip6_dst_idev(&amp;rt-&gt;u.dst)-&gt;dev,
&gt;					       ^^^^^^^^^^^^^^^^^^^^^^^^
&gt;											NULL
&gt; 
&gt; 2192                                           dst, 0, &amp;saddr_buf) == 0)
&gt; 2193                            NLA_PUT(skb, RTA_PREFSRC, 16, &amp;saddr_buf);
&gt; 2194            }

The commit that changed this can't be reverted easily, but the patch
below works for me.

Fix NULL de-reference in rt6_fill_node() when there's no IPv6 input
device present in the dst entry.

Signed-off-by: Brian Haley &lt;brian.haley@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: replace dst_metric() with dst_mtu() in net/ipv6/route.c.</title>
<updated>2008-08-06T09:34:21Z</updated>
<author>
<name>Rami Rosen</name>
</author>
<published>2008-08-06T09:34:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ca615fb816ba85dc765209a9b58ab82cc99bce0'/>
<id>urn:sha1:1ca615fb816ba85dc765209a9b58ab82cc99bce0</id>
<content type='text'>
This patch replaces dst_metric() with dst_mtu() in net/ipv6/route.c.

Signed-off-by: Rami Rosen &lt;ramirose@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ipv6: icmp6_dst_gc return change</title>
<updated>2008-07-22T21:35:50Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2008-07-22T21:35:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d0f24a74e7957593a5622eb5c04ed6860dd8391'/>
<id>urn:sha1:3d0f24a74e7957593a5622eb5c04ed6860dd8391</id>
<content type='text'>
Change icmp6_dst_gc to return the one value the caller cares about rather
than using call by reference.

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