All of lore.kernel.org
 help / color / mirror / Atom feed
* [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

* 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

* 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]     ` <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: 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

* 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.