Message ID | 1465551147-17185-2-git-send-email-nicolas.dichtel@6wind.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, Jun 10, 2016 at 2:32 AM, Nicolas Dichtel <nicolas.dichtel@6wind.com> wrote: > The function gretap_fb_dev_create() (only used by ovs) never calls > rtnl_configure_link(). The consequence is that dev->rtnl_link_state is > never set to RTNL_LINK_INITIALIZED. > During the deletion phase, the function rollback_registered_many() sends > a RTM_DELLINK only if dev->rtnl_link_state is set to RTNL_LINK_INITIALIZED. > > Fixes: b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of vport") > CC: Thomas Graf <tgraf@suug.ch> > CC: Pravin B Shelar <pshelar@nicira.com> > Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> > --- > net/ipv4/ip_gre.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c > index 4d2025f7ec57..c6a46ee87a3a 100644 > --- a/net/ipv4/ip_gre.c > +++ b/net/ipv4/ip_gre.c > @@ -1146,6 +1146,10 @@ struct net_device *gretap_fb_dev_create(struct net *net, const char *name, > if (err) > goto out; > > + err = rtnl_configure_link(dev, NULL); > + if (err < 0) > + goto out; > + As the first patch, similar issue exist here. But existing error handling code already is buggy. > return dev; > out: > free_netdev(dev); > -- > 2.4.2 >
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 4d2025f7ec57..c6a46ee87a3a 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -1146,6 +1146,10 @@ struct net_device *gretap_fb_dev_create(struct net *net, const char *name, if (err) goto out; + err = rtnl_configure_link(dev, NULL); + if (err < 0) + goto out; + return dev; out: free_netdev(dev);
The function gretap_fb_dev_create() (only used by ovs) never calls rtnl_configure_link(). The consequence is that dev->rtnl_link_state is never set to RTNL_LINK_INITIALIZED. During the deletion phase, the function rollback_registered_many() sends a RTM_DELLINK only if dev->rtnl_link_state is set to RTNL_LINK_INITIALIZED. Fixes: b2acd1dc3949 ("openvswitch: Use regular GRE net_device instead of vport") CC: Thomas Graf <tgraf@suug.ch> CC: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> --- net/ipv4/ip_gre.c | 4 ++++ 1 file changed, 4 insertions(+)