| /net/bluetooth/ |
| A D | smp.h | 90 __u8 irk[16]; member 192 bool smp_irk_matches(struct hci_dev *hdev, const u8 irk[16], 194 int smp_generate_rpa(struct hci_dev *hdev, const u8 irk[16], bdaddr_t *rpa);
|
| A D | hci_core.c | 1213 struct smp_irk *irk; in hci_find_irk_by_rpa() local 1218 irk_to_return = irk; in hci_find_irk_by_rpa() 1226 irk_to_return = irk; in hci_find_irk_by_rpa() 1248 struct smp_irk *irk; in hci_find_irk_by_addr() local 1354 struct smp_irk *irk; in hci_add_irk() local 1357 if (!irk) { in hci_add_irk() 1358 irk = kzalloc(sizeof(*irk), GFP_KERNEL); in hci_add_irk() 1359 if (!irk) in hci_add_irk() 1371 return irk; in hci_add_irk() 1427 struct smp_irk *irk; in hci_bdaddr_is_paired() local [all …]
|
| A D | hci_debugfs.c | 681 16, hdev->irk, &hdev->rpa); in identity_show() 823 struct smp_irk *irk; in identity_resolving_keys_show() local 826 list_for_each_entry_rcu(irk, &hdev->identity_resolving_keys, list) { in identity_resolving_keys_show() 828 &irk->bdaddr, irk->addr_type, in identity_resolving_keys_show() 829 16, irk->val, &irk->rpa); in identity_resolving_keys_show()
|
| A D | smp.c | 113 u8 irk[16]; member 480 err = smp_e(irk, _res); in smp_ah() 507 bt_dev_dbg(hdev, "RPA %pMR IRK %*phN", bdaddr, 16, irk); in smp_irk_matches() 509 err = smp_ah(irk, &bdaddr->b[3], hash); in smp_irk_matches() 529 err = smp_ah(irk, &rpa->b[3], rpa->b); in smp_generate_rpa() 1321 memcpy(idinfo.irk, hdev->irk, sizeof(idinfo.irk)); in smp_distribute_keys() 2582 info->irk)) { in smp_cmd_ident_info() 2593 memcpy(smp->irk, info->irk, 16); in smp_cmd_ident_info() 2658 smp->id_addr_type, smp->irk, &rpa); in smp_cmd_ident_addr_info() 3511 const u8 irk[16] = { in test_ah() local [all …]
|
| A D | hci_conn.c | 75 struct smp_irk *irk; in hci_connect_le_scan_cleanup() local 83 irk = hci_get_irk(hdev, bdaddr, bdaddr_type); in hci_connect_le_scan_cleanup() 84 if (irk) { in hci_connect_le_scan_cleanup() 85 bdaddr = &irk->bdaddr; in hci_connect_le_scan_cleanup() 86 bdaddr_type = irk->addr_type; in hci_connect_le_scan_cleanup() 1317 struct smp_irk *irk; in hci_connect_le() local 1357 irk = hci_find_irk_by_addr(hdev, dst, dst_type); in hci_connect_le() 1358 if (irk && bacmp(&irk->rpa, BDADDR_ANY)) { in hci_connect_le() 1359 dst = &irk->rpa; in hci_connect_le()
|
| A D | mgmt.c | 6930 memcpy(hdev->irk, cp->irk, sizeof(hdev->irk)); in set_privacy() 6939 memset(hdev->irk, 0, sizeof(hdev->irk)); in set_privacy() 6959 switch (irk->addr.type) { in irk_is_valid() 7024 irk->val)) { in load_irks() 7026 &irk->addr.bdaddr); in load_irks() 7030 hci_add_irk(hdev, &irk->addr.bdaddr, in load_irks() 7031 le_addr_type(irk->addr.type), irk->val, in load_irks() 9557 bacpy(&ev.rpa, &irk->rpa); in mgmt_new_irk() 9558 bacpy(&ev.irk.addr.bdaddr, &irk->bdaddr); in mgmt_new_irk() 9559 ev.irk.addr.type = link_to_bdaddr(LE_LINK, irk->addr_type); in mgmt_new_irk() [all …]
|
| A D | hci_sync.c | 1078 err = smp_generate_rpa(hdev, hdev->irk, &hdev->rpa); in hci_update_random_address_sync() 2359 struct smp_irk *irk; in hci_le_add_resolve_list_sync() local 2374 memcpy(cp.peer_irk, hdev->irk, 16); in hci_le_add_resolve_list_sync() 2380 if (!irk) in hci_le_add_resolve_list_sync() 2392 memcpy(cp.peer_irk, irk->val, 16); in hci_le_add_resolve_list_sync() 2409 memcpy(cp.local_irk, hdev->irk, 16); in hci_le_add_resolve_list_sync() 2422 struct smp_irk *irk; in hci_le_set_privacy_mode_sync() local 2440 if (!irk) in hci_le_set_privacy_mode_sync() 2444 cp.bdaddr_type = irk->addr_type; in hci_le_set_privacy_mode_sync() 2445 bacpy(&cp.bdaddr, &irk->bdaddr); in hci_le_set_privacy_mode_sync() [all …]
|
| A D | hci_event.c | 5611 struct smp_irk *irk; in le_conn_complete_evt() local 5683 irk = hci_get_irk(hdev, &conn->dst, conn->dst_type); in le_conn_complete_evt() 5684 if (irk) { in le_conn_complete_evt() 5685 bacpy(&conn->dst, &irk->bdaddr); in le_conn_complete_evt() 5686 conn->dst_type = irk->addr_type; in le_conn_complete_evt() 5994 struct smp_irk *irk; in process_adv_report() local 6063 if (!smp_irk_matches(hdev, hdev->irk, direct_addr)) in process_adv_report() 6068 irk = hci_get_irk(hdev, bdaddr, bdaddr_type); in process_adv_report() 6069 if (irk) { in process_adv_report() 6070 bdaddr = &irk->bdaddr; in process_adv_report() [all …]
|