Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

net/mctp/route.c mctp_dst_release() -> mctp_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/mctp/route.c mctp_pkttype_receive() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->refs.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 mdev r __mctp_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/mctp/route.c mctp_pkttype_receive() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 0,4096-ptr_max
PARAM_VALUE 0 mdev->refs.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 mdev r __mctp_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/mctp/route.c mctp_route_release() -> mctp_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &pernet_ops_rwsem
HALF_LOCKED2 rcu_read

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

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_release_key() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->ops 0,4096-ptr_max
PARAM_VALUE 0 mdev->ops->release_flow 3280889280968171520
DATA_SOURCE 0 mdev $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &key->lock
HALF_LOCKED2 &net->mctp.keys_lock
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

net/mctp/device.c mctp_dump_addrinfo() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->refs.refs.counter (-1073741824),0-s32max
CAPPED_DATA 0 mdev->num_addrs 1
DATA_SOURCE 0 mdev r __mctp_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

net/mctp/device.c mctp_get_link_af_size() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->refs.refs.counter (-1073741824),0-s32max
DATA_SOURCE 0 mdev r __mctp_dev_get
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &dev->ethtool->rss_lock
HALF_LOCKED2 &dev->lock

net/mctp/device.c mctp_unregister() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 4096-ptr_max
PARAM_VALUE 0 mdev->dev 4096-ptr_max
PARAM_VALUE 0 mdev->dev->mctp_ptr 0
PARAM_VALUE 0 mdev->dev->nd_net.net 4096-ptr_max
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.dep_map->name 0-255
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.first_waiter->task->blocked_lock.owner (-1)
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.first_waiter->task->blocked_lock.owner_cpu 4294967295
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.first_waiter->task->usage.refs.counter s32min-s32max
PARAM_VALUE 0 mdev->dev->nd_net.net->mctp.neigh_lock.osq.tail.counter 0-s32max
CAPPED_DATA 0 mdev 1
CAPPED_DATA 0 mdev->dev->nd_net.net 1
NOCHECK_CALL

drivers/net/mctp/mctp-usblib.c mctp_usblib_test_dev_action() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 1-u64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

net/mctp/test/utils.c mctp_test_destroy_dev() -> mctp_dev_put()

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

net/mctp/test/utils.c mctp_test_route_destroy() -> mctp_dev_put()

Type Parameter Key Value
PARAM_VALUE 0 mdev 1-u64max
RX_PATH
NOCHECK_CALL

net/mctp/neigh.c __mctp_neigh_free() -> mctp_dev_put()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 bh
HALF_LOCKED2 rcu