Re: [PATCH] include/linux/bpf.h - fix missing prototype warnings...

From: Daniel Borkmann
Date: Thu Jan 31 2019 - 04:39:11 EST


On 01/29/2019 07:04 AM, valdis.kletnieks@xxxxxx wrote:
> Compiling with W=1 generates warnings:
>
> CC kernel/bpf/core.o
> kernel/bpf/core.c:721:12: warning: no previous prototype for ?bpf_jit_alloc_exec_limit? [-Wmissing-prototypes]
> 721 | u64 __weak bpf_jit_alloc_exec_limit(void)
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> kernel/bpf/core.c:757:14: warning: no previous prototype for ?bpf_jit_alloc_exec? [-Wmissing-prototypes]
> 757 | void *__weak bpf_jit_alloc_exec(unsigned long size)
> | ^~~~~~~~~~~~~~~~~~
> kernel/bpf/core.c:762:13: warning: no previous prototype for ?bpf_jit_free_exec? [-Wmissing-prototypes]
> 762 | void __weak bpf_jit_free_exec(void *addr)
> | ^~~~~~~~~~~~~~~~~
>
> All three are weak functions that archs can override, although none do so
> currently. Provide prototypes for when a new arch provides its own.
>
> Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx>

Applied all 3 to bpf-next, thanks Valdis!

> diff --git a/include/linux/bpf.h b/include/linux/bpf.h
> index 3851529062ec..99e55313123f 100644
> --- a/include/linux/bpf.h
> +++ b/include/linux/bpf.h
> @@ -472,6 +472,10 @@ _out: \
> #define BPF_PROG_RUN_ARRAY_CHECK(array, ctx, func) \
> __BPF_PROG_RUN_ARRAY(array, ctx, func, true)
>
> +u64 __weak bpf_jit_alloc_exec_limit(void);
> +void *__weak bpf_jit_alloc_exec(unsigned long size);
> +void __weak bpf_jit_free_exec(void *addr);
> +

(I moved these to include/linux/filter.h while applying where we have all the
other prototypes from JIT core already.)

> #ifdef CONFIG_BPF_SYSCALL
> DECLARE_PER_CPU(int, bpf_prog_active);
>
>