netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* net-next warning at kernel/softirq.c:159 local_bh_enable
@ 2012-07-06  3:20 Or Gerlitz
  2012-07-06  4:08 ` David Miller
  2012-07-06  4:17 ` Or Gerlitz
  0 siblings, 2 replies; 6+ messages in thread
From: Or Gerlitz @ 2012-07-06  3:20 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Shlomo Pongratz

Dave,

Shlomo saw too the ipv6 dst crash that was reported over
the list and also this warning when he rebased to net-next yesterday

Or.


[  285.551769] ------------[ cut here ]------------
[  285.552693] WARNING: at kernel/softirq.c:159 local_bh_enable+0x7a/0xa0()
[  285.552693] Hardware name: X7DWU
[  285.552693] Modules linked in: ib_ipoib ib_cm ib_sa mlx4_ib mlx4_en
mlx4_core ib_mad ib_core netconsole nfs lockd fscache auth_rpcgss nfs_acl
bnx2fc cnic 8021q uio garp fcoe libfcoe stp libfc llc scsi_transport_fc
scsi_tgt sunrpc binfmt_misc uinput joydev coretemp kvm_intel kvm microcode
pcspkr serio_raw i2c_i801 lpc_ich mfd_core i5400_edac edac_core i5k_amb
igb ptp pps_core ioatdma ixgbe dca mdio shpchp usb_storage floppy radeon
ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
scsi_wait_scan]

[  285.552693] Pid: 1662, comm: avahi-daemon Not tainted 3.5.0-rc5+ #2
[  285.552693] Call Trace:
[  285.552693]  [<ffffffff81058ebf>] warn_slowpath_common+0x7f/0xc0
[  285.552693]  [<ffffffff81058f1a>] warn_slowpath_null+0x1a/0x20
[  285.552693]  [<ffffffff810618ba>] local_bh_enable+0x7a/0xa0
[  285.552693]  [<ffffffff815294e0>] ipv4_neigh_lookup+0xc0/0x130
[  285.552693]  [<ffffffffa04f0966>] ipoib_mcast_send+0x1b6/0x480 [ib_ipoib]
[  285.552693]  [<ffffffff81093716>] ? update_sd_lb_stats+0x146/0x690
[  285.552693]  [<ffffffff814eb35b>] ? __alloc_skb+0x4b/0x170
[  285.552693]  [<ffffffffa04ec15d>] ipoib_path_lookup+0x11d/0x300 [ib_ipoib]
[  285.552693]  [<ffffffff814eb35b>] ? __alloc_skb+0x4b/0x170
[  285.552693]  [<ffffffff814e7718>] ? sock_alloc_send_pskb+0x1d8/0x380
[  285.552693]  [<ffffffffa04ec97d>] ipoib_start_xmit+0x1ad/0x430 [ib_ipoib]
[  285.552693]  [<ffffffff814fa64a>] dev_hard_start_xmit+0x24a/0x670
[  285.552693]  [<ffffffff8151790a>] sch_direct_xmit+0xfa/0x1d0
[  285.552693]  [<ffffffff814fabff>] dev_queue_xmit+0x18f/0x5e0
[  285.552693]  [<ffffffff81503667>] neigh_connected_output+0xc7/0x110
[  285.552693]  [<ffffffff81535c0d>] ip_finish_output+0x2ed/0x410
[  285.552693]  [<ffffffff81535ee9>] ip_mc_output+0x119/0x250
[  285.552693]  [<ffffffff81534fe9>] ip_local_out+0x29/0x30
[  285.552693]  [<ffffffff8153500b>] ip_send_skb+0x1b/0x50
[  285.552693]  [<ffffffff815598ad>] udp_send_skb+0x10d/0x3a0
[  285.552693]  [<ffffffff81534190>] ? ip_append_page+0x500/0x500
[  285.552693]  [<ffffffff8155ab9b>] udp_sendmsg+0x33b/0x970
[  285.552693]  [<ffffffff81080650>] ? update_rmtp+0x80/0x80
[  285.552693]  [<ffffffff81198011>] ? do_sys_poll+0x351/0x510
[  285.552693]  [<ffffffff81563a78>] inet_sendmsg+0x48/0xb0
[  285.552693]  [<ffffffff814e3398>] sock_sendmsg+0xf8/0x130
[  285.552693]  [<ffffffff81197330>] ? __pollwait+0xf0/0xf0
[  285.552693]  [<ffffffff81060707>] ? current_fs_time+0x27/0x30
[  285.552693]  [<ffffffff8119d3e1>] ? update_time+0x81/0xc0
[  285.552693]  [<ffffffff81197330>] ? __pollwait+0xf0/0xf0
[  285.552693]  [<ffffffff8119d469>] ? file_update_time+0x49/0xe0
[  285.552693]  [<ffffffff814e1e6e>] ? move_addr_to_kernel+0x4e/0x90
[  285.552693]  [<ffffffff814e1690>] ? copy_from_user+0x30/0x40
[  285.552693]  [<ffffffff814e4acd>] __sys_sendmsg+0x3fd/0x420
[  285.552693]  [<ffffffff81184aa2>] ? do_sync_write+0xe2/0x120
[  285.552693]  [<ffffffff811c1b05>] ? fsnotify+0x1d5/0x2f0
[  285.552693]  [<ffffffff814e4cf9>] sys_sendmsg+0x49/0x90
[  285.552693]  [<ffffffff81607da9>] system_call_fastpath+0x16/0x1b
[  285.552693] ---[ end trace cabd6aea7003ad6f ]---

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

* Re: net-next warning at kernel/softirq.c:159 local_bh_enable
  2012-07-06  3:20 net-next warning at kernel/softirq.c:159 local_bh_enable Or Gerlitz
@ 2012-07-06  4:08 ` David Miller
  2012-07-06  4:22   ` Or Gerlitz
  2012-07-06  4:17 ` Or Gerlitz
  1 sibling, 1 reply; 6+ messages in thread
From: David Miller @ 2012-07-06  4:08 UTC (permalink / raw)
  To: ogerlitz; +Cc: netdev, shlomop

From: Or Gerlitz <ogerlitz@mellanox.com>
Date: Fri, 6 Jul 2012 06:20:58 +0300

> Shlomo saw too the ipv6 dst crash that was reported over
> the list and also this warning when he rebased to net-next yesterday

Here is what I commited to fix this:

====================
[PATCH] ipoib: Need to do dst_neigh_lookup_skb() outside of priv->lock.

Otherwise local_bh_enable() complains.

Reported-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
index fbb95ee..7cecb16 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
@@ -658,9 +658,15 @@ static int ipoib_mcast_leave(struct net_device *dev, struct ipoib_mcast *mcast)
 void ipoib_mcast_send(struct net_device *dev, void *mgid, struct sk_buff *skb)
 {
 	struct ipoib_dev_priv *priv = netdev_priv(dev);
+	struct dst_entry *dst = skb_dst(skb);
 	struct ipoib_mcast *mcast;
+	struct neighbour *n;
 	unsigned long flags;
 
+	n = NULL;
+	if (dst)
+		n = dst_neigh_lookup_skb(dst, skb);
+
 	spin_lock_irqsave(&priv->lock, flags);
 
 	if (!test_bit(IPOIB_FLAG_OPER_UP, &priv->flags)		||
@@ -715,12 +721,6 @@ void ipoib_mcast_send(struct net_device *dev, void *mgid, struct sk_buff *skb)
 
 out:
 	if (mcast && mcast->ah) {
-		struct dst_entry *dst = skb_dst(skb);
-		struct neighbour *n = NULL;
-
-		rcu_read_lock();
-		if (dst)
-			n = dst_neigh_lookup_skb(dst, skb);
 		if (n) {
 			if (!*to_ipoib_neigh(n)) {
 				struct ipoib_neigh *neigh;
@@ -735,13 +735,14 @@ out:
 			}
 			neigh_release(n);
 		}
-		rcu_read_unlock();
 		spin_unlock_irqrestore(&priv->lock, flags);
 		ipoib_send(dev, skb, mcast->ah, IB_MULTICAST_QPN);
 		return;
 	}
 
 unlock:
+	if (n)
+		neigh_release(n);
 	spin_unlock_irqrestore(&priv->lock, flags);
 }
 
-- 
1.7.10.4

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

* Re: net-next warning at kernel/softirq.c:159 local_bh_enable
  2012-07-06  3:20 net-next warning at kernel/softirq.c:159 local_bh_enable Or Gerlitz
  2012-07-06  4:08 ` David Miller
@ 2012-07-06  4:17 ` Or Gerlitz
  2012-07-06  4:20   ` David Miller
  1 sibling, 1 reply; 6+ messages in thread
From: Or Gerlitz @ 2012-07-06  4:17 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Shlomo Pongratz

FWIW - I've updated my net-next clone to the lastest and still
see this, even after the IPv6 related fix.

Or.


IPv6: ADDRCONF(NETDEV_UP): ib0: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): ib0: link becomes ready
------------[ cut here ]------------
WARNING: at kernel/softirq.c:159 local_bh_enable+0x45/0xc2()
Hardware name: X7DWU
Modules linked in: ib_ipoib ib_cm ib_sa ib_uverbs netconsole nfs lockd auth_rpcgss nfs_acl autofs4 sunrpc fcoe libfcoe libfc scsi_transport_fc 8021q ipmi_devintf ipmi_si ipmi_msghandler ipv6 dm_mirror dm_region_hash dm_log uinput igb ptp pps_core mlx4_ib ib_mad ib_core mlx4_en mlx4_core sg kvm_intel kvm microcode pcspkr rng_core ioatdma dca dm_mod shpchp button sr_mod ext3 jbd usb_storage sd_mod ata_piix libata scsi_mod ehci_hcd uhci_hcd floppy [last unloaded: scsi_wait_scan]
Pid: 0, comm: swapper/0 Not tainted 3.5.0-rc5-12501-g1405080-dirty #86
Call Trace:
 <IRQ>  [<ffffffff81027f1d>] warn_slowpath_common+0x80/0x98
 [<ffffffffa0245266>] ? ip6_neigh_lookup+0x157/0x187 [ipv6]
 [<ffffffff81027f4a>] warn_slowpath_null+0x15/0x17
 [<ffffffff8102f56a>] local_bh_enable+0x45/0xc2
 [<ffffffffa0245266>] ip6_neigh_lookup+0x157/0x187 [ipv6]
 [<ffffffffa0245168>] ? ip6_neigh_lookup+0x59/0x187 [ipv6]
 [<ffffffffa030895d>] ipoib_mcast_send+0x375/0x48b [ib_ipoib]
 [<ffffffffa0308908>] ? ipoib_mcast_send+0x320/0x48b [ib_ipoib]
 [<ffffffff8102f5e2>] ? local_bh_enable+0xbd/0xc2
 [<ffffffffa030494f>] ipoib_path_lookup+0x2f3/0x331 [ib_ipoib]
 [<ffffffffa0245168>] ? ip6_neigh_lookup+0x59/0x187 [ipv6]
 [<ffffffffa0304b4d>] ipoib_start_xmit+0x1c0/0x54f [ib_ipoib]
 [<ffffffffa030498d>] ? ipoib_path_lookup+0x331/0x331 [ib_ipoib]
 [<ffffffff812c1be3>] dev_hard_start_xmit+0x449/0x60e
 [<ffffffff812c1804>] ? dev_hard_start_xmit+0x6a/0x60e
 [<ffffffff812d95b9>] sch_direct_xmit+0x72/0x201
 [<ffffffff812c2221>] dev_queue_xmit+0x479/0x70e
 [<ffffffff812c1da8>] ? dev_hard_start_xmit+0x60e/0x60e
 [<ffffffff812ca20e>] neigh_connected_output+0xb6/0xd4
 [<ffffffffa023c85b>] ip6_finish_output2+0x304/0x38e [ipv6]
 [<ffffffffa023c777>] ? ip6_finish_output2+0x220/0x38e [ipv6]
 [<ffffffffa0245057>] ? ip6_mtu+0x88/0xa1 [ipv6]
 [<ffffffffa023ca29>] ip6_finish_output+0x144/0x149 [ipv6]
 [<ffffffffa023cb41>] ip6_output+0x113/0x11c [ipv6]
 [<ffffffffa024c51f>] ndisc_send_skb+0x176/0x200 [ipv6]
 [<ffffffffa024c413>] ? ndisc_send_skb+0x6a/0x200 [ipv6]
 [<ffffffff81065350>] ? mark_held_locks+0xcd/0xf5
 [<ffffffffa024ce1a>] __ndisc_send+0x51/0x5d [ipv6]
 [<ffffffffa024e4a0>] ndisc_send_ns+0x75/0x82 [ipv6]
 [<ffffffffa02413ee>] addrconf_dad_timer+0x118/0x136 [ipv6]
 [<ffffffff8103547a>] run_timer_softirq+0x27a/0x38b
 [<ffffffff810353b5>] ? run_timer_softirq+0x1b5/0x38b
 [<ffffffffa02412d6>] ? addrconf_rs_timer+0xf2/0xf2 [ipv6]
 [<ffffffff8102f746>] __do_softirq+0xff/0x1de
 [<ffffffff81362dcc>] call_softirq+0x1c/0x26
 [<ffffffff81003090>] do_softirq+0x38/0x80
 [<ffffffff8102f41f>] irq_exit+0x4e/0x83
 [<ffffffff81019d2e>] smp_apic_timer_interrupt+0x86/0x94
 [<ffffffff8136255c>] apic_timer_interrupt+0x6c/0x80
 <EOI>  [<ffffffff810083ec>] ? mwait_idle+0x13c/0x208
 [<ffffffff810083e3>] ? mwait_idle+0x133/0x208
 [<ffffffff810088d1>] cpu_idle+0x6e/0xab
 [<ffffffff81343a23>] rest_init+0xc7/0xce
 [<ffffffff8134395c>] ? csum_partial_copy_generic+0x16c/0x16c
 [<ffffffff8167fbf3>] start_kernel+0x332/0x33f
 [<ffffffff8167f6f6>] ? kernel_init+0x19d/0x19d
 [<ffffffff8167f2b4>] x86_64_start_reservations+0xb8/0xbd
 [<ffffffff8167f3a6>] x86_64_start_kernel+0xed/0xf4
---[ end trace f71d7a59b646ab87 ]---

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

* Re: net-next warning at kernel/softirq.c:159 local_bh_enable
  2012-07-06  4:17 ` Or Gerlitz
@ 2012-07-06  4:20   ` David Miller
  2012-07-06  4:33     ` Or Gerlitz
  0 siblings, 1 reply; 6+ messages in thread
From: David Miller @ 2012-07-06  4:20 UTC (permalink / raw)
  To: ogerlitz; +Cc: netdev, shlomop

From: Or Gerlitz <ogerlitz@mellanox.com>
Date: Fri, 6 Jul 2012 07:17:33 +0300

> FWIW - I've updated my net-next clone to the lastest and still
> see this, even after the IPv6 related fix.

I sent you the infiniband patch necessary for this bug.

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

* Re: net-next warning at kernel/softirq.c:159 local_bh_enable
  2012-07-06  4:08 ` David Miller
@ 2012-07-06  4:22   ` Or Gerlitz
  0 siblings, 0 replies; 6+ messages in thread
From: Or Gerlitz @ 2012-07-06  4:22 UTC (permalink / raw)
  To: David Miller; +Cc: ogerlitz, netdev, shlomop, Erez Shitrit

> Here is what I commited to fix this:
>
> ====================
> [PATCH] ipoib: Need to do dst_neigh_lookup_skb() outside of priv->lock.
>
> Otherwise local_bh_enable() complains.

sorry, I missed your note, I just pulled from kernel.org and it
doesn't have the commit, will
be able to test that later.

Or.

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

* Re: net-next warning at kernel/softirq.c:159 local_bh_enable
  2012-07-06  4:20   ` David Miller
@ 2012-07-06  4:33     ` Or Gerlitz
  0 siblings, 0 replies; 6+ messages in thread
From: Or Gerlitz @ 2012-07-06  4:33 UTC (permalink / raw)
  To: David Miller; +Cc: ogerlitz, netdev, shlomop, Erez Shitrit

On Fri, Jul 6, 2012 at 7:20 AM, David Miller <davem@davemloft.net> wrote:

> I sent you the infiniband patch necessary for this bug.

OK, tested with the patch, all is well, thanks!

Or.

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

end of thread, other threads:[~2012-07-06  4:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-06  3:20 net-next warning at kernel/softirq.c:159 local_bh_enable Or Gerlitz
2012-07-06  4:08 ` David Miller
2012-07-06  4:22   ` Or Gerlitz
2012-07-06  4:17 ` Or Gerlitz
2012-07-06  4:20   ` David Miller
2012-07-06  4:33     ` Or Gerlitz

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