| From 67cb3ffbeae7800295388515f8a30eb9b6bfe52d Mon Sep 17 00:00:00 2001 |
| From: Alexander Lobakin <alobakin@dlink.ru> |
| Date: Wed, 18 Dec 2019 12:18:21 +0300 |
| Subject: [PATCH] net, sysctl: Fix compiler warning when only cBPF is present |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 1148f9adbe71415836a18a36c1b4ece999ab0973 upstream. |
| |
| proc_dointvec_minmax_bpf_restricted() has been firstly introduced |
| in commit 2e4a30983b0f ("bpf: restrict access to core bpf sysctls") |
| under CONFIG_HAVE_EBPF_JIT. Then, this ifdef has been removed in |
| ede95a63b5e8 ("bpf: add bpf_jit_limit knob to restrict unpriv |
| allocations"), because a new sysctl, bpf_jit_limit, made use of it. |
| Finally, this parameter has become long instead of integer with |
| fdadd04931c2 ("bpf: fix bpf_jit_limit knob for PAGE_SIZE >= 64K") |
| and thus, a new proc_dolongvec_minmax_bpf_restricted() has been |
| added. |
| |
| With this last change, we got back to that |
| proc_dointvec_minmax_bpf_restricted() is used only under |
| CONFIG_HAVE_EBPF_JIT, but the corresponding ifdef has not been |
| brought back. |
| |
| So, in configurations like CONFIG_BPF_JIT=y && CONFIG_HAVE_EBPF_JIT=n |
| since v4.20 we have: |
| |
| CC net/core/sysctl_net_core.o |
| net/core/sysctl_net_core.c:292:1: warning: ‘proc_dointvec_minmax_bpf_restricted’ defined but not used [-Wunused-function] |
| 292 | proc_dointvec_minmax_bpf_restricted(struct ctl_table *table, int write, |
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| Suppress this by guarding it with CONFIG_HAVE_EBPF_JIT again. |
| |
| Fixes: fdadd04931c2 ("bpf: fix bpf_jit_limit knob for PAGE_SIZE >= 64K") |
| Signed-off-by: Alexander Lobakin <alobakin@dlink.ru> |
| Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> |
| Link: https://lore.kernel.org/bpf/20191218091821.7080-1-alobakin@dlink.ru |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c |
| index f9204719aeee..50eeb0ef320e 100644 |
| --- a/net/core/sysctl_net_core.c |
| +++ b/net/core/sysctl_net_core.c |
| @@ -290,6 +290,7 @@ static int proc_dointvec_minmax_bpf_enable(struct ctl_table *table, int write, |
| return ret; |
| } |
| |
| +# ifdef CONFIG_HAVE_EBPF_JIT |
| static int |
| proc_dointvec_minmax_bpf_restricted(struct ctl_table *table, int write, |
| void __user *buffer, size_t *lenp, |
| @@ -300,6 +301,7 @@ proc_dointvec_minmax_bpf_restricted(struct ctl_table *table, int write, |
| |
| return proc_dointvec_minmax(table, write, buffer, lenp, ppos); |
| } |
| +# endif /* CONFIG_HAVE_EBPF_JIT */ |
| |
| static int |
| proc_dolongvec_minmax_bpf_restricted(struct ctl_table *table, int write, |
| -- |
| 2.7.4 |
| |