Function report |
Source Code:kernel\bpf\verifier.c |
Create Date:2022-07-28 12:59:00 |
| Last Modify:2022-05-19 20:02:10 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Implementation details:* bpf_map_lookup returns PTR_TO_MAP_VALUE_OR_NULL* Two bpf_map_lookups (even with the same key) will have different reg->id
Proto:static int process_spin_lock(struct bpf_verifier_env *env, int regno, bool is_lock)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct bpf_verifier_env * | env | |
| int | regno | |
| bool | is_lock |
| 3314 | cur = current verifier state |
| 3323 | If Not is_const Then |
| 3324 | verbose(env, "R%d doesn't have constant offset. bpf_spin_lock has to be at the constant offset\n", regno) |
| 3327 | Return -EINVAL |
| 3329 | If Not btf Then |
| 3333 | Return -EINVAL |
| 3335 | If Not map_value_has_spin_lock(map) Then |
| 3336 | If >=0 valid offset, <0 error == -E2BIG Then verbose(env, "map '%s' has more than one 'struct bpf_spin_lock'\n", name) |
| 3340 | Else if >=0 valid offset, <0 error == -ENOENT Then verbose(env, "map '%s' doesn't have 'struct bpf_spin_lock'\n", name) |
| 3348 | Return -EINVAL |
| 3350 | If >=0 valid offset, <0 error != val + Fixed part of pointer offset, pointer types only Then |
| 3351 | verbose(env, "off %lld doesn't point to 'struct bpf_spin_lock'\n", val + Fixed part of pointer offset, pointer types only ) |
| 3353 | Return -EINVAL |
| 3355 | If is_lock Then |
| 3356 | If active_spin_lock Then |
| 3362 | Else |
| 3373 | Return 0 |
| Name | Describe |
|---|---|
| check_func_arg |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |