{"id":833302,"url":"http://patchwork.ozlabs.org/api/1.2/patches/833302/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/patch/20171102110558.2746221-1-arnd@arndb.de/","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.2/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20171102110558.2746221-1-arnd@arndb.de>","list_archive_url":null,"date":"2017-11-02T11:05:51","name":"[1/2,net-next] bpf: fix link error without CONFIG_NET","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"984e36a207273eaa870763f6cabd8b3b00d3446b","submitter":{"id":30,"url":"http://patchwork.ozlabs.org/api/1.2/people/30/?format=json","name":"Arnd Bergmann","email":"arnd@arndb.de"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.2/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/20171102110558.2746221-1-arnd@arndb.de/mbox/","series":[{"id":11477,"url":"http://patchwork.ozlabs.org/api/1.2/series/11477/?format=json","web_url":"http://patchwork.ozlabs.org/project/netdev/list/?series=11477","date":"2017-11-02T11:05:52","name":"[1/2,net-next] bpf: fix link error without CONFIG_NET","version":1,"mbox":"http://patchwork.ozlabs.org/series/11477/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/833302/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/833302/checks/","tags":{},"related":[],"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=netdev-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)","Received":["from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3ySMjZ5KZNz9sRg\n\tfor <patchwork-incoming@ozlabs.org>;\n\tThu,  2 Nov 2017 22:06:58 +1100 (AEDT)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S932438AbdKBLG3 (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tThu, 2 Nov 2017 07:06:29 -0400","from mout.kundenserver.de ([212.227.126.135]:51770 \"EHLO\n\tmout.kundenserver.de\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1752632AbdKBLG1 (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Thu, 2 Nov 2017 07:06:27 -0400","from wuerfel.lan ([109.193.157.232]) by mrelayeu.kundenserver.de\n\t(mreue001 [212.227.15.129]) with ESMTPA (Nemesis) id\n\t0Lwzvt-1d41qK1HiL-016gXn; Thu, 02 Nov 2017 12:06:01 +0100"],"From":"Arnd Bergmann <arnd@arndb.de>","To":"Alexei Starovoitov <ast@kernel.org>,\n\tDaniel Borkmann <daniel@iogearbox.net>","Cc":"Arnd Bergmann <arnd@arndb.de>, \"David S. Miller\" <davem@davemloft.net>,\n\tEdward Cree <ecree@solarflare.com>,\n\tJohn Fastabend <john.fastabend@gmail.com>,\n\tJakub Kicinski <jakub.kicinski@netronome.com>,\n\tnetdev@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\n\t56hXvbEuoxCkoyjRKTcYg/qxkTaZvMuLKqxrIGMSjJwsuOIF9XYaaVtD+hxQVCo7UxnQ0Hf\n\tlnhcEMJRDPMS6MlilCQbLfmdILQQBBVTHZdfOixR5RT22O2x15cC0ilhLrq03T+/GBwlEh7\n\tQF1ME0anoQuKFbIuuxCXg==","X-UI-Out-Filterresults":"notjunk:1; V01:K0:bdOpqUL8dfo=:Grrvx/VPwkYGrmN4Wi2urX\n\tq+cj+yAODfolR4tzMI0QUeFyFdNsyiRTlVsc0462jVRvm4eaY3R7a02DZxeTJHNhqXcZRGd3Z\n\trTdsf/tOBmLBqc34xj72gE2M0kRDRZGVhJjQNoliI9038aJDNpqOkNeLevJBs1mFYqfO76A04\n\t6xSCWTa/Y6DsGnZR3N/z7LXbpM/hSkOURsD/9bMj78a1bAOg9WwPMX8JLlJKvTNM9ltlUFwOx\n\trO6gaQJ0BkWp/5b7frxYfrLO42UUNSPY4dS8QTPEoPxY1oQxcNYunQzDNFFUDDjnYAWip5mWy\n\t9IDtMjzFf0Bz+Kejy0mo0Uw5haoRb5medBeCo8+wDZNCXUoUhnPZZDDt/ZweU6ysIqTI/SFLI\n\tKpF5cIMeR/sLnfjIUDkPU8ffagsJCEM5ctbP9qWLwYNUsJnTMAUz3A0CyUtSlCb49BQoKl3B6\n\tOhtwIJEn/RBxNffzjBDS8Pmj93HSbye6iEqHULFK+xQ8RMkUYCIQYju8AUPm9igstAuqowusT\n\tJxvCOvsUp871rc9TtuolOmxL/90giTOxZ4ejA6Yuox2kRBt8mF/WH1dTJWKPtCYhqTXTvPA7X\n\tUJbSrgrPv7f5TYL9Q2FrmDhWqFCQNimgHFABRIre3/tvNTdI4xXUpEFBNEB7w2Bfe8wTocG9g\n\taTcSjwtPMNbtYmmiZUD8TRu8yWEq+h7nW1eHvQJB7dj2N+AmhXO44mdBrJLcJzR8kpdo4iJOf\n\tMw/ZNjrXduaVnjP+oHqh2sFm+jOxt+fVukjolA==","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"I ran into this link error with the latest net-next plus linux-next\ntrees when networking is disabled:\n\nkernel/bpf/verifier.o:(.rodata+0x2958): undefined reference to `tc_cls_act_analyzer_ops'\nkernel/bpf/verifier.o:(.rodata+0x2970): undefined reference to `xdp_analyzer_ops'\n\nIt seems that the code was written to deal with varying contents of\nthe arrray, but the actual #ifdef was missing. Both tc_cls_act_analyzer_ops\nand xdp_analyzer_ops are defined in the core networking code, so adding\na check for CONFIG_NET seems appropriate here, and I've verified this with\nmany randconfig builds\n\nFixes: 4f9218aaf8a4 (\"bpf: move knowledge about post-translation offsets out of verifier\")\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\n---\nSince there hasn't been a linux-next release in two weeks, I'm not\nentirely sure this is still needed, but from looking of the net-next\ncontents it seems it is. I did not check any other trees that might\nhave a fix already.\n---\n kernel/bpf/verifier.c | 2 ++\n 1 file changed, 2 insertions(+)","diff":"diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c\nindex 2bb6d6aa7085..750aff880ecb 100644\n--- a/kernel/bpf/verifier.c\n+++ b/kernel/bpf/verifier.c\n@@ -4561,8 +4561,10 @@ int bpf_check(struct bpf_prog **prog, union bpf_attr *attr)\n }\n \n static const struct bpf_verifier_ops * const bpf_analyzer_ops[] = {\n+#ifdef CONFIG_NET\n \t[BPF_PROG_TYPE_XDP]\t\t= &xdp_analyzer_ops,\n \t[BPF_PROG_TYPE_SCHED_CLS]\t= &tc_cls_act_analyzer_ops,\n+#endif\n };\n \n int bpf_analyzer(struct bpf_prog *prog, const struct bpf_ext_analyzer_ops *ops,\n","prefixes":["1/2","net-next"]}