Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 3 files:

Smatch caller information:

kernel/bpf/local_storage.c bpf_percpu_cgroup_storage_copy() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 1 map 0,16,4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map (-1)-s32max
BUF_SIZE 1 map (-1)-s32max
DATA_SOURCE 0 cgroup r map_to_storage
DATA_SOURCE 1 map $1
USER_DATA 1 *map s64min-s64max
USER_PTR 1 map
LOCK2 rcu_read

kernel/bpf/local_storage.c bpf_percpu_cgroup_storage_update() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 1 map 0,16,4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map (-1)-s32max
BUF_SIZE 1 map (-1)-s32max
DATA_SOURCE 0 cgroup r map_to_storage
DATA_SOURCE 1 map $1
USER_DATA 1 *map s64min-s64max
USER_PTR 1 map
LOCK2 rcu_read

kernel/bpf/local_storage.c cgroup_storage_get_next_key() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 0 cgroup->lock.rlock.dep_map->name 0-255
PARAM_VALUE 1 map 1-u64max
PARAM_VALUE 2 cacheit_lockit 1
BUF_SIZE 1 map (-1)-s32max
BUF_SIZE 1 map (-1)-s32max
CAPPED_DATA 0 &cgroup->list 1
DATA_SOURCE 0 cgroup r map_to_storage
DATA_SOURCE 1 map $1
PARAM_COMPARE 0 &cgroup->list != $0->list.next
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 *map s64min-s64max
USER_PTR 1 map
LOCK2 bh
LOCK2 rcu_read
LOCK2 0 &cgroup->lock
HALF_LOCKED2 &m->lock
TYPE_LOCK (struct bpf_cgroup_storage_map)->lock

kernel/bpf/local_storage.c cgroup_storage_lookup_elem() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map (-1)-s32max
BUF_SIZE 1 map (-1)-s32max
DATA_SOURCE 0 cgroup r map_to_storage
DATA_SOURCE 1 map $1
USER_DATA 1 *map s64min-s64max
USER_PTR 1 map
HALF_LOCKED2 rcu_read

kernel/bpf/local_storage.c cgroup_storage_seq_show_elem() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map 1-s32max
BUF_SIZE 1 map 1-s32max
DATA_SOURCE 1 map $1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &m->lock
LOCK2 rcu_read
TYPE_LOCK (struct seq_file)->lock

kernel/bpf/local_storage.c cgroup_storage_update_elem() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 0 cgroup s32min-(-1),1-s32max
BUF_SIZE 0 cgroup s32min-(-1),1-s32max
BUF_SIZE 1 map (-1)-s32max
BUF_SIZE 1 map (-1)-s32max
DATA_SOURCE 0 cgroup $0
DATA_SOURCE 1 map $1
USER_DATA 1 *map s64min-s64max
USER_PTR 1 map
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_cgrp_storage.c ____bpf_cgrp_storage_get() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 1-u64max
PARAM_VALUE 2 cacheit_lockit 1
DATA_SOURCE 0 cgroup $1
DATA_SOURCE 1 map $0

kernel/bpf/bpf_cgrp_storage.c bpf_cgrp_storage_lookup_elem() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 0-ptr_max
PARAM_VALUE 1 map 4096-ptr_max
PARAM_VALUE 1 map->ops 4096-ptr_max
PARAM_VALUE 1 map->ops->map_lookup_batch 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848
PARAM_VALUE 1 map->ops->map_lookup_elem_sys_only 0,1844650555866931200,2797019561733431296,5735237356065062912,8538665627833008128
PARAM_VALUE 1 map->ops->map_release 0,4096-ptr_max
PARAM_VALUE 2 cacheit_lockit 1
BUF_SIZE 1 map s32min-(-1),1-s32max
BUF_SIZE 1 map s32min-(-1),1-s32max
CAPPED_DATA 1 map 1
DATA_SOURCE 0 cgroup r cgroup_v1v2_get_from_fd
DATA_SOURCE 1 map $0
HALF_LOCKED2 rcu_read

kernel/bpf/bpf_cgrp_storage.c cgroup_storage_delete() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 1 map->ops->map_delete_batch 0,5247200330534285312
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map s32min-(-1),1-s32max
BUF_SIZE 1 map s32min-(-1),1-s32max
DATA_SOURCE 0 cgroup $0
DATA_SOURCE 1 map $1

kernel/bpf/cgroup.c bpf_cgroup_storages_alloc() -> cgroup_storage_lookup()

Type Parameter Key Value
PARAM_VALUE 0 cgroup 1-u64max
PARAM_VALUE 1 map 795592222344601600
PARAM_VALUE 2 cacheit_lockit 0
BUF_SIZE 1 map 16
LOCK2 global &cgroup_mutex