Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

net/bluetooth/smp.c smp_cmd_security_req() -> smp_sufficient_security()

Type Parameter Key Value
PARAM_VALUE 0 hcon 4096-ptr_max
PARAM_VALUE 0 hcon->hdev 4096-ptr_max
PARAM_VALUE 0 hcon->hdev->dev_flags 4096-ptr_max
PARAM_VALUE 0 hcon->role 0
PARAM_VALUE 1 sec_level 2-4
PARAM_VALUE 2 key_pref 1
FUZZY_MAX 1 sec_level 2
RX_PATH
LOCK2 &conn->lock
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct l2cap_conn)->lock

net/bluetooth/smp.c smp_conn_security() -> smp_sufficient_security()

Type Parameter Key Value
PARAM_VALUE 0 hcon 4096-ptr_max
PARAM_VALUE 0 hcon->hdev 4096-ptr_max
PARAM_VALUE 0 hcon->l2cap_data 1-u64max
PARAM_VALUE 2 key_pref 1
BUF_SIZE 0 hcon (-1),1,3-8196
BUF_SIZE 0 hcon (-1),1,3-8196
DATA_SOURCE 0 hcon $0
DATA_SOURCE 1 sec_level $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 hcon->io_capability 0-4[u]
USER_DATA 1 sec_level 1-4
HALF_LOCKED2 &chan->lock
HALF_LOCKED2 &conn->lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &hci_cb_list_lock
HALF_LOCKED2 sk

net/bluetooth/l2cap_core.c l2cap_ecred_conn_req() -> smp_sufficient_security()

Type Parameter Key Value
PARAM_VALUE 0 hcon 4096-ptr_max
PARAM_VALUE 0 hcon->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 hcon->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 hcon->dev.iommu_group->id s32min-s32max
PARAM_VALUE 0 hcon->dev.iommu_group->owner_cnt 0-4294967295
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 hcon->dev.p->dead 0-1
PARAM_VALUE 0 hcon->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hcon->hdev 4096-ptr_max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->req_workqueue->flush_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->req_workqueue->work_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->workqueue->flags 0-4294967295
PARAM_VALUE 0 hcon->hdev->workqueue->flush_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->workqueue->nr_drainers s32min-s32max
PARAM_VALUE 0 hcon->hdev->workqueue->work_color s32min-s32max
PARAM_VALUE 0 hcon->state 1
PARAM_VALUE 0 hcon->type 128
PARAM_VALUE 2 key_pref 0
RX_PATH
LOCK2 &conn->lock
LOCK2 &pchan->lock
LOCK2 &pool->lock
TYPE_LOCK (struct l2cap_chan)->lock
TYPE_LOCK (struct l2cap_conn)->lock

net/bluetooth/l2cap_core.c l2cap_le_connect_req() -> smp_sufficient_security()

Type Parameter Key Value
PARAM_VALUE 0 hcon 4096-ptr_max
PARAM_VALUE 0 hcon->debugfs->d_inode->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 hcon->debugfs->d_inode->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 hcon->debugfs->d_parent->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_automount 0,2908707185815040000,3401111987815645184,6746145930460459008,7190988915944083456,7386785427940065280,8018779550845526016
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_init 0,2385819921126617088,7057831443282669568,7824184004865302528
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_iput 0,170374395438985216,837750826476904448,5086081384299388928,8216155483032948736
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_manage 0,1859587847549206528
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_prune 0,2225594340392566784,7225953709177749504
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_real 0,4509355519306412032
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_unalias_trylock 0,6635409759016140800
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_unalias_unlock 0,6336447517789900800
PARAM_VALUE 0 hcon->debugfs->d_sb->__s_d_op->d_weak_revalidate 0,5632434648052031488,5669063523602272256,7231033168839651328
PARAM_VALUE 0 hcon->dev.iommu_group->id s32min-s32max
PARAM_VALUE 0 hcon->dev.iommu_group->owner_cnt 0-4294967295
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.parent->release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.kobj.sd->attr.open->nr_mmapped 0-4294967295
PARAM_VALUE 0 hcon->dev.p->dead 0-1
PARAM_VALUE 0 hcon->dev.p->deferred_probe_reason 0-s64max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->dev.parent->kobj.release.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 hcon->hdev 4096-ptr_max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->adv_instance_expire.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->dfl_pwq 0-s64max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->saved_max_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->interleave_scan.wq->saved_min_active s32min-s32max
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 hcon->hdev->req_skb->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->req_workqueue->flush_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->req_workqueue->work_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->alloc_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->dead 0-1
PARAM_VALUE 0 hcon->hdev->sent_cmd->sk->ns_tracker->free_stack_handle 0-4294967295
PARAM_VALUE 0 hcon->hdev->workqueue->flags 0-4294967295
PARAM_VALUE 0 hcon->hdev->workqueue->flush_color s32min-s32max
PARAM_VALUE 0 hcon->hdev->workqueue->nr_drainers s32min-s32max
PARAM_VALUE 0 hcon->hdev->workqueue->work_color s32min-s32max
PARAM_VALUE 0 hcon->state 1
PARAM_VALUE 0 hcon->type 128
PARAM_VALUE 2 key_pref 0
RX_PATH
LOCK2 &conn->lock
LOCK2 &pchan->lock
LOCK2 &pool->lock
TYPE_LOCK (struct l2cap_chan)->lock
TYPE_LOCK (struct l2cap_conn)->lock