Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 5 files:

Smatch caller information:

net/mctp/route.c mctp_dst_from_route() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->addrs_lock.rlock.dep_map->name 0-255
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/mctp/route.c mctp_route_add_local() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->addrs 4096-ptr_max
PARAM_VALUE 0 mdev->dev 4096-ptr_max
DATA_SOURCE 0 mdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/mctp/route.c mctp_route_nlparse_populate() -> mctp_dev_hold()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex

net/mctp/route.c mctp_test_route_gw_output() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->dev 4096-ptr_max
NOCHECK_CALL

net/mctp/device.c mctp_dev_set_key() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->dev 4096-ptr_max
PARAM_VALUE 0 mdev->dev->nd_net.net 4096-ptr_max
CAPPED_DATA 0 mdev 1
CAPPED_DATA 0 mdev->dev->nd_net.net 1
DATA_SOURCE 0 mdev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &key->lock
LOCK2 flags
TYPE_LOCK (struct mctp_sk_key)->lock

net/mctp/test/utils.c mctp_test_create_route_direct() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 1-u64max
BUF_SIZE 0 mdev->addrs (-1),1
DATA_SOURCE 0 mdev $1
RX_PATH
NOCHECK_CALL

net/mctp/neigh.c mctp_neigh_add() -> mctp_dev_hold()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->dev 4096-ptr_max
DATA_SOURCE 0 mdev $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &net->mctp.neigh_lock
HALF_LOCKED2 &net->xfrm.xfrm_cfg_mutex
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &audit_cmd_mutex.lock
HALF_LOCKED2 global &cb_lock
HALF_LOCKED2 global &crypto_cfg_mutex
HALF_LOCKED2 global &hwsim_phys_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 global &rx_queue_mutex
TYPE_LOCK (struct netns_mctp)->neigh_lock