diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2013-03-20 10:50:50 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-03-20 11:30:37 +0100 |
commit | bec964ed3b2549086e1fdfbf7f1ce8c22f89baa4 (patch) | |
tree | 475d489bbe9e6c753e2a280094cfa7672c6d7c99 /net/nfc/llcp/llcp.c | |
parent | 36ef0b473fbf43d5db23eea4616cc1d18cec245f (diff) | |
download | linux-bec964ed3b2549086e1fdfbf7f1ce8c22f89baa4.tar.gz linux-bec964ed3b2549086e1fdfbf7f1ce8c22f89baa4.tar.bz2 linux-bec964ed3b2549086e1fdfbf7f1ce8c22f89baa4.zip |
NFC: llcp: Detach socket from process context only when releasing the socket
Calling sock_orphan when e.g. the NFC adapter is removed can lead to
kernel crashes when e.g. a connection less client is sleeping on the
Rx workqueue, waiting for data to show up.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc/llcp/llcp.c')
-rw-r--r-- | net/nfc/llcp/llcp.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c index b530afadd76c..336813ff8cd5 100644 --- a/net/nfc/llcp/llcp.c +++ b/net/nfc/llcp/llcp.c @@ -107,8 +107,6 @@ static void nfc_llcp_socket_release(struct nfc_llcp_local *local, bool listen, accept_sk->sk_state_change(sk); bh_unlock_sock(accept_sk); - - sock_orphan(accept_sk); } if (listen == true) { @@ -134,8 +132,6 @@ static void nfc_llcp_socket_release(struct nfc_llcp_local *local, bool listen, bh_unlock_sock(sk); - sock_orphan(sk); - sk_del_node_init(sk); } @@ -164,8 +160,6 @@ static void nfc_llcp_socket_release(struct nfc_llcp_local *local, bool listen, bh_unlock_sock(sk); - sock_orphan(sk); - sk_del_node_init(sk); } |