Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/can/af_can.c can_receive() -> can_dev_rcv_lists_find()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 0 net->can.rx_alldev_list 4096-ptr_max
PARAM_VALUE 1 dev 4096-ptr_max
CAPPED_DATA 1 dev->nd_net.net 1
DATA_SOURCE 1 dev $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 dev->group
NO_OVERFLOW_SIMPLE 1 dev->num_tc
NO_OVERFLOW_SIMPLE 1 dev->proto_down
NO_OVERFLOW_SIMPLE 1 dev->real_num_rx_queues
NO_OVERFLOW_SIMPLE 1 dev->real_num_tx_queues
NO_OVERFLOW_SIMPLE 1 dev->stats.rx_bytes
NO_OVERFLOW_SIMPLE 1 dev->stats.tx_bytes
NO_OVERFLOW_SIMPLE 1 dev->tx_queue_len
UNITS 0 net unit_byte
UNITS 1 dev unit_byte
LOCK2 rcu_read

net/can/af_can.c can_rx_register() -> can_dev_rcv_lists_find()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 dev 0,4096-ptr_max
CAPPED_DATA 0 net 1
CAPPED_DATA 1 dev 1
DATA_SOURCE 0 net $0
DATA_SOURCE 1 dev $1
STR_LEN 0 net 2-3,5-6
STR_LEN 0 net 2-3,5-6
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 bh
LOCK2 0 &net->can.rcvlists_lock
HALF_LOCKED2 global &j1939_netdev_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 sk
HALF_LOCKED2 sock->sk
TYPE_LOCK (struct netns_can)->rcvlists_lock

net/can/af_can.c can_rx_unregister() -> can_dev_rcv_lists_find()

Type Parameter Key Value
PARAM_VALUE 0 net 4096-ptr_max
PARAM_VALUE 1 dev 0,4096-ptr_max
DATA_SOURCE 0 net $0
DATA_SOURCE 1 dev $1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
UNITS 0 net unit_byte
LOCK2 bh
LOCK2 0 &net->can.rcvlists_lock
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct netns_can)->rcvlists_lock