Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/packet/af_packet.c packet_sendmsg_spkt() -> dev_validate_header()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flags 1-u32max
BUF_SIZE 1 ll_header 1-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dev r dev_get_by_name_rcu
DATA_SOURCE 2 len $2
BIT_INFO 0 dev->flags 0x1,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 1-s32max[c]
UNITS 1 ll_header unit_byte
UNITS 2 len unit_byte
LOCK2 rcu_read
HALF_LOCKED2 sk

net/packet/af_packet.c packet_snd() -> dev_validate_header()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flags 1-u32max
PARAM_VALUE 0 dev->header_ops->create 0,4096-ptr_max
PARAM_VALUE 0 dev->refcnt_tracker.list.next 4096-ptr_max
PARAM_VALUE 0 dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 0 dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 0 dev->rtnl_link_ops->priv_size 0,8,32,48,56,88,112,120,144,160,224,240,256,296,616,624,728,736
BUF_SIZE 1 ll_header 1-s32max
DATA_SOURCE 2 len $2 [m]
BIT_INFO 0 dev->flags 0x1,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 1-s32max[c]
UNITS 1 ll_header unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &vq->mutex

net/packet/af_packet.c tpacket_fill_skb() -> dev_validate_header()

Type Parameter Key Value
PARAM_VALUE 0 dev 4096-ptr_max
PARAM_VALUE 0 dev->flags 1-u32max
PARAM_VALUE 0 dev->refcnt_tracker.list.next->next 4096-ptr_max
PARAM_VALUE 0 dev->refcnt_tracker.list.next->prev 4096-ptr_max
PARAM_VALUE 2 len 0-u16max
BUF_SIZE 1 ll_header 1-s32max
CAPPED_DATA 2 len 1
DATA_SOURCE 0 dev $3
BIT_INFO 0 dev->flags 0x1,0xffffffff
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 2 len 2-u16max[c]
UNITS 1 ll_header unit_byte
UNITS 2 len unit_byte
LOCK2 &po->pg_vec_lock
HALF_LOCKED2 &vq->mutex
HALF_LOCKED2 sk
TYPE_LOCK (struct packet_sock)->pg_vec_lock