Documented in 1 files:

Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

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

Type Parameter Key Value
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock

fs/pipe.c get_pipe_info() -> pipe_has_watch_queue()

Type Parameter Key Value
PARAM_VALUE 0 pipe 1-u64max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING

fs/pipe.c pipe_resize_ring() -> pipe_has_watch_queue()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
PARAM_VALUE 0 pipe->watch_queue 0,4096-ptr_max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe->bufs 0-171798691800
CAPPED_DATA 0 pipe->head 1
CAPPED_DATA 0 pipe->max_usage 1
DATA_SOURCE 0 pipe $0
PREEMPT_ADD <- disables preempt
NO_OVERFLOW_SIMPLE 0 pipe->max_usage
NO_OVERFLOW_SIMPLE 0 pipe->ring_size
LOCK2 irq
LOCK2 0 &pipe->mutex
LOCK2 0 &pipe->rd_wait.lock
TYPE_LOCK (struct pipe_inode_info)->mutex
TYPE_LOCK (struct wait_queue_head)->lock

fs/pipe.c pipe_set_size() -> pipe_has_watch_queue()

Type Parameter Key Value
PARAM_VALUE 0 pipe 1-u64max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
DATA_SOURCE 0 pipe $0
LOCK2 0 &pipe->mutex
TYPE_LOCK (struct pipe_inode_info)->mutex

fs/pipe.c pipe_update_tail() -> pipe_has_watch_queue()

Type Parameter Key Value
PARAM_VALUE 0 pipe 4096-ptr_max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
BUF_SIZE 0 pipe s32min-(-2),1-s32max
CAPPED_DATA 0 pipe->max_usage 1
DATA_SOURCE 0 pipe $0
RX_PATH
TASK_NOT_RUNNING
LOCK2 0 &pipe->mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct pipe_inode_info)->mutex