Defined in 1 files as a function:
Referenced in 8 files:
- kernel/bpf/arraymap.c
- kernel/bpf/bpf_insn_array.c, line 87
- kernel/bpf/bpf_local_storage.c, line 87
- kernel/bpf/hashtab.c
- kernel/bpf/helpers.c, line 389
- kernel/bpf/local_storage.c
- kernel/bpf/syscall.c, line 356
- net/core/bpf_sk_storage.c
Smatch caller information:
kernel/bpf/local_storage.c bpf_percpu_cgroup_storage_copy() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 21 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->ops->map_release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dst | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| CAPPED_DATA | 0 | map | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $2 |
| NOCHECK_CALL | |||
| UNITS | 1 | dst | unit_byte |
| LOCK2 | rcu_read |
kernel/bpf/local_storage.c bpf_percpu_cgroup_storage_update() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 21 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 2 | src | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
kernel/bpf/local_storage.c bpf_percpu_cgroup_storage_update() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 21 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 2 | src | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| NOCHECK_CALL | |||
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
kernel/bpf/bpf_local_storage.c bpf_selem_alloc() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->objcg | 0,4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 2 | src | 1-u64max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 2 | src | $2 |
| RX_PATH | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src |
kernel/bpf/arraymap.c array_map_update_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| HALF_LOCKED2 | rcu_read |
kernel/bpf/arraymap.c array_map_update_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 1 | dst | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| HALF_LOCKED2 | rcu_read |
kernel/bpf/arraymap.c bpf_percpu_array_copy() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 6 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->ops->map_release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dst | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| CAPPED_DATA | 0 | map | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $2 |
| NOCHECK_CALL | |||
| UNITS | 1 | dst | unit_byte |
| LOCK2 | rcu_read |
kernel/bpf/arraymap.c bpf_percpu_array_update() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 6 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 2 | src | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
kernel/bpf/arraymap.c bpf_percpu_array_update() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 6 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 2 | src | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| NOCHECK_CALL | |||
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
net/core/bpf_sk_storage.c bpf_sk_storage_clone_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_flags | 512-u32max |
| PARAM_VALUE | 0 | map->objcg | 0,4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->record | 0,4096-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &newsk->sk_lock.slock | ||
| HALF_LOCKED2 | &sk->sk_lock.slock | ||
| HALF_LOCKED2 | sk |
net/core/bpf_sk_storage.c diag_get() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->record | 0,4096-u64max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | *dst | s64min-s64max |
| USER_PTR | 1 | dst | |
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | &ilb->lock |
kernel/bpf/syscall.c bpf_map_copy_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 0-2,9,11,14-19,24-25,27-29,31-u32max |
| PARAM_VALUE | 0 | map->ops | 4096-8176211074560897023,8176211074560897025-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->ops->map_lookup_elem_sys_only | 0,1844650555866931200,2797019561733431296,5735237356065062912,8538665627833008128 |
| PARAM_VALUE | 0 | map->ops->map_release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dst | 16,4096-ptr_max |
| PARAM_VALUE | 2 | src | 1-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1),8 |
| BUF_SIZE | 2 | src | (-1),8 |
| CAPPED_DATA | 0 | map | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $2 |
| NOCHECK_CALL | |||
| UNITS | 1 | dst | unit_byte |
| LOCK2 | rcu_read |
kernel/bpf/bpf_insn_array.c insn_array_update_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 1 | dst | 6281712837028757504 |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 1 | dst | 16 |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c __htab_map_lookup_and_delete_batch() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->elem_count | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_flags | 1-u32max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 1 | dst | 1-u64max |
| BUF_SIZE | 1 | dst | 5-u32max,u64max |
| BUF_SIZE | 1 | dst | 5-u32max,u64max |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | flags |
kernel/bpf/hashtab.c __htab_map_lookup_and_delete_batch() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_lookup_and_delete_batch | 0,1162106831773184000,5857178533830610944,7056744708359086080,8047599492099870720,8153334481063559168 |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->record->cnt | 0-s32max |
| PARAM_VALUE | 1 | dst | 1-u64max |
| PARAM_VALUE | 2 | src | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | 5-u32max,u64max |
| BUF_SIZE | 1 | dst | 5-u32max,u64max |
| BUF_SIZE | 2 | src | (-1),4 |
| BUF_SIZE | 2 | src | (-1),4 |
| CAPPED_DATA | 0 | map->record->cnt | 1 |
| DATA_SOURCE | 0 | map | $0 |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read | ||
| HALF_LOCKED2 | flags |
kernel/bpf/hashtab.c __htab_map_lookup_and_delete_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->key_size | 0-s32max |
| PARAM_VALUE | 0 | map->map_type | 1,5,7,9-10,35 |
| PARAM_VALUE | 0 | map->ops | 4096-8176211074560897023,8176211074560897025-ptr_max |
| PARAM_VALUE | 1 | dst | 16,4096-ptr_max |
| PARAM_VALUE | 2 | src | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | 0-s32max |
| BUF_SIZE | 1 | dst | 0-s32max |
| CAPPED_DATA | 0 | map->key_size | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $2 |
| DATA_SOURCE | 2 | src | r htab_elem_value |
| BIT_INFO | 0 | map->map_type | 0x0,0x2f |
| PREEMPT_ADD | <- disables preempt | ||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | rcu_read |
kernel/bpf/hashtab.c alloc_htab_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->elem_count | 4096-ptr_max |
| PARAM_VALUE | 1 | dst | 4096-ptr_max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 2 | src | $2 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c bpf_percpu_hash_copy() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->map_type | 5,10 |
| PARAM_VALUE | 0 | map->ops | 0-8176211074560897023,8176211074560897025-u64max |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->ops->map_release | 0,4096-ptr_max |
| PARAM_VALUE | 1 | dst | 16,4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| CAPPED_DATA | 0 | map | 1 |
| CAPPED_DATA | 0 | map->key_size | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $2 |
| NOCHECK_CALL | |||
| UNITS | 1 | dst | unit_byte |
| LOCK2 | rcu_read |
kernel/bpf/hashtab.c htab_lru_map_update_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 1 | dst | 4096-ptr_max |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL |
kernel/bpf/hashtab.c pcpu_copy_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 2 | src | $2 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c pcpu_copy_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 2 | src | $2 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c pcpu_copy_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c pcpu_init_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 2 | src | $2 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |
kernel/bpf/hashtab.c rhtab_map_update_elem() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->max_entries | 1-u32max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 1 | dst | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
kernel/bpf/hashtab.c rhtab_map_update_existing() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 1 | dst | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | r rhtab_elem_value |
| DATA_SOURCE | 2 | src | $2 |
| NOCHECK_CALL | |||
| USER_DATA | 2 | *src | s64min-s64max |
| USER_PTR | 2 | src | |
| LOCK2 | rcu_read |
kernel/bpf/hashtab.c rhtab_read_elem_value() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_lookup_and_delete_batch | 0,1162106831773184000,5857178533830610944,7056744708359086080,8047599492099870720,8153334481063559168 |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 1 | dst | 16,4096-u64max |
| PARAM_VALUE | 2 | src | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $1 |
| DATA_SOURCE | 2 | src | r rhtab_elem_value |
| NOCHECK_CALL | |||
| LOCK2 | rcu_read |
kernel/bpf/helpers.c copy_map_value_locked() -> copy_map_value()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_lookup_and_delete_batch | 0,1162106831773184000,5857178533830610944,7056744708359086080,8047599492099870720,8153334481063559168 |
| PARAM_VALUE | 0 | map->ops->map_lookup_batch | 0,631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 0 | map->ops->map_lookup_elem_sys_only | 0,1844650555866931200,2797019561733431296,5735237356065062912,8538665627833008128 |
| PARAM_VALUE | 0 | map->ops->map_release | 0,4096-ptr_max |
| PARAM_VALUE | 0 | map->ops->map_update_batch | 0,7911141981172039680 |
| PARAM_VALUE | 0 | map->record | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-1),1-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 1 | dst | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| BUF_SIZE | 2 | src | (-1)-s32max |
| CAPPED_DATA | 0 | map | 1 |
| DATA_SOURCE | 0 | map | $0 |
| DATA_SOURCE | 1 | dst | $1 |
| DATA_SOURCE | 2 | src | $2 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | *dst | s64min-s64max |
| USER_DATA | 2 | *src | s64min-s64max |
| UNITS | 1 | dst | unit_byte |
| USER_PTR | 1 | dst | |
| USER_PTR | 2 | src | |
| LOCK2 | flags | ||
| HALF_LOCKED2 | rcu_read |