]> Pileus Git - ~andy/linux/commitdiff
NFC: Forbid SSAP binding to a not well known LLCP service
authorSamuel Ortiz <sameo@linux.intel.com>
Fri, 22 Jun 2012 15:15:20 +0000 (17:15 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 9 Jul 2012 20:42:18 +0000 (16:42 -0400)
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>
net/nfc/llcp/llcp.c

index 1031abd13fc2a79ba4c688152744ea45ea55772b..9ab17ec50ce764344fa2b3e62df7fb8147a59071 100644 (file)
@@ -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;
                }
        }