OSDN Git Service

gtp: really check namespaces before xmit
authorJonas Bonn <jonas@norrbonn.se>
Wed, 3 Feb 2021 07:08:02 +0000 (08:08 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Feb 2021 17:29:58 +0000 (09:29 -0800)
Blindly assuming that packet transmission crosses namespaces results in
skb marks being lost in the single namespace case.

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Acked-by: Harald Welte <laforge@gnumonks.org>
Acked-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/gtp.c

index 5682d3b..e4e57c0 100644 (file)
@@ -592,7 +592,9 @@ static netdev_tx_t gtp_dev_xmit(struct sk_buff *skb, struct net_device *dev)
                                    ip4_dst_hoplimit(&pktinfo.rt->dst),
                                    0,
                                    pktinfo.gtph_port, pktinfo.gtph_port,
-                                   true, false);
+                                   !net_eq(sock_net(pktinfo.pctx->sk),
+                                           dev_net(dev)),
+                                   false);
                break;
        }