Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/net/netkit.c netkit_xsk() -> (struct net_device_ops)->ndo_bpf()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->lock.dep_map->name 0-255
PARAM_VALUE 0 netdev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 netdev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 netdev->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 netdev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 1 bpf 3949886665002123264
PARAM_VALUE 1 bpf->command 4
CONTAINER 0 -672-8+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 1 bpf->xsk.queue_id
LOCK2 0 &netdev->lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 global &rtnl_mutex
TYPE_LOCK (struct net_device)->lock

net/xdp/xsk_buff_pool.c xp_assign_dev() -> (struct net_device_ops)->ndo_bpf()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->lock.dep_map->name 0-255
PARAM_VALUE 0 netdev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 netdev->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 netdev->lock.first_waiter->list.prev->prev 5159360019465732096
PARAM_VALUE 0 netdev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 netdev->mtu 0-4294967270
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 0 netdev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 0 netdev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 1 bpf 6334440669239836672
PARAM_VALUE 1 bpf->command 4
PARAM_VALUE 1 bpf->xsk.pool 4096-ptr_max
CAPPED_DATA 0 netdev->ifindex 1
CAPPED_DATA 0 netdev->real_num_rx_queues 1
DATA_SOURCE 0 netdev $1
CONTAINER 0 -672-8+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 &xs->mutex
LOCK2 global &rtnl_mutex
HALF_LOCKED2 &buffer->mutex
HALF_LOCKED2 &frag->frag_sem
HALF_LOCKED2 global &o2nm_cluster_group.cs_subsys.su_mutex
TYPE_LOCK (struct xdp_sock)->mutex

net/xdp/xsk_buff_pool.c xp_disable_drv_zc() -> (struct net_device_ops)->ndo_bpf()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 netdev->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 1 bpf 7976787877603364864
PARAM_VALUE 1 bpf->command 4
PARAM_VALUE 1 bpf->xsk.pool 0
CONTAINER 0 *(-672-8+0) $(-1)
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &xs->mutex
HALF_LOCKED2 global &rtnl_mutex

kernel/bpf/offload.c bpf_map_offload_ndo() -> (struct net_device_ops)->ndo_bpf()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 1 bpf 5623130150766813184
PARAM_VALUE 1 bpf->command 2-3
PARAM_VALUE 1 bpf->extack 0
PARAM_VALUE 1 bpf->flags 0
PARAM_VALUE 1 bpf->offmap 4096-ptr_max
PARAM_VALUE 1 bpf->prog 0
PARAM_VALUE 1 bpf->xsk.pool 0
PARAM_VALUE 1 bpf->xsk.queue_id 0
CONTAINER 0 -672-8+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &bpf_devs_lock
HALF_LOCKED2 global &rtnl_mutex

net/core/dev.c netif_xdp_propagate() -> (struct net_device_ops)->ndo_bpf()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->cfg 4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops->ndo_bpf 4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops->ndo_set_config 0,1586268954384080896,2133952100825280512,4430316855586635776
PARAM_VALUE 0 netdev->netdev_ops->ndo_xdp_xmit 0,4096-ptr_max
PARAM_VALUE 0 netdev->rtnl_link_ops->alloc 0,1182153660833808384,3130032447137456128
PARAM_VALUE 0 netdev->rtnl_link_ops->get_num_rx_queues 0,1694260139628544000,4559208055891021824,7097615251001798656,8443738062496038912
PARAM_VALUE 0 netdev->rtnl_link_ops->get_num_tx_queues 0,1694260139628544000,4559208055891021824,7071371917186535424,8443738062496038912
PARAM_VALUE 0 netdev->rtnl_link_ops->maxtype 0-6,8-10,15,18,20,22,24,34,50
PARAM_VALUE 0 netdev->rtnl_link_ops->peer_type 0-1
PARAM_VALUE 1 bpf 361140576022011904,2003272666227843072,2174129989026594816
PARAM_VALUE 1 bpf->command 0
PARAM_VALUE 1 bpf->prog->aux 4096-ptr_max
PARAM_VALUE 1 bpf->xsk.pool 0
BUF_SIZE 0 netdev->nd_net.net (-1),10304,10432
DATA_SOURCE 0 netdev $0
DATA_SOURCE 1 bpf $1
CONTAINER 0 -672-8+0 $(-1)
NOSPEC 0 netdev->ifindex
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 netdev->flags 2048-525824[c]
USER_DATA 0 netdev->ifindex 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 netdev->group
NO_OVERFLOW_SIMPLE 0 netdev->num_tc
NO_OVERFLOW_SIMPLE 0 netdev->proto_down
NO_OVERFLOW_SIMPLE 0 netdev->real_num_rx_queues

net/core/dev.c dev_xdp_install() -> dev_xdp_install param 2()

Type Parameter Key Value
PARAM_VALUE 0 netdev 4096-ptr_max
PARAM_VALUE 0 netdev->cfg 4096-ptr_max
PARAM_VALUE 0 netdev->dev.power.wakeirq->status 0-4294967295
PARAM_VALUE 0 netdev->netdev_ops 4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops->ndo_bpf 0,4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops->ndo_change_carrier 0,885170895855865856,1782477489044140032,2219068876340936704,3313908872681771008,6182840514861293568,6498501278544633856
PARAM_VALUE 0 netdev->netdev_ops->ndo_set_config 0,1586268954384080896,2133952100825280512,4430316855586635776
PARAM_VALUE 0 netdev->netdev_ops->ndo_set_vf_guid 0,1993202516722049024
PARAM_VALUE 0 netdev->netdev_ops->ndo_set_vf_port 0,6678536409099956224
PARAM_VALUE 0 netdev->netdev_ops->ndo_set_vf_vlan 0,4096-ptr_max
PARAM_VALUE 0 netdev->netdev_ops->ndo_uninit 0,4096-ptr_max
PARAM_VALUE 0 netdev->rtnl_link_ops->priv_size 0,8,32,40,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736,744,1056,1128,1336,1616,2176,2240,2272,2560,3296,3552,3720,9688-u64max
PARAM_VALUE 1 bpf 3682456768208482304
PARAM_VALUE 1 bpf->command 0-1
PARAM_VALUE 1 bpf->extack 0,1521901953896292352,4971238048455385088
PARAM_VALUE 1 bpf->prog 0,4096-ptr_max
DATA_SOURCE 0 netdev $0
NOSPEC 0 netdev->flags
MEM_ZERO 1 bpf
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 netdev->flags 0-527361[c]
USER_DATA 0 netdev->mtu 0-s32max[c]
NO_OVERFLOW_SIMPLE 0 netdev->group
NO_OVERFLOW_SIMPLE 0 netdev->tx_queue_len
HALF_LOCKED2 global &rtnl_mutex
HALF_LOCKED2 0 &netdev->lock