Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760540Ab2FDMoa (ORCPT ); Mon, 4 Jun 2012 08:44:30 -0400 Received: from hosting.visp.net.lb ([194.146.153.11]:38425 "EHLO hosting.visp.net.lb" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753480Ab2FDMo2 (ORCPT ); Mon, 4 Jun 2012 08:44:28 -0400 X-Greylist: delayed 411 seconds by postgrey-1.27 at vger.kernel.org; Mon, 04 Jun 2012 08:44:28 EDT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Mon, 04 Jun 2012 15:37:29 +0300 From: Denys Fedoryshchenko To: , Subject: [BUG] vanilla 32bit 3.4.0, lockdep, =?UTF-8?Q?l=32tp=5Fxmit=5Fskb?= =?UTF-8?Q?=20+=20sch=5Fdirect=5Fxmit=20warning?= Message-ID: <9c27483e8fbe0d9ec77501968d152c90@visp.net.lb> User-Agent: VISP Webmail/0.7.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 9983 Lines: 199 CBSS_PPPoE ~ # ip l2tp show tunnel Tunnel 2, encap IP From 194.146.153.XX to 194.146.153.YY Peer tunnel 2 CBSS_PPPoE ~ # ip l2tp show session Session 1 in tunnel 2 Peer session 1, tunnel 2 interface name: tun0 offset 0, peer offset 0 CBSS_PPPoE ~ # ip link show dev tun0 303: tun0: mtu 1492 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 1000 link/ether 6e:25:18:ce:8e:3b brd ff:ff:ff:ff:ff:ff CBSS_PPPoE ~ # ip addr show dev tun0 303: tun0: mtu 1492 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 6e:25:18:ce:8e:3b brd ff:ff:ff:ff:ff:ff inet 10.0.6.2/24 scope global tun0 command was executed: ping 10.0.6.1 [ 135.292915] [ 135.293008] ====================================================== [ 135.293115] [ INFO: possible circular locking dependency detected ] [ 135.293221] 3.4.0-build-0061 #12 Not tainted [ 135.293316] ------------------------------------------------------- [ 135.293420] ping/6404 is trying to acquire lock: [ 135.293517] (slock-AF_INET){+.-...}, at: [] l2tp_xmit_skb+0x173/0x47e [l2tp_core] [ 135.293780] [ 135.293780] but task is already holding lock: [ 135.293970] (_xmit_ETHER#2){+.-...}, at: [] sch_direct_xmit+0x36/0x119 [ 135.294251] [ 135.294252] which lock already depends on the new lock. [ 135.294252] [ 135.294532] [ 135.294533] the existing dependency chain (in reverse order) is: [ 135.294727] [ 135.294728] -> #1 (_xmit_ETHER#2){+.-...}: [ 135.295018] [] lock_acquire+0x71/0x85 [ 135.295140] [] _raw_spin_lock+0x33/0x40 [ 135.295262] [] neigh_update+0x1d9/0x385 [ 135.295384] [] arp_process+0x477/0x491 [ 135.295507] [] NF_HOOK.clone.19+0x45/0x4c [ 135.295628] [] arp_rcv+0xb1/0xc3 [ 135.295748] [] __netif_receive_skb+0x329/0x378 [ 135.295873] [] netif_receive_skb+0x4e/0x7d [ 135.295997] [] napi_skb_finish+0x1e/0x34 [ 135.296121] [] napi_gro_receive+0x20/0x24 [ 135.296245] [] rtl8169_poll+0x2e6/0x52c [r8169] [ 135.296374] [] net_rx_action+0x90/0x15d [ 135.296496] [] __do_softirq+0x7b/0x118 [ 135.296620] [ 135.296620] -> #0 (slock-AF_INET){+.-...}: [ 135.296889] [] __lock_acquire+0x9a3/0xc27 [ 135.297010] [] lock_acquire+0x71/0x85 [ 135.297130] [] _raw_spin_lock+0x33/0x40 [ 135.297251] [] l2tp_xmit_skb+0x173/0x47e [l2tp_core] [ 135.297376] [] l2tp_eth_dev_xmit+0x1a/0x2f [l2tp_eth] [ 135.297500] [] dev_hard_start_xmit+0x333/0x3f2 [ 135.297623] [] sch_direct_xmit+0x55/0x119 [ 135.297745] [] dev_queue_xmit+0x282/0x418 [ 135.297868] [] NF_HOOK.clone.19+0x45/0x4c [ 135.297992] [] arp_xmit+0x22/0x24 [ 135.298113] [] arp_send+0x41/0x48 [ 135.300267] [] arp_solicit+0x16b/0x181 [ 135.300388] [] neigh_probe+0x3c/0x52 [ 135.300509] [] __neigh_event_send+0x1a3/0x1bc [ 135.300630] [] neigh_resolve_output+0x59/0x149 [ 135.300750] [] ip_finish_output2+0x1e1/0x21c [ 135.300871] [] ip_finish_output+0x35/0x39 [ 135.300989] [] ip_output+0x87/0x8c [ 135.301110] [] dst_output+0x15/0x18 [ 135.301232] [] ip_local_out+0x17/0x1a [ 135.301355] [] ip_send_skb+0x12/0x5c [ 135.301478] [] ip_push_pending_frames+0x2a/0x2e [ 135.301603] [] raw_sendmsg+0x67a/0x749 [ 135.301726] [] inet_sendmsg+0x53/0x5a [ 135.301850] [] sock_sendmsg+0xaa/0xc2 [ 135.301974] [] __sys_sendmsg+0x182/0x20c [ 135.302098] [] sys_sendmsg+0x36/0x4d [ 135.302219] [] sys_socketcall+0x214/0x27e [ 135.302344] [] syscall_call+0x7/0xb [ 135.302467] [ 135.302468] other info that might help us debug this: [ 135.302468] [ 135.302739] Possible unsafe locking scenario: [ 135.302739] [ 135.302928] CPU0 CPU1 [ 135.303022] ---- ---- [ 135.303118] lock(_xmit_ETHER#2); [ 135.303274] lock(slock-AF_INET); [ 135.303417] lock(_xmit_ETHER#2); [ 135.303582] lock(slock-AF_INET); [ 135.303719] [ 135.303719] *** DEADLOCK *** [ 135.303719] [ 135.303990] 4 locks held by ping/6404: [ 135.304087] #0: (sk_lock-AF_INET){+.+.+.}, at: [] raw_sendmsg+0x615/0x749 [ 135.304361] #1: (rcu_read_lock){.+.+..}, at: [] rcu_read_lock+0x0/0x35 [ 135.304637] #2: (rcu_read_lock_bh){.+....}, at: [] rcu_lock_acquire+0x0/0x30 [ 135.304913] #3: (_xmit_ETHER#2){+.-...}, at: [] sch_direct_xmit+0x36/0x119 [ 135.305209] [ 135.305209] stack backtrace: [ 135.305391] Pid: 6404, comm: ping Not tainted 3.4.0-build-0061 #12 [ 135.305492] Call Trace: [ 135.305589] [] ? printk+0x18/0x1a [ 135.305689] [] print_circular_bug+0x1ac/0x1b6 [ 135.305790] [] __lock_acquire+0x9a3/0xc27 [ 135.305890] [] ? valid_state+0x1d4/0x201 [ 135.305989] [] ? __slab_alloc.clone.59.clone.64+0xc4/0x2de [ 135.306097] [] lock_acquire+0x71/0x85 [ 135.306197] [] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core] [ 135.306301] [] _raw_spin_lock+0x33/0x40 [ 135.306401] [] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core] [ 135.306506] [] l2tp_xmit_skb+0x173/0x47e [l2tp_core] [ 135.306609] [] ? timekeeping_get_ns+0xf/0x46 [ 135.306710] [] l2tp_eth_dev_xmit+0x1a/0x2f [l2tp_eth] [ 135.306815] [] dev_hard_start_xmit+0x333/0x3f2 [ 135.306919] [] sch_direct_xmit+0x55/0x119 [ 135.307016] [] dev_queue_xmit+0x282/0x418 [ 135.307112] [] ? dev_hard_start_xmit+0x3f2/0x3f2 [ 135.307220] [] NF_HOOK.clone.19+0x45/0x4c [ 135.307322] [] arp_xmit+0x22/0x24 [ 135.307428] [] ? dev_hard_start_xmit+0x3f2/0x3f2 [ 135.307529] [] arp_send+0x41/0x48 [ 135.307625] [] arp_solicit+0x16b/0x181 [ 135.307721] [] neigh_probe+0x3c/0x52 [ 135.307821] [] __neigh_event_send+0x1a3/0x1bc [ 135.307923] [] neigh_resolve_output+0x59/0x149 [ 135.308025] [] ? rcu_read_lock+0x33/0x35 [ 135.308125] [] ip_finish_output2+0x1e1/0x21c [ 135.308225] [] ? ipv4_mtu+0x36/0x65 [ 135.308326] [] ip_finish_output+0x35/0x39 [ 135.308426] [] ip_output+0x87/0x8c [ 135.308523] [] ? ip_finish_output2+0x21c/0x21c [ 135.308624] [] dst_output+0x15/0x18 [ 135.308721] [] ip_local_out+0x17/0x1a [ 135.308821] [] ip_send_skb+0x12/0x5c [ 135.308922] [] ip_push_pending_frames+0x2a/0x2e [ 135.309022] [] raw_sendmsg+0x67a/0x749 [ 135.309119] [] inet_sendmsg+0x53/0x5a [ 135.309219] [] sock_sendmsg+0xaa/0xc2 [ 135.309318] [] ? lock_release_non_nested+0x88/0x20b [ 135.309420] [] ? might_fault+0x2d/0x79 [ 135.309520] [] ? might_fault+0x73/0x79 [ 135.309620] [] ? copy_from_user+0x8/0xa [ 135.309717] [] ? verify_iovec+0x3e/0x75 [ 135.309817] [] __sys_sendmsg+0x182/0x20c [ 135.309919] [] ? mark_lock+0x26/0x1bb [ 135.310019] [] ? __lock_acquire+0x4ce/0xc27 [ 135.310120] [] ? handle_pte_fault+0x284/0x93d [ 135.310221] [] ? lock_release_non_nested+0x88/0x20b [ 135.310328] [] ? page_address+0x8a/0x9f [ 135.310430] [] ? might_fault+0x2d/0x79 [ 135.310531] [] ? fget_light+0x2b/0x7c [ 135.310631] [] sys_sendmsg+0x36/0x4d [ 135.310725] [] sys_socketcall+0x214/0x27e [ 135.310827] [] ? restore_all+0xf/0xf [ 135.310929] [] ? vmalloc_sync_all+0x5/0x5 [ 135.311032] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 135.311135] [] syscall_call+0x7/0xb --- Denys Fedoryshchenko, Network Engineer, Virtual ISP S.A.L. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/