Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/net/hyperv/netvsc.c netvsc_channel_cb() -> hv_get_ring_buffer()

Type Parameter Key Value
PARAM_VALUE 0 ring_info 4096-ptr_max
BUF_SIZE 0 ring_info 272
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &channel->sched_lock
HALF_LOCKED2 rcu_read

drivers/hv/ring_buffer.c hv_copyto_ringbuffer() -> hv_get_ring_buffer()

Type Parameter Key Value
PARAM_VALUE 0 ring_info 4096-ptr_max
PARAM_VALUE 0 ring_info->ring_buffer 4096-ptr_max
BUF_SIZE 0 ring_info 272
CAPPED_DATA 0 ring_info->ring_buffer->read_index 1
DATA_SOURCE 0 ring_info $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &ring_info->ring_lock
TYPE_LOCK (struct hv_ring_buffer_info)->ring_lock

drivers/hv/ring_buffer.c hv_pkt_iter_first() -> hv_get_ring_buffer()

Type Parameter Key Value
PARAM_VALUE 0 ring_info 4096-ptr_max
PARAM_VALUE 0 ring_info->ring_buffer 4096-ptr_max
BUF_SIZE 0 ring_info 272
CAPPED_DATA 0 ring_info->priv_read_index 1
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 sk

drivers/hv/ring_buffer.c hv_ringbuffer_write() -> hv_get_ring_buffer()

Type Parameter Key Value
PARAM_VALUE 0 ring_info 4096-ptr_max
PARAM_VALUE 0 ring_info->ring_buffer 4096-ptr_max
BUF_SIZE 0 ring_info 272
CAPPED_DATA 0 ring_info->ring_buffer->read_index 1
CAPPED_DATA 0 ring_info->ring_datasize 1
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 flags
LOCK2 0 &ring_info->ring_lock
TYPE_LOCK (struct hv_ring_buffer_info)->ring_lock