Documented in 1 files:

Defined in 1 files as a function:

Referenced in 4 files:

Smatch caller information:

fs/splice.c iter_file_splice_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/splice.c iter_file_splice_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/splice.c link_pipe() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c pipe_is_empty() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c splice_from_pipe_feed() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c splice_from_pipe_feed() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c splice_pipe_to_pipe() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c splice_pipe_to_pipe() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size

fs/splice.c splice_to_socket() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/splice.c splice_to_socket() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/pipe.c anon_pipe_read() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c anon_pipe_read() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c anon_pipe_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c pipe_ioctl() -> pipe_empty()

Type Parameter Key Value
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c pipe_ioctl() -> pipe_empty()

Type Parameter Key Value
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c pipe_is_empty() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
LOCK2 &pipe->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c pipe_poll() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &kvm->irq_srcu
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 &vm->irqfds_lock
HALF_LOCKED2 global &irqfds_srcu

fs/pipe.c pipe_readable() -> pipe_empty()

Type Parameter Key Value
PARAM_VALUE 0 head 0
PARAM_VALUE 1 tail 0
RX_PATH
TASK_NOT_RUNNING

fs/fuse/dev.c fuse_dev_splice_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/fuse/dev.c fuse_dev_splice_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

fs/fuse/dev.c fuse_dev_splice_write() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size
HALF_LOCKED2 &inode->i_rwsem

drivers/char/virtio_console.c pipe_is_empty() -> pipe_empty()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
UNITS 0 head unit_array_size