summaryrefslogtreecommitdiffstats
path: root/net/wireless/lib80211_crypt_wep.c
diff options
context:
space:
mode:
authorSzymon Janc <szymon.janc@tieto.com>2012-09-26 14:22:10 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2012-09-27 10:52:22 +0200
commit50b78b2a6500d0e97c204c1b6c51df8c17358bbe (patch)
tree3b7d2f31ab27b4cd5546b0ab72bb9a0c3bdfd008 /net/wireless/lib80211_crypt_wep.c
parent3c0cc8aa23f4b53446bbf385d4647eec6992a2cb (diff)
downloadlinux-50b78b2a6500d0e97c204c1b6c51df8c17358bbe.tar.gz
linux-50b78b2a6500d0e97c204c1b6c51df8c17358bbe.tar.bz2
linux-50b78b2a6500d0e97c204c1b6c51df8c17358bbe.zip
NFC: Fix sleeping in atomic when releasing socket
nfc_llcp_socket_release is calling lock_sock/release_sock while holding write lock for rwlock. Use bh_lock/unlock_sock instead. BUG: sleeping function called from invalid context at net/core/sock.c:2138 in_atomic(): 1, irqs_disabled(): 0, pid: 56, name: kworker/1:1 4 locks held by kworker/1:1/56: Pid: 56, comm: kworker/1:1 Not tainted 3.5.0-999-nfc+ #7 Call Trace: [<ffffffff810952c5>] __might_sleep+0x145/0x200 [<ffffffff815d7686>] lock_sock_nested+0x36/0xa0 [<ffffffff81731569>] ? _raw_write_lock+0x49/0x50 [<ffffffffa04aa100>] ? nfc_llcp_socket_release+0x30/0x200 [nfc] [<ffffffffa04aa122>] nfc_llcp_socket_release+0x52/0x200 [nfc] [<ffffffffa04ab9f0>] nfc_llcp_mac_is_down+0x20/0x30 [nfc] [<ffffffffa04a6fea>] nfc_dep_link_down+0xaa/0xf0 [nfc] [<ffffffffa04a9bb5>] nfc_llcp_timeout_work+0x15/0x20 [nfc] [<ffffffff810825f7>] process_one_work+0x197/0x7c0 [<ffffffff81082596>] ? process_one_work+0x136/0x7c0 [<ffffffff8172fbc9>] ? __schedule+0x419/0x9c0 [<ffffffffa04a9ba0>] ? nfc_llcp_build_gb+0x1b0/0x1b0 [nfc] [<ffffffff81083090>] worker_thread+0x190/0x4c0 [<ffffffff81082f00>] ? rescuer_thread+0x2a0/0x2a0 [<ffffffff81088d1e>] kthread+0xae/0xc0 [<ffffffff810caafd>] ? trace_hardirqs_on+0xd/0x10 [<ffffffff8173acc4>] kernel_thread_helper+0x4/0x10 [<ffffffff81732174>] ? retint_restore_args+0x13/0x13 [<ffffffff81088c70>] ? flush_kthread_worker+0x150/0x150 [<ffffffff8173acc0>] ? gs_change+0x13/0x13 Signed-off-by: Szymon Janc <szymon.janc@tieto.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/wireless/lib80211_crypt_wep.c')
0 files changed, 0 insertions, 0 deletions