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 |