--- zzzz-none-000/linux-4.4.60/net/ipv4/route.c 2017-04-08 07:53:53.000000000 +0000 +++ scorpion-7490-727/linux-4.4.60/net/ipv4/route.c 2021-02-04 17:41:59.000000000 +0000 @@ -420,6 +420,9 @@ static int __init ip_rt_proc_init(void) { + if (IS_ENABLED(CONFIG_PROC_STRIPPED)) + return 0; + return register_pernet_subsys(&ip_rt_proc_ops); } @@ -455,7 +458,7 @@ else if (skb) pkey = &ip_hdr(skb)->daddr; - n = __ipv4_neigh_lookup(dev, *(__force u32 *)pkey); + n = __ipv4_neigh_lookup(dev, net_hdr_word(pkey)); if (n) return n; return neigh_create(&arp_tbl, pkey, dev); @@ -1148,6 +1151,9 @@ { struct rtable *rt; + /* Forwarding packets, do not have IPCB() initialized, do so + */ + memset(IPCB(skb), 0, sizeof(struct inet_skb_parm)); icmp_send(skb, ICMP_DEST_UNREACH, ICMP_HOST_UNREACH, 0); rt = skb_rtable(skb);