Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

kernel/trace/ring_buffer.c __rb_validate_buffer() -> rb_data_page_commit()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING

kernel/trace/ring_buffer.c check_buffer() -> rb_data_page_commit()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/trace/ring_buffer.c check_buffer() -> rb_data_page_commit()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING

kernel/trace/ring_buffer.c rb_data_page_size() -> rb_data_page_commit()

Type Parameter Key Value
DATA_SOURCE 0 dpage $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cpu_buffer->reader_lock
HALF_LOCKED2 irq

kernel/trace/ring_buffer.c rb_page_commit() -> rb_data_page_commit()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cpu_buffer->reader_lock
HALF_LOCKED2 flags
HALF_LOCKED2 irq

kernel/trace/ring_buffer.c rb_test_inject_invalid_pages() -> rb_data_page_commit()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt

kernel/trace/ring_buffer.c rbm_show() -> rb_data_page_commit()

Type Parameter Key Value
PARAM_VALUE 0 dpage 1-u64max
DATA_SOURCE 0 dpage r rb_range_buffer
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
TYPE_LOCK (struct seq_file)->lock

kernel/trace/ring_buffer.c ring_buffer_read_page() -> rb_data_page_commit()

Type Parameter Key Value
PARAM_VALUE 0 dpage 4096-ptr_max
RX_PATH
TASK_NOT_RUNNING
LOCK2 &cpu_buffer->reader_lock
LOCK2 irq
HALF_LOCKED2 global &all_cpu_access_lock
TYPE_LOCK (struct ring_buffer_per_cpu)->reader_lock