Bug 223649

Summary: INFO: soft-safe -> soft-unsafe lock order detected
Product: [Fedora] Fedora Reporter: Ronald Warsow <rwarsow>
Component: kernelAssignee: Eric Paris <eparis>
Status: CLOSED DUPLICATE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cebbert, davej, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-02-14 15:40:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 202141    

Description Ronald Warsow 2007-01-21 07:33:09 UTC
Description of problem:
at the end of yum update (rawhide)

Version-Release number of selected component (if applicable):
2.6.19-1.2906.fc7

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:
======================================================
[ INFO: soft-safe -> soft-unsafe lock order detected ]
2.6.19-1.2906.fc7 #0
------------------------------------------------------
sendmail/1945 [HC0[0]:SC0[1]:HE1:SE0] is trying to acquire:
 (&ssec->nlbl_lock){--..}, at: [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123

and this task is already holding:
 (af_callback_keys + sk->sk_family#3){-.-+}, at: [<c05e36e0>] inet_accept+0x70/0xb5
which would create a new lock dependency:
 (af_callback_keys + sk->sk_family#3){-.-+} -> (&ssec->nlbl_lock){--..}

but this new dependency connects a soft-irq-safe lock:
 (af_callback_keys + sk->sk_family#3){-.-+}
... which became soft-irq-safe at:
  [<c04401a8>] __lock_acquire+0x381/0xa04
  [<c0440b14>] lock_acquire+0x56/0x6f
  [<c0604b06>] _read_lock+0x2b/0x38
  [<c059db71>] sock_def_write_space+0x18/0x93
  [<c059ddcc>] sock_wfree+0x27/0x3c
  [<c059f665>] __kfree_skb+0xa0/0x100
  [<c059f6f3>] kfree_skb+0x2e/0x30
  [<c05a3282>] dev_kfree_skb_any+0x7a/0x7e
  [<e094e797>] e100_tx_clean+0x97/0x10e [e100]
  [<e094fc1b>] e100_poll+0x216/0x294 [e100]
  [<c05a56e6>] net_rx_action+0xa1/0x1a8
  [<c042bfa6>] __do_softirq+0x6f/0xe2
  [<c04063a9>] do_softirq+0x61/0xc7
  [<ffffffff>] 0xffffffff

to a soft-irq-unsafe lock:
 (&ssec->nlbl_lock){--..}
... which became soft-irq-unsafe at:
...  [<c0440234>] __lock_acquire+0x40d/0xa04
  [<c0440b14>] lock_acquire+0x56/0x6f
  [<c06049a1>] _spin_lock+0x2b/0x38
  [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123
  [<c04d100c>] selinux_netlbl_socket_post_create+0x2d/0x2f
  [<c04c83df>] selinux_socket_post_create+0x156/0x15c
  [<c059addc>] __sock_create+0x179/0x1b2
  [<c059ae4e>] sock_create+0x1a/0x1f
  [<c059b0d5>] sys_socket+0x1b/0x3c
  [<c059b95a>] sys_socketcall+0x77/0x241
  [<c0404058>] syscall_call+0x7/0xb
  [<ffffffff>] 0xffffffff

other info that might help us debug this:

3 locks held by sendmail/1945:
 #0:  (sk_lock-AF_INET){--..}, at: [<c05e36a1>] inet_accept+0x31/0xb5
 #1:  (af_callback_keys + sk->sk_family#3){-.-+}, at: [<c05e36e0>]
inet_accept+0x70/0xb5
 #2:  (policy_rwlock){..-?}, at: [<c04cef34>]
selinux_netlbl_socket_setsid+0x54/0x123

the soft-irq-safe lock's dependencies:
-> (af_callback_keys + sk->sk_family#3){-.-+} ops: 0 {
   initial-use  at:
                        [<c044024f>] __lock_acquire+0x428/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c0604a53>] _write_lock_bh+0x30/0x3d
                        [<c059c9e2>] sk_common_release+0x2a/0x9c
                        [<c05dc4e9>] udp_lib_close+0x8/0xa
                        [<c05e3234>] inet_release+0x43/0x49
                        [<c059ac12>] sock_release+0x17/0x68
                        [<c059ae80>] sock_close+0x2d/0x33
                        [<c047974b>] __fput+0xbe/0x168
                        [<c047980c>] fput+0x17/0x19
                        [<c047710d>] filp_close+0x54/0x5c
                        [<c0478091>] sys_close+0x78/0xb0
                        [<c0404058>] syscall_call+0x7/0xb
                        [<ffffffff>] 0xffffffff
   hardirq-on-W at:
                        [<c044020d>] __lock_acquire+0x3e6/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c0604a53>] _write_lock_bh+0x30/0x3d
                        [<c059c9e2>] sk_common_release+0x2a/0x9c
                        [<c05dc4e9>] udp_lib_close+0x8/0xa
                        [<c05e3234>] inet_release+0x43/0x49
                        [<c059ac12>] sock_release+0x17/0x68
                        [<c059ae80>] sock_close+0x2d/0x33
                        [<c047974b>] __fput+0xbe/0x168
                        [<c047980c>] fput+0x17/0x19
                        [<c047710d>] filp_close+0x54/0x5c
                        [<c0478091>] sys_close+0x78/0xb0
                        [<c0404058>] syscall_call+0x7/0xb
                        [<ffffffff>] 0xffffffff
   in-softirq-R at:
                        [<c04401a8>] __lock_acquire+0x381/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c0604b06>] _read_lock+0x2b/0x38
                        [<c059db71>] sock_def_write_space+0x18/0x93
                        [<c059ddcc>] sock_wfree+0x27/0x3c
                        [<c059f665>] __kfree_skb+0xa0/0x100
                        [<c059f6f3>] kfree_skb+0x2e/0x30
                        [<c05a3282>] dev_kfree_skb_any+0x7a/0x7e
                        [<e094e797>] e100_tx_clean+0x97/0x10e [e100]
                        [<e094fc1b>] e100_poll+0x216/0x294 [e100]
                        [<c05a56e6>] net_rx_action+0xa1/0x1a8
                        [<c042bfa6>] __do_softirq+0x6f/0xe2
                        [<c04063a9>] do_softirq+0x61/0xc7
                        [<ffffffff>] 0xffffffff
   hardirq-on-R at:
                        [<c04401d6>] __lock_acquire+0x3af/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c0604b06>] _read_lock+0x2b/0x38
                        [<c059db71>] sock_def_write_space+0x18/0x93
                        [<c059ddcc>] sock_wfree+0x27/0x3c
                        [<c059f665>] __kfree_skb+0xa0/0x100
                        [<c059f6f3>] kfree_skb+0x2e/0x30
                        [<c05a3282>] dev_kfree_skb_any+0x7a/0x7e
                        [<e094e797>] e100_tx_clean+0x97/0x10e [e100]
                        [<e094fc1b>] e100_poll+0x216/0x294 [e100]
                        [<c05a56e6>] net_rx_action+0xa1/0x1a8
                        [<c042bfa6>] __do_softirq+0x6f/0xe2
                        [<c04063a9>] do_softirq+0x61/0xc7
                        [<ffffffff>] 0xffffffff
 }
 ... key      at: [<c0a027f0>] af_callback_keys+0x10/0x100

the soft-irq-unsafe lock's dependencies:
-> (&ssec->nlbl_lock){--..} ops: 0 {
   initial-use  at:
                        [<c044024f>] __lock_acquire+0x428/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c06049a1>] _spin_lock+0x2b/0x38
                        [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123
                        [<c04d100c>] selinux_netlbl_socket_post_create+0x2d/0x2f
                        [<c04c83df>] selinux_socket_post_create+0x156/0x15c
                        [<c059addc>] __sock_create+0x179/0x1b2
                        [<c059ae4e>] sock_create+0x1a/0x1f
                        [<c059b0d5>] sys_socket+0x1b/0x3c
                        [<c059b95a>] sys_socketcall+0x77/0x241
                        [<c0404058>] syscall_call+0x7/0xb
                        [<ffffffff>] 0xffffffff
   softirq-on-W at:
                        [<c0440234>] __lock_acquire+0x40d/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c06049a1>] _spin_lock+0x2b/0x38
                        [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123
                        [<c04d100c>] selinux_netlbl_socket_post_create+0x2d/0x2f
                        [<c04c83df>] selinux_socket_post_create+0x156/0x15c
                        [<c059addc>] __sock_create+0x179/0x1b2
                        [<c059ae4e>] sock_create+0x1a/0x1f
                        [<c059b0d5>] sys_socket+0x1b/0x3c
                        [<c059b95a>] sys_socketcall+0x77/0x241
                        [<c0404058>] syscall_call+0x7/0xb
                        [<ffffffff>] 0xffffffff
   hardirq-on-W at:
                        [<c044020d>] __lock_acquire+0x3e6/0xa04
                        [<c0440b14>] lock_acquire+0x56/0x6f
                        [<c06049a1>] _spin_lock+0x2b/0x38
                        [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123
                        [<c04d100c>] selinux_netlbl_socket_post_create+0x2d/0x2f
                        [<c04c83df>] selinux_socket_post_create+0x156/0x15c
                        [<c059addc>] __sock_create+0x179/0x1b2
                        [<c059ae4e>] sock_create+0x1a/0x1f
                        [<c059b0d5>] sys_socket+0x1b/0x3c
                        [<c059b95a>] sys_socketcall+0x77/0x241
                        [<c0404058>] syscall_call+0x7/0xb
                        [<ffffffff>] 0xffffffff
 }
 ... key      at: [<c09f7b20>] __key.27496+0x0/0x8

stack backtrace:
 [<c04051c9>] show_trace_log_lvl+0x1a/0x2f
 [<c040576e>] show_trace+0x12/0x14
 [<c04057f2>] dump_stack+0x16/0x18
 [<c043fd93>] check_usage+0x242/0x24c
 [<c04406b2>] __lock_acquire+0x88b/0xa04
 [<c0440b14>] lock_acquire+0x56/0x6f
 [<c06049a1>] _spin_lock+0x2b/0x38
 [<c04cef9b>] selinux_netlbl_socket_setsid+0xbb/0x123
 [<c04d12ba>] selinux_netlbl_sock_graft+0xc7/0xcf
 [<c04c4ed8>] selinux_sock_graft+0x32/0x36
 [<c05e36ff>] inet_accept+0x8f/0xb5
 [<c059b833>] sys_accept+0xd0/0x180
 [<c059b9b3>] sys_socketcall+0xd0/0x241
 [<c0404058>] syscall_call+0x7/0xb
 =======================


Expected results:


Additional info:

maybe it's fixed with 2912 (from the update today)...?

Comment 1 Eric Paris 2007-02-14 15:40:55 UTC

*** This bug has been marked as a duplicate of 220966 ***