From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933233AbdKBLGa (ORCPT ); Thu, 2 Nov 2017 07:06:30 -0400 Received: from mout.kundenserver.de ([212.227.126.135]:51770 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752632AbdKBLG1 (ORCPT ); Thu, 2 Nov 2017 07:06:27 -0400 From: Arnd Bergmann To: Alexei Starovoitov , Daniel Borkmann Cc: Arnd Bergmann , "David S. Miller" , Edward Cree , John Fastabend , Jakub Kicinski , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] [net-next] bpf: fix link error without CONFIG_NET Date: Thu, 2 Nov 2017 12:05:51 +0100 Message-Id: <20171102110558.2746221-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:LqVptb8mfNHnHSUWVjKT2KrRKfAMuyN7V8a7qB+kYkv4nHuE0LR 56hXvbEuoxCkoyjRKTcYg/qxkTaZvMuLKqxrIGMSjJwsuOIF9XYaaVtD+hxQVCo7UxnQ0Hf lnhcEMJRDPMS6MlilCQbLfmdILQQBBVTHZdfOixR5RT22O2x15cC0ilhLrq03T+/GBwlEh7 QF1ME0anoQuKFbIuuxCXg== X-UI-Out-Filterresults: notjunk:1;V01:K0:bdOpqUL8dfo=:Grrvx/VPwkYGrmN4Wi2urX q+cj+yAODfolR4tzMI0QUeFyFdNsyiRTlVsc0462jVRvm4eaY3R7a02DZxeTJHNhqXcZRGd3Z rTdsf/tOBmLBqc34xj72gE2M0kRDRZGVhJjQNoliI9038aJDNpqOkNeLevJBs1mFYqfO76A04 6xSCWTa/Y6DsGnZR3N/z7LXbpM/hSkOURsD/9bMj78a1bAOg9WwPMX8JLlJKvTNM9ltlUFwOx rO6gaQJ0BkWp/5b7frxYfrLO42UUNSPY4dS8QTPEoPxY1oQxcNYunQzDNFFUDDjnYAWip5mWy 9IDtMjzFf0Bz+Kejy0mo0Uw5haoRb5medBeCo8+wDZNCXUoUhnPZZDDt/ZweU6ysIqTI/SFLI KpF5cIMeR/sLnfjIUDkPU8ffagsJCEM5ctbP9qWLwYNUsJnTMAUz3A0CyUtSlCb49BQoKl3B6 OhtwIJEn/RBxNffzjBDS8Pmj93HSbye6iEqHULFK+xQ8RMkUYCIQYju8AUPm9igstAuqowusT JxvCOvsUp871rc9TtuolOmxL/90giTOxZ4ejA6Yuox2kRBt8mF/WH1dTJWKPtCYhqTXTvPA7X UJbSrgrPv7f5TYL9Q2FrmDhWqFCQNimgHFABRIre3/tvNTdI4xXUpEFBNEB7w2Bfe8wTocG9g aTcSjwtPMNbtYmmiZUD8TRu8yWEq+h7nW1eHvQJB7dj2N+AmhXO44mdBrJLcJzR8kpdo4iJOf Mw/ZNjrXduaVnjP+oHqh2sFm+jOxt+fVukjolA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I ran into this link error with the latest net-next plus linux-next trees when networking is disabled: kernel/bpf/verifier.o:(.rodata+0x2958): undefined reference to `tc_cls_act_analyzer_ops' kernel/bpf/verifier.o:(.rodata+0x2970): undefined reference to `xdp_analyzer_ops' It seems that the code was written to deal with varying contents of the arrray, but the actual #ifdef was missing. Both tc_cls_act_analyzer_ops and xdp_analyzer_ops are defined in the core networking code, so adding a check for CONFIG_NET seems appropriate here, and I've verified this with many randconfig builds Fixes: 4f9218aaf8a4 ("bpf: move knowledge about post-translation offsets out of verifier") Signed-off-by: Arnd Bergmann --- Since there hasn't been a linux-next release in two weeks, I'm not entirely sure this is still needed, but from looking of the net-next contents it seems it is. I did not check any other trees that might have a fix already. --- kernel/bpf/verifier.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 2bb6d6aa7085..750aff880ecb 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -4561,8 +4561,10 @@ int bpf_check(struct bpf_prog **prog, union bpf_attr *attr) } static const struct bpf_verifier_ops * const bpf_analyzer_ops[] = { +#ifdef CONFIG_NET [BPF_PROG_TYPE_XDP] = &xdp_analyzer_ops, [BPF_PROG_TYPE_SCHED_CLS] = &tc_cls_act_analyzer_ops, +#endif }; int bpf_analyzer(struct bpf_prog *prog, const struct bpf_ext_analyzer_ops *ops, -- 2.9.0