From: Mykyta Yatsenko Resizable hash map uses spin lock per bucket, which makes it not possible to use in NMI or IRQ contexts. Reject in verifier. Signed-off-by: Mykyta Yatsenko --- kernel/bpf/verifier.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 0803dca3d93f9e912824aa89951cb5b65e961af9..a5560ce436fc75237536b17fa845b9f7a278de30 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -21544,6 +21544,13 @@ static int check_map_prog_compatibility(struct bpf_verifier_env *env, } } + if (map->map_type == BPF_MAP_TYPE_RHASH) { + if (is_tracing_prog_type(prog_type)) { + verbose(env, "tracing progs cannot use resizable hash maps yet\n"); + return -EINVAL; + } + } + if ((bpf_prog_is_offloaded(prog->aux) || bpf_map_is_offloaded(map)) && !bpf_offload_prog_map_match(prog, map)) { verbose(env, "offload device mismatch between prog and map\n"); -- 2.53.0