aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2014-07-16 09:19:21 -0400
committerMarcel Holtmann <marcel@holtmann.org>2014-07-16 09:21:53 -0400
commit46c4c941a417265e4b8afb3c52f31cabcbf4deb1 (patch)
tree1b653b5ec405bc8b12cd9a5297717da4f2458dd7 /net
parentf99353cf9c061bc1700b6a49ee98cae93e28207b (diff)
Bluetooth: Fix always checking the blacklist for incoming connections
We should check the blacklist no matter what, meaning also when we're not connectable. This patch fixes the respective logic in the function making the decision whether to accept a connection or not. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/hci_event.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index e54db7f0590b..cae860b02d67 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -2129,18 +2129,17 @@ static void hci_conn_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
2129 return; 2129 return;
2130 } 2130 }
2131 2131
2132 if (test_bit(HCI_CONNECTABLE, &hdev->dev_flags)) { 2132 if (hci_bdaddr_list_lookup(&hdev->blacklist, &ev->bdaddr,
2133 if (hci_bdaddr_list_lookup(&hdev->blacklist, &ev->bdaddr, 2133 BDADDR_BREDR)) {
2134 BDADDR_BREDR)) { 2134 hci_reject_conn(hdev, &ev->bdaddr);
2135 hci_reject_conn(hdev, &ev->bdaddr); 2135 return;
2136 return; 2136 }
2137 } 2137
2138 } else { 2138 if (!test_bit(HCI_CONNECTABLE, &hdev->dev_flags) &&
2139 if (!hci_bdaddr_list_lookup(&hdev->whitelist, &ev->bdaddr, 2139 !hci_bdaddr_list_lookup(&hdev->whitelist, &ev->bdaddr,
2140 BDADDR_BREDR)) { 2140 BDADDR_BREDR)) {
2141 hci_reject_conn(hdev, &ev->bdaddr); 2141 hci_reject_conn(hdev, &ev->bdaddr);
2142 return; 2142 return;
2143 }
2144 } 2143 }
2145 2144
2146 /* Connection accepted */ 2145 /* Connection accepted */