Skip to contentSkip to conversation

Inconsistent lock state in ipt_do_table

DISCUSSION David Vrabel 3 participants 3 messages Aug 17, 2010 – Aug 18, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Is this related to or fixed by

http://marc.info/?l=linux-netdev&m=128202731626693&w=2

[   15.676004] [ INFO: inconsistent lock state ]
[   15.676004] 2.6.36-rc1+ #4
[   15.676004] ---------------------------------
[   15.689917] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
[   15.696562] ypwhich/1939 [HC0[0]:SC1[2]:HE1:SE0] takes:
[   15.701742]  (&(&lock->lock)->rlock){+.?...}, at: [<f805578d>]
ipt_do_table+0
xad/0x570 [ip_tables]
[   15.701742] {SOFTIRQ-ON-W} state was registered at:
[   15.701742]   [<c016b1fb>] __lock_acquire+0x6cb/0xac0
[   15.701742]   [<c016b676>] lock_acquire+0x86/0x100
[   15.701742]   [<c03f6908>] _raw_spin_lock+0x38/0x50
[   15.701742]   [<f8054285>] get_counters+0xa5/0x110 [ip_tables]
[   15.701742]   [<f8055588>] do_ipt_get_ctl+0x2d8/0x430 [ip_tables]
[   15.701742]   [<c03820d5>] nf_sockopt+0x105/0x160
[   15.701742]   [<c0382159>] nf_getsockopt+0x29/0x30
[   15.701742]   [<c038e81a>] ip_getsockopt+0x15a/0x700
[   15.701742]   [<c03ab592>] raw_getsockopt+0x32/0xc0
[   15.701742]   [<c0351117>] sock_common_getsockopt+0x27/0x40
[   15.701742]   [<c034edb5>] sys_getsockopt+0x75/0xb0
[   15.701742]   [<c035080c>] sys_socketcall+0x13c/0x2d0
[   15.701742]   [<c0102bdc>] sysenter_do_call+0x12/0x38
[   15.701742] irq event stamp: 1802
[   15.701742] hardirqs last  enabled at (1802): [<c03f74ae>]
restore_all_notrac
e+0x0/0x18
[   15.701742] hardirqs last disabled at (1801): [<c03f7638>]
reschedule_interru
pt+0x28/0x40
[   15.701742] softirqs last  enabled at (1794): [<c0362e4b>]
dev_queue_xmit+0x2
0b/0x5c0
[   15.701742] softirqs last disabled at (1795): [<c013ea27>]
do_softirq+0x67/0x
70
[   15.701742]
[   15.701742] other info that might help us debug this:
[   15.701742] 3 locks held by ypwhich/1939:
[   15.701742]  #0:  (sk_lock-AF_INET){+.+.+.}, at: [<c03af340>]
udp_sendmsg+0x2
60/0x720
[   15.701742]  #1:  (rcu_read_lock){.+.+..}, at: [<c035d624>]
__netif_receive_s
kb+0x94/0x560
[   15.701742]  #2:  (rcu_read_lock){.+.+..}, at: [<c0381010>]
nf_hook_slow+0x0/
0x110
[   15.701742]
[   15.701742] stack backtrace:
[   15.701742] Pid: 1939, comm: ypwhich Not tainted 2.6.36-rc1+ #4
[   15.701742] Call Trace:
[   15.701742]  [<c0167c46>] print_usage_bug+0x166/0x1b0
[   15.701742]  [<c0168206>] mark_lock+0x576/0x5b0
[   15.701742]  [<c01694e0>] ? check_usage_forwards+0x0/0xd0
[   15.701742]  [<c016b1b8>] __lock_acquire+0x688/0xac0
[   15.701742]  [<c016b676>] lock_acquire+0x86/0x100
[   15.701742]  [<f805578d>] ? ipt_do_table+0xad/0x570 [ip_tables]
[   15.701742]  [<c03f6908>] _raw_spin_lock+0x38/0x50
[   15.701742]  [<f805578d>] ? ipt_do_table+0xad/0x570 [ip_tables]
[   15.701742]  [<f805578d>] ipt_do_table+0xad/0x570 [ip_tables]
[   15.701742]  [<c016ae28>] ? __lock_acquire+0x2f8/0xac0
[   15.701742]  [<f8557032>] iptable_filter_hook+0x32/0x70 [iptable_filter]
[   15.701742]  [<f8557000>] ? iptable_filter_hook+0x0/0x70 [iptable_filter]
[   15.701742]  [<c0380d23>] nf_iterate+0x53/0x80
[   15.701742]  [<c0388820>] ? ip_local_deliver_finish+0x0/0x2f0
[   15.701742]  [<c03810d8>] nf_hook_slow+0xc8/0x110
[   15.701742]  [<c0388820>] ? ip_local_deliver_finish+0x0/0x2f0
[   15.701742]  [<c038828c>] ip_local_deliver+0x6c/0xa0
[   15.701742]  [<c0388820>] ? ip_local_deliver_finish+0x0/0x2f0
[   15.701742]  [<c0388422>] ip_rcv_finish+0x162/0x560
[   15.701742]  [<c0388166>] ip_rcv+0x266/0x320
[   15.701742]  [<c0168295>] ? mark_held_locks+0x55/0x70
[   15.701742]  [<c0387f00>] ? ip_rcv+0x0/0x320
[   15.701742]  [<c035d849>] __netif_receive_skb+0x2b9/0x560
[   15.701742]  [<c035d624>] ? __netif_receive_skb+0x94/0x560
[   15.701742]  [<c016007b>] ? do_adjtimex+0x69b/0x790
[   15.701742]  [<c0362000>] process_backlog+0xb0/0x190
[   15.701742]  [<c0361d16>] net_rx_action+0xf6/0x1d0
[   15.701742]  [<c013e887>] __do_softirq+0xa7/0x1e0
[   15.701742]  [<c0336fd8>] ? loopback_xmit+0x58/0x90
[   15.701742]  [<c013ea27>] do_softirq+0x67/0x70
[   15.701742]  [<c0362e4b>] ? dev_queue_xmit+0x20b/0x5c0
[   15.701742]  [<c013f7fe>] local_bh_enable+0x9e/0xc0
[   15.701742]  [<c0362e4b>] dev_queue_xmit+0x20b/0x5c0
[   15.701742]  [<c0362c40>] ? dev_queue_xmit+0x0/0x5c0
[   15.701742]  [<c036ab6f>] ? neigh_resolve_output+0x1df/0x370
[   15.701742]  [<c036aa92>] neigh_resolve_output+0x102/0x370
[   15.701742]  [<c038e45c>] ip_finish_output+0x1fc/0x460
[   15.701742]  [<c038b2f0>] ? dst_output+0x0/0x60
[   15.701742]  [<c038d03f>] ip_output+0x8f/0x120
[   15.701742]  [<c038b2f0>] ? dst_output+0x0/0x60
[   15.701742]  [<c038c866>] ip_local_out+0x26/0x70
[   15.701742]  [<c038cb06>] ip_push_pending_frames+0x256/0x3a0
[   15.701742]  [<c03ad546>] udp_push_pending_frames+0x156/0x3e0
[   15.701742]  [<c03af40e>] udp_sendmsg+0x32e/0x720
[   15.701742]  [<c03af0e0>] ? udp_sendmsg+0x0/0x720
[   15.701742]  [<c03b66f6>] inet_sendmsg+0x96/0xe0
[   15.701742]  [<c03b6660>] ? inet_sendmsg+0x0/0xe0
[   15.701742]  [<c034ea2f>] sock_sendmsg+0xef/0x110
[   15.701742]  [<c01d90c0>] ? might_fault+0x50/0xa0
[   15.701742]  [<c02a8681>] ? _copy_from_user+0x41/0x70
[   15.701742]  [<c0350527>] sys_sendto+0xa7/0xd0
[   15.701742]  [<c016b773>] ? lock_release_non_nested+0x83/0x2b0
[   15.701742]  [<c01d90c0>] ? might_fault+0x50/0xa0
[   15.701742]  [<c01d90c0>] ? might_fault+0x50/0xa0
[   15.701742]  [<c03508a5>] sys_socketcall+0x1d5/0x2d0
[   15.701742]  [<c0102bdc>] sysenter_do_call+0x12/0x38
Signature · 6 lines
David Vrabel, Senior Software Engineer, Drivers
CSR, Churchill House, Cambridge Business Park,  Tel: +44 (0)1223 692562
Cowley Road, Cambridge, CB4 0WZ                 http://www.csr.com/


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom