In the Linux kernel, the following vulnerability has been resolved: ipv6: Add lwtunnel encap size of all siblings in nexthop calculation In function rt6nlmsgsize(), the length of nexthop is calculated by multipling the nexthop length of fib6info and the number of siblings. However if the fib6info has no lwtunnel but the siblings have lwtunnels, the nexthop length is less than it should be, and it will trigger a warning in inet6rtnotify() as follows: WARNING: CPU: 0 PID: 6082 at net/ipv6/route.c:6180 inet6rtnotify+0x120/0x130 ...... Call Trace: <TASK> fib6addrt2node+0x685/0xa30 fib6add+0x96/0x1b0 ip6routeadd+0x50/0xd0 inet6rtmnewroute+0x97/0xa0 rtnetlinkrcvmsg+0x156/0x3d0 netlinkrcvskb+0x5a/0x110 netlinkunicast+0x246/0x350 netlinksendmsg+0x250/0x4c0 socksendmsg+0x66/0x70 _syssendmsg+0x7c/0xd0 _syssendmsg+0x5d/0xb0 dosyscall64+0x3f/0x90 entrySYSCALL64afterhwframe+0x72/0xdc This bug can be reproduced by script: ip -6 addr add 2002::2/64 dev ens2 ip -6 route add 100::/64 via 2002::1 dev ens2 metric 100 for i in 10 20 30 40 50 60 70; do ip link add link ens2 name ipv$i type ipvlan ip -6 addr add 2002::$i/64 dev ipv$i ifconfig ipv$i up done for i in 10 20 30 40 50 60; do ip -6 route append 100::/64 encap ip6 dst 2002::$i via 2002::1 dev ipv$i metric 100 done ip -6 route append 100::/64 via 2002::1 dev ipv70 metric 100 This patch fixes it by adding nexthoplen of every siblings using rt6nhnlmsgsize().