summaryrefslogtreecommitdiffstats
path: root/net/bluetooth/mgmt.c
diff options
context:
space:
mode:
authorAndre Guedes <andre.guedes@openbossa.org>2014-02-26 20:21:52 -0300
committerMarcel Holtmann <marcel@holtmann.org>2014-02-26 19:41:35 -0800
commita9b0a04c2aac1e6e41e254221926bdce75321f55 (patch)
treee46d1832cf05d9dd732bac178ab0b198385e051f /net/bluetooth/mgmt.c
parent6046dc3e0602256b9941241dfd6b2e4824999b01 (diff)
downloadlinux-stable-a9b0a04c2aac1e6e41e254221926bdce75321f55.tar.gz
linux-stable-a9b0a04c2aac1e6e41e254221926bdce75321f55.tar.bz2
linux-stable-a9b0a04c2aac1e6e41e254221926bdce75321f55.zip
Bluetooth: Connection parameters and resolvable address
We should only accept connection parameters from identity addresses (public or random static). Thus, we should check the address type in hci_conn_params_add(). Additionally, since the IRK is removed during unpair, we should also remove the connection parameters from that device. Signed-off-by: Andre Guedes <andre.guedes@openbossa.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth/mgmt.c')
-rw-r--r--net/bluetooth/mgmt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index f878267ba6ab..2e6564e47ded 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -2416,6 +2416,8 @@ static int unpair_device(struct sock *sk, struct hci_dev *hdev, void *data,
hci_remove_irk(hdev, &cp->addr.bdaddr, addr_type);
+ hci_conn_params_del(hdev, &cp->addr.bdaddr, addr_type);
+
err = hci_remove_ltk(hdev, &cp->addr.bdaddr, addr_type);
}