Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ (-4095)-(-1)
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 1-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count <= $0->size
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 1-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count <= $0->size
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 1-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 0
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count <= $0->size
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/bpf_iter.c bpf_seq_read() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 0-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf 32768,u64max
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count <= $0->size
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

fs/seq_file.c seq_read_iter() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 1 $ 1-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf (-1)-2147479552
CAPPED_DATA 0 $->count 1
CAPPED_DATA 0 $->size 1
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count == $0->size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 $->read_pos 0-13442450941[c]
LOCK2 0 &$->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct seq_file)->lock

fs/seq_file.c seq_read_iter() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf (-1)-2147479552
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 $->read_pos 0-13442450941[c]
LOCK2 0 &$->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct seq_file)->lock

fs/seq_file.c seq_read_iter() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0-999999999
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.first_waiter->task->blocked_on 0
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf (-1)-2147479552
CAPPED_DATA 0 &$->lock 1
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count != $0->size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 $->read_pos 0-13442450941[c]
LOCK2 0 &$->lock
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct seq_file)->lock

fs/seq_file.c traverse() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->index 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $->buf (-1)-2147479552
DATA_SOURCE 0 $ $0
CONTAINER 0 -8-208+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock

fs/seq_file.c traverse() -> (struct seq_operations)->stop()

Type Parameter Key Value
PARAM_VALUE 0 $ 4096-ptr_max
PARAM_VALUE 0 $->buf 1-u64max
PARAM_VALUE 0 $->count 0
PARAM_VALUE 0 $->from 0
PARAM_VALUE 0 $->index 0
PARAM_VALUE 0 $->lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 $->lock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 $->lock.osq.tail.counter 0-s32max
PARAM_VALUE 0 $->lock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 $->lock.wait_lock.owner (-1)
PARAM_VALUE 0 $->lock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 $->op 4096-ptr_max
PARAM_VALUE 0 $->size 0
PARAM_VALUE 1 $ 1-ptr_max
BUF_SIZE 0 $ s32min-(-2),1-s32max
BUF_SIZE 0 $ s32min-(-2),1-s32max
DATA_SOURCE 0 $ $0
CONTAINER 0 -8-208+0 $(-1)
PARAM_COMPARE 0 $->count == $0->size
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 0 &$->lock
TYPE_LOCK (struct seq_file)->lock