Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

net/core/skbuff.c __skb_splice_bits() -> __skb_splice_bits()

Type Parameter Key Value
PARAM_VALUE 0 skb 4096-ptr_max
PARAM_VALUE 0 skb->len 1-u32max
PARAM_VALUE 2 offset 4096-ptr_max
PARAM_VALUE 2 *offset 0-4294967294
PARAM_VALUE 3 len 4096-ptr_max
PARAM_VALUE 3 *len 1-u32max
PARAM_VALUE 4 spd->ops 4744293388163592192,8093923630298542080,9018435746095374336,9118897618270572544
PARAM_VALUE 4 spd->spd_release 344128986011680768,1770517288447332352,3206990954322411520,8929603758897913856
BUF_SIZE 1 pipe s32min-(-1),1-s32max
BUF_SIZE 1 pipe s32min-(-1),1-s32max
BUF_SIZE 4 spd->ops (-1),32
BUF_SIZE 4 spd->pages (-1),136
BUF_SIZE 4 spd->partial (-1),272
CAPPED_DATA 2 *offset 1
DATA_SOURCE 1 pipe $1
DATA_SOURCE 2 offset $2
DATA_SOURCE 3 len $3
DATA_SOURCE 4 spd $4
DATA_SOURCE 5 sk $5
PARAM_COMPARE 2 *offset < $0->len
CONSTRAINT 2 *offset <49
RX_PATH
TASK_NOT_RUNNING
USER_DATA 3 *len 1-s32max[c]
NO_OVERFLOW_SIMPLE 1 pipe->max_usage
NO_OVERFLOW_SIMPLE 1 pipe->nr_accounted
NO_OVERFLOW_SIMPLE 1 pipe->ring_size
NO_OVERFLOW_SIMPLE 2 *offset
NO_OVERFLOW_SIMPLE 5 sk->sk_backlog.len
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->end
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->len
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->next->end
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->next->len
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->next->tail
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->next->truesize
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->tail
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->truesize
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->end
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->len
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->prev->end
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->prev->len
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->prev->tail
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->prev->truesize
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->tail
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->truesize
UNITS 0 skb unit_byte
UNITS 5 sk unit_byte
USER_PTR 3 len
HALF_LOCKED2 5 sk

net/core/skbuff.c skb_splice_bits() -> __skb_splice_bits()

Type Parameter Key Value
PARAM_VALUE 4 spd 7262589716006203392
PARAM_VALUE 4 spd->nr_pages 0
PARAM_VALUE 4 spd->nr_pages_max 17
PARAM_VALUE 4 spd->ops 8093923630298542080
PARAM_VALUE 4 spd->pages 6019374632002887680
PARAM_VALUE 4 spd->partial 3231163696050724864
PARAM_VALUE 4 spd->spd_release 1770517288447332352
PARAM_VALUE 5 *sk->sk_backlog.head->dev->name 0-255
BUF_SIZE 0 skb (-1),1-s32max
BUF_SIZE 0 skb (-1),1-s32max
BUF_SIZE 1 pipe s32min-(-1),1-s32max
BUF_SIZE 1 pipe s32min-(-1),1-s32max
DATA_SOURCE 0 skb $0
DATA_SOURCE 1 pipe $3
DATA_SOURCE 5 sk $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 3 *len 0-s32max[c]
NO_OVERFLOW_SIMPLE 1 pipe->max_usage
NO_OVERFLOW_SIMPLE 1 pipe->nr_accounted
NO_OVERFLOW_SIMPLE 1 pipe->ring_size
NO_OVERFLOW_SIMPLE 2 *offset
NO_OVERFLOW_SIMPLE 5 sk->sk_prot_creator->twsk_prot->twsk_slab->sheaf_capacity
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->data_len
NO_OVERFLOW_SIMPLE 5 sk->sk_receive_queue.prev->next->data_len
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->data_len
NO_OVERFLOW_SIMPLE 5 sk->sk_write_queue.next->prev->data_len
UNITS 5 sk unit_byte
USER_PTR 3 len
HALF_LOCKED2 &u->iolock
HALF_LOCKED2 5 sk