diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2012-06-22 17:15:20 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-09 16:42:18 -0400 |
commit | ebbb16d9ebbdf08aaf2963b7993d0b4a9e41b15e (patch) | |
tree | c25c062990bc65bf1f332387464bc4e8edba9c8e | |
parent | 8b7e8eda58cc09974708dcc6db4c202c419d6cd9 (diff) | |
download | op-kernel-dev-ebbb16d9ebbdf08aaf2963b7993d0b4a9e41b15e.zip op-kernel-dev-ebbb16d9ebbdf08aaf2963b7993d0b4a9e41b15e.tar.gz |
NFC: Forbid SSAP binding to a not well known LLCP service
With not Well Known Services there is no guarantees as to which
SSAP the server will be listening on, so there is no reason to
support binding to a specific source SAP.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | net/nfc/llcp/llcp.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/net/nfc/llcp/llcp.c b/net/nfc/llcp/llcp.c index 1031abd..9ab17ec 100644 --- a/net/nfc/llcp/llcp.c +++ b/net/nfc/llcp/llcp.c @@ -234,24 +234,12 @@ u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local, return LLCP_WKS_NUM_SAP + ssap; - } else if (sock->ssap != 0) { - if (sock->ssap < LLCP_WKS_NUM_SAP) { - if (!test_bit(sock->ssap, &local->local_wks)) { - set_bit(sock->ssap, &local->local_wks); - mutex_unlock(&local->sdp_lock); - - return sock->ssap; - } - - } else if (sock->ssap < LLCP_SDP_NUM_SAP) { - if (!test_bit(sock->ssap - LLCP_WKS_NUM_SAP, - &local->local_sdp)) { - set_bit(sock->ssap - LLCP_WKS_NUM_SAP, - &local->local_sdp); - mutex_unlock(&local->sdp_lock); + } else if (sock->ssap != 0 && sock->ssap < LLCP_WKS_NUM_SAP) { + if (!test_bit(sock->ssap, &local->local_wks)) { + set_bit(sock->ssap, &local->local_wks); + mutex_unlock(&local->sdp_lock); - return sock->ssap; - } + return sock->ssap; } } |