From: Florian Westphal <f...@strlen.de>
Date: Tue,  1 Mar 2016 16:15:16 +0100

> When ipv6_find_hdr is used to find a fragment header
> (caller specifies target NEXTHDR_FRAGMENT) we erronously return
> -ENOENT for all fragments with nonzero offset.
> 
> Before commit 9195bb8e381d, when target was specified, we did not
> enter the exthdr walk loop as nexthdr == target so this used to work.
> 
> Now we do (so we can skip empty route headers). When we then stumble upon
> a frag with nonzero frag_off we must return -ENOENT ("header not found")
> only if the caller did not specifically request NEXTHDR_FRAGMENT.
> 
> This allows nfables exthdr expression to match ipv6 fragments, e.g. via
> 
> nft add rule ip6 filter input frag frag-off gt 0
> 
> Fixes: 9195bb8e381d ("ipv6: improve ipv6_find_hdr() to skip empty routing 
> headers")
> Signed-off-by: Florian Westphal <f...@strlen.de>

Applied and queued up for -stable, thanks Florian.

Reply via email to