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!

Reply via email to