Defined in 1 files as a function:
Referenced in 8 files:
- drivers/net/tun.c
- drivers/net/veth.c, line 997
- drivers/net/wireguard/queueing.c, line 46
- include/linux/ptr_ring.h
- include/linux/skb_array.h, line 68
- kernel/bpf/cpumap.c
- net/core/page_pool.c, line 388
- tools/virtio/ringtest/ptr_ring.c, line 194
Smatch caller information:
net/sched/sch_generic.c __skb_array_empty() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
net/core/page_pool.c page_pool_refill_alloc_cache() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| BUF_SIZE | 0 | r | 320 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | rcu_read |
drivers/net/wireguard/queueing.c wg_packet_queue_free() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NO_OVERFLOW_SIMPLE | 0 | r->size | |
| HALF_LOCKED2 | &wg->device_update_lock | ||
| HALF_LOCKED2 | global &rtnl_mutex |
kernel/bpf/cpumap.c cpu_map_kthread_run() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|
kernel/bpf/cpumap.c cpu_map_kthread_run() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|
kernel/bpf/cpumap.c cpu_map_kthread_run() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
kernel/bpf/cpumap.c cpu_map_kthread_run() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| LOCK2 | bh |
kernel/bpf/cpumap.c cpu_map_kthread_run() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
drivers/net/veth.c veth_poll() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PARAM_VALUE | 0 | r->consumer_head | s32min-2147483646 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | bh | ||
| HALF_LOCKED2 | rcu_read |
drivers/net/tap.c ptr_ring_empty() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| DATA_SOURCE | 0 | r | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &r->consumer_lock | |
| HALF_LOCKED2 | &kvm->irq_srcu | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &vm->irqfds_lock | ||
| HALF_LOCKED2 | global &irqfds_srcu | ||
| TYPE_LOCK | (struct ptr_ring)->consumer_lock |
drivers/net/tun.c __tun_detach() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &ntfile->tx_ring.consumer_lock | ||
| LOCK2 | &ntfile->tx_ring.producer_lock | ||
| LOCK2 | bh | ||
| LOCK2 | global &rtnl_mutex | ||
| TYPE_LOCK | (struct ptr_ring)->consumer_lock | ||
| TYPE_LOCK | (struct ptr_ring)->producer_lock |
drivers/net/tun.c __tun_wake_queue() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &nvq->rx_ring->consumer_lock | ||
| HALF_LOCKED2 | &tfile->tx_ring.consumer_lock | ||
| HALF_LOCKED2 | &vq->mutex | ||
| HALF_LOCKED2 | rcu_read | ||
| TYPE_LOCK | (struct ptr_ring)->consumer_lock |
drivers/net/tun.c ptr_ring_empty() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| DATA_SOURCE | 0 | r | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &r->consumer_lock | |
| HALF_LOCKED2 | &kvm->irq_srcu | ||
| HALF_LOCKED2 | &of->mutex | ||
| HALF_LOCKED2 | &vm->irqfds_lock | ||
| HALF_LOCKED2 | global &irqfds_srcu | ||
| TYPE_LOCK | (struct ptr_ring)->consumer_lock |
drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c ptr_ring_empty() -> __ptr_ring_empty()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | r | 4096-ptr_max |
| DATA_SOURCE | 0 | r | $0 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | 0 | &r->consumer_lock | |
| TYPE_LOCK | (struct ptr_ring)->consumer_lock |