Files
linux/include/net
Guillaume Nault 0992d67bc2 mpls: drop skb's dst in mpls_forward()
Commit 394de110a7 ("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 <gnault@redhat.com>
Link: https://lore.kernel.org/r/f8c2784c13faa54469a2aac339470b1049ca6b63.1604102750.git.gnault@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-11-03 12:55:53 -08:00
..
2019-01-23 11:18:00 -08:00
2020-11-03 12:55:53 -08:00
2020-05-05 13:23:29 -07:00
2019-12-09 10:36:44 -08:00
2020-06-22 21:12:44 -07:00
2020-08-31 23:06:51 +02:00
2020-07-24 15:41:54 -07:00
2018-09-13 09:04:58 -07:00
2019-12-09 10:36:44 -08:00
2020-09-15 16:31:11 -07:00
2020-03-04 13:25:55 -08:00
2018-05-16 07:23:35 +02:00
2020-03-23 21:57:44 -07:00
2019-04-22 21:47:25 -07:00
2019-10-05 16:29:00 -07:00
2020-09-24 19:58:34 -07:00
2020-06-18 20:46:23 -07:00
2019-12-09 10:28:43 -08:00