bpf, arm64: Enable kfunc call
authorHou Tao <houtao1@huawei.com>
Sun, 30 Jan 2022 09:29:15 +0000 (17:29 +0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 4 Feb 2022 15:37:13 +0000 (16:37 +0100)
Since commit b2eed9b58811 ("arm64/kernel: kaslr: reduce module
randomization range to 2 GB"), for arm64 whether KASLR is enabled
or not, the module is placed within 2GB of the kernel region, so
s32 in bpf_kfunc_desc is sufficient to represente the offset of
module function relative to __bpf_call_base. The only thing needed
is to override bpf_jit_supports_kfunc_call().

Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220130092917.14544-2-hotforest@gmail.com
arch/arm64/net/bpf_jit_comp.c

index e96d4d8..74f9a9b 100644 (file)
@@ -1143,6 +1143,11 @@ out:
        return prog;
 }
 
+bool bpf_jit_supports_kfunc_call(void)
+{
+       return true;
+}
+
 u64 bpf_jit_alloc_exec_limit(void)
 {
        return VMALLOC_END - VMALLOC_START;