Re: [PATCH net-next v10 07/13] net: ipv6: Init tunnel link-netns before registering dev

From: Xiao Liang
Date: Fri Feb 21 2025 - 02:35:48 EST


On Fri, Feb 21, 2025 at 12:07 PM Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> wrote:
>
> From: Xiao Liang <shaw.leon@xxxxxxxxx>
> Date: Wed, 19 Feb 2025 20:50:33 +0800
> > Currently some IPv6 tunnel drivers set tnl->net to dev_net(dev) in
> > ndo_init(), which is called in register_netdevice(). However, it lacks
> > the context of link-netns when we enable cross-net tunnels at device
> > registration time.
> >
> > Let's move the init of tunnel link-netns before register_netdevice().
> >
> > ip6_gre has already initialized netns, so just remove the redundant
> > assignment.
> >
> > Signed-off-by: Xiao Liang <shaw.leon@xxxxxxxxx>
>
> Reviewed-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx>
>
> left a small comment, but not a blocker.
>
>
> > @@ -1565,6 +1565,7 @@ static int ipip6_newlink(struct net_device *dev,
> > int err;
> >
> > nt = netdev_priv(dev);
> > + nt->net = net;
>
> This hunk is not necessary as we'll call ipip6_tunnel_locate(),
> but it's harmless and not worth reposting the whole series given
> we are alredy in v10. You can just post a follow-up patch after
> the series is applied.

Seems ipip6_tunnel_locate() only sets netns for newly created
devices (for ioctl). ipip6_newlink() is calling it to check for
conflicts, so we might need this line.

Thanks for your review!