From: Olaf Kirch Date: Tue, 12 Jul 2005 04:01:42 +0000 (-0700) Subject: [IPV4]: Prevent oops when printing martian source X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0b7f22aab4e960c75e82ad696ef852f9b0015e7d;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [IPV4]: Prevent oops when printing martian source In some cases, we may be generating packets with a source address that qualifies as martian. This can happen when we're in the middle of setting up the network, and netfilter decides to reject a packet with an RST. The IPv4 routing code would try to print a warning and oops, because locally generated packets do not have a valid skb->mac.raw pointer at this point. Signed-off-by: David S. Miller --- diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 726ea5e8180a..d675ff80b04d 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1685,7 +1685,7 @@ static void ip_handle_martian_source(struct net_device *dev, printk(KERN_WARNING "martian source %u.%u.%u.%u from " "%u.%u.%u.%u, on dev %s\n", NIPQUAD(daddr), NIPQUAD(saddr), dev->name); - if (dev->hard_header_len) { + if (dev->hard_header_len && skb->mac.raw) { int i; unsigned char *p = skb->mac.raw; printk(KERN_WARNING "ll header: ");