From: Hou Tao <houtao1@xxxxxxxxxx> For map with dynptr key support, it needs to use map_extra to specify the maximum data length of these dynptrs. The implementation of the map will check whether map_extra is smaller than the limitation imposed by memory allocation during map creation. It may also use map_extra to optimize the memory allocation for dynptr. Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx> --- kernel/bpf/syscall.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 46b96d062d2db..79459b218109e 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -1438,6 +1438,7 @@ static int map_create(union bpf_attr *attr) if (attr->map_type != BPF_MAP_TYPE_BLOOM_FILTER && attr->map_type != BPF_MAP_TYPE_ARENA && + !(attr->map_flags & BPF_INT_F_DYNPTR_IN_KEY) && attr->map_extra != 0) { err = -EINVAL; goto put_btf; -- 2.29.2