* [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink @ 2015-04-16 13:34 Erez Shitrit [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Erez Shitrit @ 2015-04-16 13:34 UTC (permalink / raw) To: David S. Miller Cc: netdev, nicolas.dichtel, linux-rdma, Erez Shitrit, Honggang Li Currently, iflink of the parent interface was always accessed, even when interface didn't have a parent and hence we crashed there. Handle the interface types properly: for a child interface, return the ifindex of the parent, for parent interface, return its ifindex. For child devices, make sure to set the parent pointer prior to invoking register_netdevice(), this allows the new ndo to be called by the stack immediately after the child device is registered. Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') Reported-by: Honggang Li <honli@redhat.com> Signed-off-by: Erez Shitrit <erezsh@mellanox.com> Signed-off-by: Honggang Li <honli@redhat.com> --- changes from V0: - fixed two typos in the change-log drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +++++ drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c index 657b89b..915ad04 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -846,6 +846,11 @@ static int ipoib_get_iflink(const struct net_device *dev) { struct ipoib_dev_priv *priv = netdev_priv(dev); + /* parent interface */ + if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) + return dev->ifindex; + + /* child/vlan interface */ return priv->parent->ifindex; } diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c index 4dd1313..fca1a88 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c @@ -58,6 +58,7 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, /* MTU will be reset when mcast join happens */ priv->dev->mtu = IPOIB_UD_MTU(priv->max_ib_mtu); priv->mcast_mtu = priv->admin_mtu = priv->dev->mtu; + priv->parent = ppriv->dev; set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags); result = ipoib_set_dev_features(priv, ppriv->ca); @@ -84,8 +85,6 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, goto register_failed; } - priv->parent = ppriv->dev; - ipoib_create_debug_files(priv->dev); /* RTNL childs don't need proprietary sysfs entries */ -- 1.7.11.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
[parent not found: <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> @ 2015-04-16 16:10 ` Yann Droneaud [not found] ` <1429200634.4333.9.camel-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org> 2015-04-16 16:12 ` Jason Gunthorpe ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Yann Droneaud @ 2015-04-16 16:10 UTC (permalink / raw) To: Erez Shitrit Cc: David S. Miller, netdev-u79uwXL29TY76Z2rM5mHXA, nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Honggang Li Hi, Le jeudi 16 avril 2015 à 16:34 +0300, Erez Shitrit a écrit : > Currently, iflink of the parent interface was always accessed, even > when interface didn't have a parent and hence we crashed there. + since commit 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink'). as there was no crash here before AFAIK. > > Handle the interface types properly: for a child interface, return > the ifindex of the parent, for parent interface, return its ifindex. > > For child devices, make sure to set the parent pointer prior to > invoking register_netdevice(), this allows the new ndo to be called > by the stack immediately after the child device is registered. > > Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') Cc: Nicolas Dichtel <nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> > Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > --- > > changes from V0: > - fixed two typos in the change-log > > drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +++++ > drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 +-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c > index 657b89b..915ad04 100644 > --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c > +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c > @@ -846,6 +846,11 @@ static int ipoib_get_iflink(const struct net_device *dev) > { > struct ipoib_dev_priv *priv = netdev_priv(dev); > > + /* parent interface */ > + if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) > + return dev->ifindex; > + > + /* child/vlan interface */ > return priv->parent->ifindex; > } > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c > index 4dd1313..fca1a88 100644 > --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c > +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c > @@ -58,6 +58,7 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, > /* MTU will be reset when mcast join happens */ > priv->dev->mtu = IPOIB_UD_MTU(priv->max_ib_mtu); > priv->mcast_mtu = priv->admin_mtu = priv->dev->mtu; > + priv->parent = ppriv->dev; > set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags); > > result = ipoib_set_dev_features(priv, ppriv->ca); > @@ -84,8 +85,6 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, > goto register_failed; > } > > - priv->parent = ppriv->dev; > - > ipoib_create_debug_files(priv->dev); > > /* RTNL childs don't need proprietary sysfs entries */ Regards. -- Yann Droneaud OPTEYA -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <1429200634.4333.9.camel-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <1429200634.4333.9.camel-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org> @ 2015-04-16 19:08 ` Or Gerlitz 0 siblings, 0 replies; 11+ messages in thread From: Or Gerlitz @ 2015-04-16 19:08 UTC (permalink / raw) To: Yann Droneaud Cc: Erez Shitrit, David S. Miller, Linux Netdev List, Nicolas Dichtel, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Honggang Li On Thu, Apr 16, 2015, Yann Droneaud <ydroneaud-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org> wrote: > Hi, > > Le jeudi 16 avril 2015 à 16:34 +0300, Erez Shitrit a écrit : >> Currently, iflink of the parent interface was always accessed, even >> when interface didn't have a parent and hence we crashed there. > > + since commit 5aa7add8f14b ('infiniband/ipoib: implement > ndo_get_iflink'). > > as there was no crash here before AFAIK. Disagree, it's redundant, as the Fixes tag below points to this commit >> Handle the interface types properly: for a child interface, return >> the ifindex of the parent, for parent interface, return its ifindex. >> >> For child devices, make sure to set the parent pointer prior to >> invoking register_netdevice(), this allows the new ndo to be called >> by the stack immediately after the child device is registered. >> >> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') > > Cc: Nicolas Dichtel <nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> Ditto, I find it enough to just copy Nicholas on the patch submission, as we did here. Or. >> Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> >> Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> --- >> >> changes from V0: >> - fixed two typos in the change-log >> >> drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +++++ >> drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 +-- >> 2 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c >> index 657b89b..915ad04 100644 >> --- a/drivers/infiniband/ulp/ipoib/ipoib_main.c >> +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c >> @@ -846,6 +846,11 @@ static int ipoib_get_iflink(const struct net_device *dev) >> { >> struct ipoib_dev_priv *priv = netdev_priv(dev); >> >> + /* parent interface */ >> + if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) >> + return dev->ifindex; >> + >> + /* child/vlan interface */ >> return priv->parent->ifindex; >> } >> >> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c >> index 4dd1313..fca1a88 100644 >> --- a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c >> +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c >> @@ -58,6 +58,7 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, >> /* MTU will be reset when mcast join happens */ >> priv->dev->mtu = IPOIB_UD_MTU(priv->max_ib_mtu); >> priv->mcast_mtu = priv->admin_mtu = priv->dev->mtu; >> + priv->parent = ppriv->dev; >> set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags); >> >> result = ipoib_set_dev_features(priv, ppriv->ca); >> @@ -84,8 +85,6 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, >> goto register_failed; >> } >> >> - priv->parent = ppriv->dev; >> - >> ipoib_create_debug_files(priv->dev); >> >> /* RTNL childs don't need proprietary sysfs entries */ > > Regards. > > -- > Yann Droneaud > OPTEYA > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> 2015-04-16 16:10 ` Yann Droneaud @ 2015-04-16 16:12 ` Jason Gunthorpe 2015-04-17 7:11 ` Nicolas Dichtel 2015-04-17 19:21 ` David Miller 3 siblings, 0 replies; 11+ messages in thread From: Jason Gunthorpe @ 2015-04-16 16:12 UTC (permalink / raw) To: Erez Shitrit Cc: David S. Miller, netdev-u79uwXL29TY76Z2rM5mHXA, nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Honggang Li On Thu, Apr 16, 2015 at 04:34:34PM +0300, Erez Shitrit wrote: > Currently, iflink of the parent interface was always accessed, even > when interface didn't have a parent and hence we crashed there. > > Handle the interface types properly: for a child interface, return > the ifindex of the parent, for parent interface, return its ifindex. > > For child devices, make sure to set the parent pointer prior to > invoking register_netdevice(), this allows the new ndo to be called > by the stack immediately after the child device is registered. > > Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') > Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Reviewed-By: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>+ > changes from V0: > - fixed two typos in the change-log > > drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +++++ > drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 +-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c > index 657b89b..915ad04 100644 > +++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c > @@ -846,6 +846,11 @@ static int ipoib_get_iflink(const struct net_device *dev) > { > struct ipoib_dev_priv *priv = netdev_priv(dev); > > + /* parent interface */ > + if (!test_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags)) > + return dev->ifindex; > + > + /* child/vlan interface */ > return priv->parent->ifindex; > } > > diff --git a/drivers/infiniband/ulp/ipoib/ipoib_vlan.c b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c > index 4dd1313..fca1a88 100644 > +++ b/drivers/infiniband/ulp/ipoib/ipoib_vlan.c > @@ -58,6 +58,7 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, > /* MTU will be reset when mcast join happens */ > priv->dev->mtu = IPOIB_UD_MTU(priv->max_ib_mtu); > priv->mcast_mtu = priv->admin_mtu = priv->dev->mtu; > + priv->parent = ppriv->dev; > set_bit(IPOIB_FLAG_SUBINTERFACE, &priv->flags); > > result = ipoib_set_dev_features(priv, ppriv->ca); > @@ -84,8 +85,6 @@ int __ipoib_vlan_add(struct ipoib_dev_priv *ppriv, struct ipoib_dev_priv *priv, > goto register_failed; > } > > - priv->parent = ppriv->dev; > - > ipoib_create_debug_files(priv->dev); > > /* RTNL childs don't need proprietary sysfs entries */ -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> 2015-04-16 16:10 ` Yann Droneaud 2015-04-16 16:12 ` Jason Gunthorpe @ 2015-04-17 7:11 ` Nicolas Dichtel 2015-04-17 19:21 ` David Miller 3 siblings, 0 replies; 11+ messages in thread From: Nicolas Dichtel @ 2015-04-17 7:11 UTC (permalink / raw) To: Erez Shitrit, David S. Miller Cc: netdev-u79uwXL29TY76Z2rM5mHXA, linux-rdma-u79uwXL29TY76Z2rM5mHXA, Honggang Li Le 16/04/2015 15:34, Erez Shitrit a écrit : > Currently, iflink of the parent interface was always accessed, even > when interface didn't have a parent and hence we crashed there. > > Handle the interface types properly: for a child interface, return > the ifindex of the parent, for parent interface, return its ifindex. > > For child devices, make sure to set the parent pointer prior to > invoking register_netdevice(), this allows the new ndo to be called > by the stack immediately after the child device is registered. > > Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') > Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Acked-by: Nicolas Dichtel <nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> ` (2 preceding siblings ...) 2015-04-17 7:11 ` Nicolas Dichtel @ 2015-04-17 19:21 ` David Miller [not found] ` <20150417.152133.1818018053733533978.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 3 siblings, 1 reply; 11+ messages in thread From: David Miller @ 2015-04-17 19:21 UTC (permalink / raw) To: erezsh-VPRAkNaXOzVWk0Htik3J/w Cc: netdev-u79uwXL29TY76Z2rM5mHXA, nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, honli-H+wXaHxf7aLQT0dZR+AlfA From: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> Date: Thu, 16 Apr 2015 16:34:34 +0300 > Currently, iflink of the parent interface was always accessed, even > when interface didn't have a parent and hence we crashed there. > > Handle the interface types properly: for a child interface, return > the ifindex of the parent, for parent interface, return its ifindex. > > For child devices, make sure to set the parent pointer prior to > invoking register_netdevice(), this allows the new ndo to be called > by the stack immediately after the child device is registered. > > Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') > Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Applied, thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <20150417.152133.1818018053733533978.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>]
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink [not found] ` <20150417.152133.1818018053733533978.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> @ 2015-04-20 8:16 ` Haggai Eran 0 siblings, 0 replies; 11+ messages in thread From: Haggai Eran @ 2015-04-20 8:16 UTC (permalink / raw) To: Doug Ledford, Roland Dreier Cc: David Miller, erezsh-VPRAkNaXOzVWk0Htik3J/w, netdev-u79uwXL29TY76Z2rM5mHXA, nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, honli-H+wXaHxf7aLQT0dZR+AlfA On 17/04/2015 22:21, David Miller wrote: > From: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Date: Thu, 16 Apr 2015 16:34:34 +0300 > >> Currently, iflink of the parent interface was always accessed, even >> when interface didn't have a parent and hence we crashed there. >> >> Handle the interface types properly: for a child interface, return >> the ifindex of the parent, for parent interface, return its ifindex. >> >> For child devices, make sure to set the parent pointer prior to >> invoking register_netdevice(), this allows the new ndo to be called >> by the stack immediately after the child device is registered. >> >> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') >> Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> >> Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > Applied, thanks. Doug, Roland, You might want to include this patch in your for-next / for-4.1 trees, or merge net-next again. Currently they contain the issue it fixes, and it can prevent some systems with IPoIB from booting. Regards, Haggai -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink @ 2015-04-20 8:16 ` Haggai Eran 0 siblings, 0 replies; 11+ messages in thread From: Haggai Eran @ 2015-04-20 8:16 UTC (permalink / raw) To: Doug Ledford, Roland Dreier Cc: David Miller, erezsh-VPRAkNaXOzVWk0Htik3J/w, netdev-u79uwXL29TY76Z2rM5mHXA, nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w, linux-rdma-u79uwXL29TY76Z2rM5mHXA, honli-H+wXaHxf7aLQT0dZR+AlfA On 17/04/2015 22:21, David Miller wrote: > From: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> > Date: Thu, 16 Apr 2015 16:34:34 +0300 > >> Currently, iflink of the parent interface was always accessed, even >> when interface didn't have a parent and hence we crashed there. >> >> Handle the interface types properly: for a child interface, return >> the ifindex of the parent, for parent interface, return its ifindex. >> >> For child devices, make sure to set the parent pointer prior to >> invoking register_netdevice(), this allows the new ndo to be called >> by the stack immediately after the child device is registered. >> >> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') >> Reported-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> >> Signed-off-by: Erez Shitrit <erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> >> Signed-off-by: Honggang Li <honli-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > Applied, thanks. Doug, Roland, You might want to include this patch in your for-next / for-4.1 trees, or merge net-next again. Currently they contain the issue it fixes, and it can prevent some systems with IPoIB from booting. Regards, Haggai -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink 2015-04-20 8:16 ` Haggai Eran (?) @ 2015-04-20 9:21 ` Or Gerlitz 2015-04-20 15:37 ` Doug Ledford -1 siblings, 1 reply; 11+ messages in thread From: Or Gerlitz @ 2015-04-20 9:21 UTC (permalink / raw) To: Haggai Eran Cc: Doug Ledford, Roland Dreier, David Miller, Erez Shitrit, Linux Netdev List, Nicolas Dichtel, linux-rdma, Honggang Li On Mon, Apr 20, 2015 at 11:16 AM, Haggai Eran <haggaie@mellanox.com> wrote: > On 17/04/2015 22:21, David Miller wrote: >> From: Erez Shitrit <erezsh@mellanox.com> >> Date: Thu, 16 Apr 2015 16:34:34 +0300 >> >>> Currently, iflink of the parent interface was always accessed, even >>> when interface didn't have a parent and hence we crashed there. >>> >>> Handle the interface types properly: for a child interface, return >>> the ifindex of the parent, for parent interface, return its ifindex. >>> >>> For child devices, make sure to set the parent pointer prior to >>> invoking register_netdevice(), this allows the new ndo to be called >>> by the stack immediately after the child device is registered. >>> >>> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') >>> Reported-by: Honggang Li <honli@redhat.com> >>> Signed-off-by: Erez Shitrit <erezsh@mellanox.com> >>> Signed-off-by: Honggang Li <honli@redhat.com> >> >> Applied, thanks. > > Doug, Roland, > You might want to include this patch in your for-next / for-4.1 trees, > or merge net-next again. Currently they contain the issue it fixes, and > it can prevent some systems with IPoIB from booting. Haggai, It's upstream by now, pull Linus tree. Or. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink 2015-04-20 9:21 ` Or Gerlitz @ 2015-04-20 15:37 ` Doug Ledford 0 siblings, 0 replies; 11+ messages in thread From: Doug Ledford @ 2015-04-20 15:37 UTC (permalink / raw) To: Or Gerlitz Cc: Haggai Eran, Roland Dreier, David Miller, Erez Shitrit, Linux Netdev List, Nicolas Dichtel, linux-rdma, Honggang Li [-- Attachment #1: Type: text/plain, Size: 1537 bytes --] On Mon, 2015-04-20 at 12:21 +0300, Or Gerlitz wrote: > On Mon, Apr 20, 2015 at 11:16 AM, Haggai Eran <haggaie@mellanox.com> wrote: > > On 17/04/2015 22:21, David Miller wrote: > >> From: Erez Shitrit <erezsh@mellanox.com> > >> Date: Thu, 16 Apr 2015 16:34:34 +0300 > >> > >>> Currently, iflink of the parent interface was always accessed, even > >>> when interface didn't have a parent and hence we crashed there. > >>> > >>> Handle the interface types properly: for a child interface, return > >>> the ifindex of the parent, for parent interface, return its ifindex. > >>> > >>> For child devices, make sure to set the parent pointer prior to > >>> invoking register_netdevice(), this allows the new ndo to be called > >>> by the stack immediately after the child device is registered. > >>> > >>> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') > >>> Reported-by: Honggang Li <honli@redhat.com> > >>> Signed-off-by: Erez Shitrit <erezsh@mellanox.com> > >>> Signed-off-by: Honggang Li <honli@redhat.com> > >> > >> Applied, thanks. > > > > Doug, Roland, > > You might want to include this patch in your for-next / for-4.1 trees, > > or merge net-next again. Currently they contain the issue it fixes, and > > it can prevent some systems with IPoIB from booting. > > Haggai, > > > It's upstream by now, pull Linus tree. > > Or. Right, it already went via net-next. I skipped it because of that. -- Doug Ledford <dledford@redhat.com> GPG KeyID: 0E572FDD [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink 2015-04-20 8:16 ` Haggai Eran (?) (?) @ 2015-04-20 16:27 ` David Miller -1 siblings, 0 replies; 11+ messages in thread From: David Miller @ 2015-04-20 16:27 UTC (permalink / raw) To: haggaie Cc: dledford, roland, erezsh, netdev, nicolas.dichtel, linux-rdma, honli From: Haggai Eran <haggaie@mellanox.com> Date: Mon, 20 Apr 2015 11:16:34 +0300 > On 17/04/2015 22:21, David Miller wrote: >> From: Erez Shitrit <erezsh@mellanox.com> >> Date: Thu, 16 Apr 2015 16:34:34 +0300 >> >>> Currently, iflink of the parent interface was always accessed, even >>> when interface didn't have a parent and hence we crashed there. >>> >>> Handle the interface types properly: for a child interface, return >>> the ifindex of the parent, for parent interface, return its ifindex. >>> >>> For child devices, make sure to set the parent pointer prior to >>> invoking register_netdevice(), this allows the new ndo to be called >>> by the stack immediately after the child device is registered. >>> >>> Fixes: 5aa7add8f14b ('infiniband/ipoib: implement ndo_get_iflink') >>> Reported-by: Honggang Li <honli@redhat.com> >>> Signed-off-by: Erez Shitrit <erezsh@mellanox.com> >>> Signed-off-by: Honggang Li <honli@redhat.com> >> >> Applied, thanks. > > Doug, Roland, > > You might want to include this patch in your for-next / for-4.1 trees, > or merge net-next again. Currently they contain the issue it fixes, and > it can prevent some systems with IPoIB from booting. I put this into 'net', not 'net-next'. 'net-next' is dormant after I do my first push to Linus of the merge window. After that everything goes via 'net' until the merge window closes and I open 'net-next' up again. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-04-20 16:27 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-04-16 13:34 [PATCH V1 net-next] IB/ipoib: Fix ndo_get_iflink Erez Shitrit [not found] ` <1429191274-11600-1-git-send-email-erezsh-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> 2015-04-16 16:10 ` Yann Droneaud [not found] ` <1429200634.4333.9.camel-RlY5vtjFyJ3QT0dZR+AlfA@public.gmane.org> 2015-04-16 19:08 ` Or Gerlitz 2015-04-16 16:12 ` Jason Gunthorpe 2015-04-17 7:11 ` Nicolas Dichtel 2015-04-17 19:21 ` David Miller [not found] ` <20150417.152133.1818018053733533978.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org> 2015-04-20 8:16 ` Haggai Eran 2015-04-20 8:16 ` Haggai Eran 2015-04-20 9:21 ` Or Gerlitz 2015-04-20 15:37 ` Doug Ledford 2015-04-20 16:27 ` David Miller
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.