linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get
@ 2020-04-28 13:15 Denis V. Lunev
  2020-04-29 15:33 ` Saleem, Shiraz
  2020-05-04 18:52 ` Jason Gunthorpe
  0 siblings, 2 replies; 3+ messages in thread
From: Denis V. Lunev @ 2020-04-28 13:15 UTC (permalink / raw)
  Cc: Denis V. Lunev, Konstantin Khorenko, Faisal Latif, Shiraz Saleem,
	Doug Ledford, Jason Gunthorpe, linux-rdma, linux-kernel

Local variable netdev is not used in these calls.

It should be noted, that this change is required to work in bonded mode.
In the other case we would get the following assert:
 "RTNL: assertion failed at net/core/dev.c (5665)"
with the calltrace as follows:
	dump_stack+0x19/0x1b
	netdev_master_upper_dev_get+0x61/0x70
	i40iw_addr_resolve_neigh+0x1e8/0x220
	i40iw_make_cm_node+0x296/0x700
	? i40iw_find_listener.isra.10+0xcc/0x110
	i40iw_receive_ilq+0x3d4/0x810
	i40iw_puda_poll_completion+0x341/0x420
	i40iw_process_ceq+0xa5/0x280
	i40iw_ceq_dpc+0x1e/0x40
	tasklet_action+0x83/0x140
	__do_softirq+0x125/0x2bb
	call_softirq+0x1c/0x30
	do_softirq+0x65/0xa0
	irq_exit+0x105/0x110
	do_IRQ+0x56/0xf0
	common_interrupt+0x16a/0x16a
	? cpuidle_enter_state+0x57/0xd0
	cpuidle_idle_call+0xde/0x230
	arch_cpu_idle+0xe/0xc0
	cpu_startup_entry+0x14a/0x1e0
	start_secondary+0x1f7/0x270
	start_cpu+0x5/0x14

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Konstantin Khorenko <khorenko@virtuozzo.com>
CC: Faisal Latif <faisal.latif@intel.com>
CC: Shiraz Saleem <shiraz.saleem@intel.com>
CC: Doug Ledford <dledford@redhat.com>
CC: Jason Gunthorpe <jgg@ziepe.ca>
CC: linux-rdma@vger.kernel.org
CC: linux-kernel@vger.kernel.org
---
 drivers/infiniband/hw/i40iw/i40iw_cm.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/drivers/infiniband/hw/i40iw/i40iw_cm.c b/drivers/infiniband/hw/i40iw/i40iw_cm.c
index bb78d3280acc..fa7a5ff498c7 100644
--- a/drivers/infiniband/hw/i40iw/i40iw_cm.c
+++ b/drivers/infiniband/hw/i40iw/i40iw_cm.c
@@ -1987,7 +1987,6 @@ static int i40iw_addr_resolve_neigh(struct i40iw_device *iwdev,
 	struct rtable *rt;
 	struct neighbour *neigh;
 	int rc = arpindex;
-	struct net_device *netdev = iwdev->netdev;
 	__be32 dst_ipaddr = htonl(dst_ip);
 	__be32 src_ipaddr = htonl(src_ip);
 
@@ -1997,9 +1996,6 @@ static int i40iw_addr_resolve_neigh(struct i40iw_device *iwdev,
 		return rc;
 	}
 
-	if (netif_is_bond_slave(netdev))
-		netdev = netdev_master_upper_dev_get(netdev);
-
 	neigh = dst_neigh_lookup(&rt->dst, &dst_ipaddr);
 
 	rcu_read_lock();
@@ -2065,7 +2061,6 @@ static int i40iw_addr_resolve_neigh_ipv6(struct i40iw_device *iwdev,
 {
 	struct neighbour *neigh;
 	int rc = arpindex;
-	struct net_device *netdev = iwdev->netdev;
 	struct dst_entry *dst;
 	struct sockaddr_in6 dst_addr;
 	struct sockaddr_in6 src_addr;
@@ -2086,9 +2081,6 @@ static int i40iw_addr_resolve_neigh_ipv6(struct i40iw_device *iwdev,
 		return rc;
 	}
 
-	if (netif_is_bond_slave(netdev))
-		netdev = netdev_master_upper_dev_get(netdev);
-
 	neigh = dst_neigh_lookup(dst, dst_addr.sin6_addr.in6_u.u6_addr32);
 
 	rcu_read_lock();
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* RE: [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get
  2020-04-28 13:15 [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get Denis V. Lunev
@ 2020-04-29 15:33 ` Saleem, Shiraz
  2020-05-04 18:52 ` Jason Gunthorpe
  1 sibling, 0 replies; 3+ messages in thread
From: Saleem, Shiraz @ 2020-04-29 15:33 UTC (permalink / raw)
  To: Denis V. Lunev
  Cc: Konstantin Khorenko, Latif, Faisal, Doug Ledford,
	Jason Gunthorpe, linux-rdma, linux-kernel

> Subject: [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get
> 
> Local variable netdev is not used in these calls.
> 
> It should be noted, that this change is required to work in bonded mode.
> In the other case we would get the following assert:
>  "RTNL: assertion failed at net/core/dev.c (5665)"
> with the calltrace as follows:
> 	dump_stack+0x19/0x1b
> 	netdev_master_upper_dev_get+0x61/0x70
> 	i40iw_addr_resolve_neigh+0x1e8/0x220
> 	i40iw_make_cm_node+0x296/0x700
> 	? i40iw_find_listener.isra.10+0xcc/0x110
> 	i40iw_receive_ilq+0x3d4/0x810
> 	i40iw_puda_poll_completion+0x341/0x420
> 	i40iw_process_ceq+0xa5/0x280
> 	i40iw_ceq_dpc+0x1e/0x40
> 	tasklet_action+0x83/0x140
> 	__do_softirq+0x125/0x2bb
> 	call_softirq+0x1c/0x30
> 	do_softirq+0x65/0xa0
> 	irq_exit+0x105/0x110
> 	do_IRQ+0x56/0xf0
> 	common_interrupt+0x16a/0x16a
> 	? cpuidle_enter_state+0x57/0xd0
> 	cpuidle_idle_call+0xde/0x230
> 	arch_cpu_idle+0xe/0xc0
> 	cpu_startup_entry+0x14a/0x1e0
> 	start_secondary+0x1f7/0x270
> 	start_cpu+0x5/0x14
> 
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Konstantin Khorenko <khorenko@virtuozzo.com>
> CC: Faisal Latif <faisal.latif@intel.com>
> CC: Shiraz Saleem <shiraz.saleem@intel.com>
> CC: Doug Ledford <dledford@redhat.com>
> CC: Jason Gunthorpe <jgg@ziepe.ca>
> CC: linux-rdma@vger.kernel.org
> CC: linux-kernel@vger.kernel.org
> ---
>  drivers/infiniband/hw/i40iw/i40iw_cm.c | 8 --------
>  1 file changed, 8 deletions(-)
> 

Looks right. Thanks!

Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get
  2020-04-28 13:15 [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get Denis V. Lunev
  2020-04-29 15:33 ` Saleem, Shiraz
@ 2020-05-04 18:52 ` Jason Gunthorpe
  1 sibling, 0 replies; 3+ messages in thread
From: Jason Gunthorpe @ 2020-05-04 18:52 UTC (permalink / raw)
  To: Denis V. Lunev
  Cc: Konstantin Khorenko, Faisal Latif, Shiraz Saleem, Doug Ledford,
	linux-rdma, linux-kernel

On Tue, Apr 28, 2020 at 04:15:11PM +0300, Denis V. Lunev wrote:
> Local variable netdev is not used in these calls.
> 
> It should be noted, that this change is required to work in bonded mode.
> In the other case we would get the following assert:
>  "RTNL: assertion failed at net/core/dev.c (5665)"
> with the calltrace as follows:
> 	dump_stack+0x19/0x1b
> 	netdev_master_upper_dev_get+0x61/0x70
> 	i40iw_addr_resolve_neigh+0x1e8/0x220
> 	i40iw_make_cm_node+0x296/0x700
> 	? i40iw_find_listener.isra.10+0xcc/0x110
> 	i40iw_receive_ilq+0x3d4/0x810
> 	i40iw_puda_poll_completion+0x341/0x420
> 	i40iw_process_ceq+0xa5/0x280
> 	i40iw_ceq_dpc+0x1e/0x40
> 	tasklet_action+0x83/0x140
> 	__do_softirq+0x125/0x2bb
> 	call_softirq+0x1c/0x30
> 	do_softirq+0x65/0xa0
> 	irq_exit+0x105/0x110
> 	do_IRQ+0x56/0xf0
> 	common_interrupt+0x16a/0x16a
> 	? cpuidle_enter_state+0x57/0xd0
> 	cpuidle_idle_call+0xde/0x230
> 	arch_cpu_idle+0xe/0xc0
> 	cpu_startup_entry+0x14a/0x1e0
> 	start_secondary+0x1f7/0x270
> 	start_cpu+0x5/0x14
> 
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Konstantin Khorenko <khorenko@virtuozzo.com>
> CC: Faisal Latif <faisal.latif@intel.com>
> CC: Shiraz Saleem <shiraz.saleem@intel.com>
> CC: Doug Ledford <dledford@redhat.com>
> CC: Jason Gunthorpe <jgg@ziepe.ca>
> CC: linux-rdma@vger.kernel.org
> CC: linux-kernel@vger.kernel.org
> Acked-by: Shiraz Saleem <shiraz.saleem@intel.com>
>  drivers/infiniband/hw/i40iw/i40iw_cm.c | 8 --------
>  1 file changed, 8 deletions(-)

Applied to for-rc, thanks

JAson

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-04 18:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-28 13:15 [PATCH 1/1] i40iw: remove bogus call to netdev_master_upper_dev_get Denis V. Lunev
2020-04-29 15:33 ` Saleem, Shiraz
2020-05-04 18:52 ` Jason Gunthorpe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).