Defined in 4 files as a function:
- kernel/bpf/bpf_cgrp_storage.c, line 110 (as a function)
- kernel/bpf/bpf_inode_storage.c, line 173 (as a function)
- kernel/bpf/bpf_task_storage.c, line 207 (as a function)
- net/core/bpf_sk_storage.c, line 74 (as a function)
Referenced in 4 files:
- kernel/bpf/bpf_cgrp_storage.c, line 165
- kernel/bpf/bpf_inode_storage.c, line 203
- kernel/bpf/bpf_task_storage.c, line 228
- net/core/bpf_sk_storage.c, line 317
Smatch caller information:
kernel/bpf/syscall.c generic_map_lookup_batch() -> (struct bpf_map_ops)->map_get_next_key()
| 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_batch | 631431616227323904,968212869968297984,3636988385139924992,5229998854994575360,6341067303080312832,6609440822477774848 |
| PARAM_VALUE | 1 | key | 0-18446744073709551614 |
| PARAM_VALUE | 2 | next_key | 1-18446744073709551614 |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | key | 0-u32max |
| BUF_SIZE | 1 | key | 0-u32max |
| BUF_SIZE | 2 | next_key | 0-u32max |
| BUF_SIZE | 2 | next_key | 0-u32max |
| DATA_SOURCE | 0 | map | $0 |
| CONTAINER | 0 | -32-32+0 | $(-1) |
| USER_DATA | 2 | *next_key | s64min-s64max[c] |
| USER_PTR | 1 | key | |
| USER_PTR | 2 | next_key | |
| LOCK2 | rcu_read |
kernel/bpf/syscall.c map_get_next_key() -> (struct bpf_map_ops)->map_get_next_key()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-8176211074560897023,8176211074560897025-ptr_max |
| PARAM_VALUE | 1 | key | 0,16,4096-ptr_max |
| PARAM_VALUE | 2 | next_key | 1-18446744073709551614 |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | key | s32min-s32max |
| BUF_SIZE | 2 | next_key | 0-u32max |
| BUF_SIZE | 2 | next_key | 0-u32max |
| DATA_SOURCE | 0 | map | r __bpf_map_get |
| DATA_SOURCE | 2 | next_key | r __kvmalloc_node_noprof |
| CONTAINER | 0 | -32-32+0 | $(-1) |
| USER_DATA | 1 | *key | s64min-s64max |
| USER_PTR | 1 | key | |
| LOCK2 | rcu_read |
kernel/bpf/inode.c map_seq_next() -> (struct bpf_map_ops)->map_get_next_key()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | map | 4096-ptr_max |
| PARAM_VALUE | 0 | map->ops | 4096-ptr_max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | map | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | key | 0-s32max |
| BUF_SIZE | 1 | key | 0-s32max |
| BUF_SIZE | 2 | next_key | 1-s32max |
| BUF_SIZE | 2 | next_key | 1-s32max |
| DATA_SOURCE | 0 | map | r seq_file_to_map |
| CONTAINER | 0 | -32-32+0 | $(-1) |
| PARAM_COMPARE | 1 | key | <= $2 |
| PARAM_COMPARE | 2 | next_key | >= $1 |
| PARAM_COMPARE | 2 | next_key | >= $1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| LOCK2 | &m->lock | ||
| LOCK2 | rcu_read | ||
| TYPE_LOCK | (struct seq_file)->lock |