[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 <davem@davemloft.net>
This commit is contained in:
parent
af9debd461
commit
0b7f22aab4
@ -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: ");
|
||||
|
Loading…
Reference in New Issue
Block a user