Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/splice.c splice_from_pipe() -> __splice_from_pipe()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
PARAM_VALUE 1 sd 8718261230004080640
PARAM_VALUE 1 sd->len 0
PARAM_VALUE 1 sd->need_wakeup 0
PARAM_VALUE 1 sd->num_spliced 0
PARAM_VALUE 1 sd->opos 0
PARAM_VALUE 1 sd->u.data 0
PARAM_VALUE 1 sd->u.file 4096-ptr_max
PARAM_VALUE 2 actor 1896357769076797440
BUF_SIZE 0 pipe s32min-(-1),1-s32max
BUF_SIZE 0 pipe s32min-(-1),1-s32max
DATA_SOURCE 0 pipe $0
DATA_SOURCE 2 actor $5
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 sd->flags 0-16[c]
USER_DATA 1 sd->pos 0-1000000000
USER_DATA 1 sd->total_len 1-1000000000[c]
NO_OVERFLOW_SIMPLE 0 pipe->max_usage
NO_OVERFLOW_SIMPLE 0 pipe->nr_accounted
NO_OVERFLOW_SIMPLE 0 pipe->ring_size

fs/splice.c vmsplice_to_user() -> __splice_from_pipe()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
PARAM_VALUE 1 sd 53197550370504704
PARAM_VALUE 1 sd->flags 0-14
PARAM_VALUE 1 sd->len 0
PARAM_VALUE 1 sd->need_wakeup 0
PARAM_VALUE 1 sd->num_spliced 0
PARAM_VALUE 1 sd->opos 0
PARAM_VALUE 1 sd->pos 0
PARAM_VALUE 1 sd->total_len 1-1000000000
PARAM_VALUE 1 sd->u.data 135035070536749056
PARAM_VALUE 1 sd->u.file 0
PARAM_VALUE 2 actor 3252258699902791680
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
DATA_SOURCE 0 pipe r get_pipe_info
USER_DATA 1 sd->flags 0-14
USER_DATA 1 sd->total_len 1-1000000000

fs/nfsd/vfs.c nfsd_direct_splice_actor() -> __splice_from_pipe()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
PARAM_VALUE 1 sd 4265377859624452096,8719402049992806400
PARAM_VALUE 1 sd->flags 0-1,4-5
PARAM_VALUE 1 sd->splice_eof 0,8210566249946718208
PARAM_VALUE 1 sd->total_len 1-9223372036854775807
PARAM_VALUE 1 sd->u.file 0,4096-ptr_max
PARAM_VALUE 2 actor 3699370642238414848
BUF_SIZE 0 pipe (-1),488
BUF_SIZE 0 pipe (-1),488
DATA_SOURCE 0 pipe $0
DATA_SOURCE 1 sd $1
BIT_INFO 1 sd->flags 0x0,0x5
NOSPEC 1 sd->pos
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 sd->len 0-2147479551,3294967297-u32max
USER_DATA 1 sd->pos 0-15442450941
NO_OVERFLOW_SIMPLE 0 pipe->max_usage
NO_OVERFLOW_SIMPLE 0 pipe->nr_accounted
NO_OVERFLOW_SIMPLE 0 pipe->ring_size
NO_OVERFLOW_SIMPLE 1 sd->len
NO_OVERFLOW_SIMPLE 1 sd->total_len
USER_PTR 1 sd->opos

drivers/char/virtio_console.c port_fops_splice_write() -> __splice_from_pipe()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
PARAM_VALUE 1 sd 5946973327574691840
PARAM_VALUE 1 sd->len 0
PARAM_VALUE 1 sd->need_wakeup 0
PARAM_VALUE 1 sd->num_spliced 0
PARAM_VALUE 1 sd->opos 0
PARAM_VALUE 1 sd->u.data 8631093125754978304
PARAM_VALUE 1 sd->u.file 0
PARAM_VALUE 2 actor 7512252948342398976
BUF_SIZE 0 pipe s32min-(-1),1-s32max
BUF_SIZE 0 pipe s32min-(-1),1-s32max
DATA_SOURCE 0 pipe $0
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 sd->flags 0-16[c]
USER_DATA 1 sd->pos 0-1000000000
USER_DATA 1 sd->total_len 1-1000000000[c]
NO_OVERFLOW_SIMPLE 0 pipe->max_usage
NO_OVERFLOW_SIMPLE 0 pipe->nr_accounted
NO_OVERFLOW_SIMPLE 0 pipe->ring_size
HALF_LOCKED2 &inode->i_rwsem