Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/relay.c relay_open() -> relay_open_buf()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
PARAM_VALUE 0 chan->alloc_size 0,4096-u64max
PARAM_VALUE 0 chan->buf 4096-ptr_max
PARAM_VALUE 0 chan->cb 4096-ptr_max
PARAM_VALUE 0 chan->cb->create_buf_file 4096-ptr_max
PARAM_VALUE 0 chan->cb->remove_buf_file 4096-ptr_max
PARAM_VALUE 0 chan->cb->subbuf_start 0,138543034212241408,1018314774752190464,6916900448547729408
PARAM_VALUE 0 chan->kref.refcount.refs.counter 1
PARAM_VALUE 0 chan->n_subbufs 1-u64max
PARAM_VALUE 0 chan->subbuf_size 1-u32max
PARAM_VALUE 0 chan->version 7
PARAM_VALUE 1 cpu 0-64
BUF_SIZE 0 chan 360
BUF_SIZE 0 chan->buf 8
BUF_SIZE 0 chan->parent s32min-(-1),1-s32max
BUF_SIZE 0 chan->private_data (-1),96
CAPPED_DATA 0 chan->subbuf_size 1
CAPPED_DATA 1 cpu 1
DATA_SOURCE 0 chan r _kzalloc_noprof
DATA_SOURCE 1 cpu r find_next_bit
CONSTRAINT 1 cpu <3035
BIT_INFO 0 chan->alloc_size 0x0,0xfffffffffffff000
NOSPEC 0 chan->subbuf_size
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 chan->alloc_size 0,4096-18446744065119621120[c]
USER_DATA 0 chan->n_subbufs 1-u32max
USER_DATA 0 chan->subbuf_size 1-u32max[c]
NO_OVERFLOW_SIMPLE 0 chan->n_subbufs
NO_OVERFLOW_SIMPLE 0 chan->subbuf_size
LOCK2 global &relay_channels_mutex
HALF_LOCKED2 &ab->core_lock
HALF_LOCKED2 &attr->mutex
HALF_LOCKED2 &log->relay.lock
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &q->debugfs_mutex

kernel/relay.c relay_prepare_cpu() -> relay_open_buf()

Type Parameter Key Value
PARAM_VALUE 0 chan 4096-ptr_max
CAPPED_DATA 0 &chan->list 1
DATA_SOURCE 1 cpu $0
STR_LEN 0 chan (-1),8-9,11-29,31-34,38
BIT_INFO 1 cpu 0x0,0x7fffffff
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &relay_channels_mutex
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq