Skip to content

Commit

Permalink
NFC: llcp: Detach socket from process context only when releasing the…
Browse files Browse the repository at this point in the history
… 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>
  • Loading branch information
Samuel Ortiz committed Mar 20, 2013
1 parent 36ef0b4 commit bec964e
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 8 deletions.
6 changes: 0 additions & 6 deletions net/nfc/llcp/llcp.c
Expand Up @@ -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) {
Expand All @@ -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);
}

Expand Down Expand Up @@ -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);
}

Expand Down
2 changes: 0 additions & 2 deletions net/nfc/llcp/sock.c
Expand Up @@ -464,8 +464,6 @@ static int llcp_sock_release(struct socket *sock)
nfc_llcp_accept_unlink(accept_sk);

release_sock(accept_sk);

sock_orphan(accept_sk);
}
}

Expand Down

0 comments on commit bec964e

Please sign in to comment.