Re: linux 2.3.18, 2.3.18ac10 meltdown

Jochen Friedrich (jochen@nwe.de)
Mon, 4 Oct 1999 18:15:21 +0200 (CEST)


Hi Lennert,

i received similar crashes while testing IPv6 stuff with token ring.
It looks like header construction is attempted with a NULL pointer for
saddr...

Please try this patch:

diff -ru linux-2.2.12/net/ipv6/ip6_output.c linux/net/ipv6/ip6_output.c
--- linux-2.2.12/net/ipv6/ip6_output.c Fri Apr 23 04:45:20 1999
+++ linux/net/ipv6/ip6_output.c Sun Sep 19 20:14:59 1999
@@ -197,8 +197,14 @@
hdr->nexthdr = proto;
hdr->hop_limit = np->hop_limit;

- ipv6_addr_copy(&hdr->saddr, saddr);
- ipv6_addr_copy(&hdr->daddr, daddr);
+ if (saddr)
+ ipv6_addr_copy(&hdr->saddr, saddr);
+ else
+ printk(KERN_ERR "ip6_nd_hdr: saddr is NULL\n");
+ if (daddr)
+ ipv6_addr_copy(&hdr->daddr, daddr);
+ else
+ printk(KERN_ERR "ip6_nd_hdr: daddr is NULL\n");

return 0;
}

Cheers,
Jochen

On Fri, 1 Oct 1999, Lennert Buytenhek wrote:

> Hi all,
>
> How to crash linux 2.3.18*: Basically, listen on a TCPv6 socket and
> then connect to that socket via a v6 site local address assigned to
> one of your interfaces.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/