Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

net/core/filter.c xdp_do_generic_redirect_map() -> dev_map_generic_redirect()

Type Parameter Key Value
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 xdp_prog 1-u64max
DATA_SOURCE 0 dst $4
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 xdp_prog $3
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/bpf/devmap.c dev_map_redirect_clone() -> dev_map_generic_redirect()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 4096-ptr_max
PARAM_VALUE 0 dst->dev->flags 1-u32max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 xdp_prog 1-u64max
BUF_SIZE 1 skb (-1),240
BUF_SIZE 1 skb (-1),240
DATA_SOURCE 0 dst $0
DATA_SOURCE 1 skb r skb_clone
DATA_SOURCE 2 xdp_prog $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

kernel/bpf/devmap.c dev_map_redirect_multi() -> dev_map_generic_redirect()

Type Parameter Key Value
PARAM_VALUE 0 dst 4096-ptr_max
PARAM_VALUE 0 dst->dev 4096-ptr_max
PARAM_VALUE 0 dst->dev->flags 1-u32max
PARAM_VALUE 1 skb 4096-ptr_max
PARAM_VALUE 2 xdp_prog 1-u64max
DATA_SOURCE 1 skb $1
DATA_SOURCE 2 xdp_prog $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read