On Wed, 7 Oct 2020 11:55:02 +0800 Hangbin Liu wrote: > Based on RFC 8200, Section 4.5 Fragment Header: > > - If the first fragment does not include all headers through an > Upper-Layer header, then that fragment should be discarded and > an ICMP Parameter Problem, Code 3, message should be sent to > the source of the fragment, with the Pointer field set to zero. > > As the packet may be any kind of L4 protocol, I only checked if there > has Upper-Layer header by pskb_may_pull(skb, offset + 1). > > As the 1st truncated fragment may also be ICMP message, I also add > a check in ICMP code is_ineligible() to let fragment packet with nexthdr > ICMP but no ICMP header return false. > > Signed-off-by: Hangbin Liu <liuhang...@gmail.com>
net/ipv6/icmp.c:159:65: warning: incorrect type in argument 4 (different base types) net/ipv6/icmp.c:159:65: expected unsigned short *fragoff net/ipv6/icmp.c:159:65: got restricted __be16 *