On Sat, 31 Oct 2020 01:07:25 +0100 Guillaume Nault wrote: > Commit 394de110a733 ("net: Added pointer check for > dst->ops->neigh_lookup in dst_neigh_lookup_skb") added a test in > dst_neigh_lookup_skb() to avoid a NULL pointer dereference. The root > cause was the MPLS forwarding code, which doesn't call skb_dst_drop() > on incoming packets. That is, if the packet is received from a > collect_md device, it has a metadata_dst attached to it that doesn't > implement any dst_ops function. > > To align the MPLS behaviour with IPv4 and IPv6, let's drop the dst in > mpls_forward(). This way, dst_neigh_lookup_skb() doesn't need to test > ->neigh_lookup any more. Let's keep a WARN condition though, to > document the precondition and to ease detection of such problems in the > future. > > Signed-off-by: Guillaume Nault <gna...@redhat.com>
Applied, thanks!