Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

net/bluetooth/mgmt.c load_link_keys() -> hci_add_link_key()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->dev_flags 4096-ptr_max
PARAM_VALUE 0 hdev->features 4096-ptr_max
PARAM_VALUE 0 hdev->lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 hdev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 1 conn 0
PARAM_VALUE 2 bdaddr 4096-ptr_max
PARAM_VALUE 4 type 0-2,4-8
PARAM_VALUE 6 persistent 0
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 0 hdev (-1)-s32max
BUF_SIZE 3 val 16
CAPPED_DATA 0 &hdev->lock 1
DATA_SOURCE 0 hdev $1
HARD_MAX 4 type 8
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 *val 0-255
USER_DATA 4 type 0-2,4-8[u]
USER_DATA 5 pin_len 0-255[u]
USER_PTR 3 val
LOCK2 global &mgmt_chan_list_lock
LOCK2 sk
LOCK2 0 &hdev->lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct hci_dev)->lock

net/bluetooth/hci_event.c hci_link_key_notify_evt() -> hci_add_link_key()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 0 hdev->dev_flags 4096-ptr_max
PARAM_VALUE 0 hdev->lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 hdev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 hdev->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 hdev->lock.first_waiter->task->blocked_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 hdev->lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 hdev->lock.first_waiter->task->blocked_lock.raw_lock.val.counter s32min-s32max
PARAM_VALUE 0 hdev->lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 hdev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 hdev->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 hdev->lock.wait_lock.owner (-1)
PARAM_VALUE 0 hdev->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 hdev->recv_event 0,4096-ptr_max
PARAM_VALUE 0 hdev->recv_event->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 hdev->recv_event->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 hdev->recv_event->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 hdev->recv_event->sk->sk_bpf_storage->owner_refcnt.refs.counter s32min-s32max
PARAM_VALUE 0 hdev->recv_event->sk->sk_rcu.func 1-u64max
PARAM_VALUE 0 hdev->req_skb 0,4096-ptr_max
PARAM_VALUE 0 hdev->rx_q.lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 conn 4096-ptr_max
PARAM_VALUE 1 conn->disc_work.timer.entry->pprev 4096-ptr_max
PARAM_VALUE 1 conn->type 1
PARAM_VALUE 2 bdaddr 1-u64max
PARAM_VALUE 5 pin_len 0
PARAM_VALUE 6 persistent 7302751419626401792
BUF_SIZE 0 hdev->recv_event (-1),240
BUF_SIZE 3 val 16
CAPPED_DATA 0 &hdev->lock 1
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 conn r hci_conn_hash_lookup_ba
RX_PATH
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->end
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->data_len
NO_OVERFLOW_SIMPLE 0 hdev->cmd_q.next->prev->end
USER_PTR 0 hdev->recv_event->data
LOCK2 0 &hdev->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct hci_dev)->lock

net/bluetooth/smp.c smp_notify_keys() -> hci_add_link_key()

Type Parameter Key Value
PARAM_VALUE 2 bdaddr 4096-ptr_max
PARAM_VALUE 3 val 1-u64max
PARAM_VALUE 4 type 3,7-8
PARAM_VALUE 5 pin_len 0
PARAM_VALUE 6 persistent 6367247524272553984
BUF_SIZE 3 val 16
FUZZY_MAX 4 type 8
HARD_MAX 4 type 8
RX_PATH
LOCK2 &conn->lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct l2cap_conn)->lock