From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FE8FC35666 for ; Sat, 22 Feb 2020 16:45:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E30A7206EF for ; Sat, 22 Feb 2020 16:45:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726880AbgBVQpX (ORCPT ); Sat, 22 Feb 2020 11:45:23 -0500 Received: from mga03.intel.com ([134.134.136.65]:52936 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726741AbgBVQpX (ORCPT ); Sat, 22 Feb 2020 11:45:23 -0500 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Feb 2020 08:45:16 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,472,1574150400"; d="gz'50?scan'50,208,50";a="255141558" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by orsmga002.jf.intel.com with ESMTP; 22 Feb 2020 08:45:14 -0800 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1j5Xtx-0001Bn-Hv; Sun, 23 Feb 2020 00:45:13 +0800 Date: Sun, 23 Feb 2020 00:44:05 +0800 From: kbuild test robot To: Thomas Gleixner Cc: kbuild-all@lists.01.org, LKML Subject: Re: [patch V2 01/20] bpf: Enforce preallocation for all instrumentation programs Message-ID: <202002230016.8x74gA21%lkp@intel.com> References: <20200220204617.440152945@linutronix.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="sdtB3X0nJg68CQEu" Content-Disposition: inline In-Reply-To: <20200220204617.440152945@linutronix.de> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --sdtB3X0nJg68CQEu Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Thomas, I love your patch! Yet something to improve: [auto build test ERROR on bpf-next/master] [also build test ERROR on bpf/master tip/auto-latest linux/master net-next/master net/master linus/master v5.6-rc2 next-20200221] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Gleixner/bpf-Make-BPF-and-PREEMPT_RT-co-exist/20200222-080913 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master config: i386-randconfig-h003-20200222 (attached as .config) compiler: gcc-7 (Debian 7.5.0-5) 7.5.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): kernel/bpf/verifier.c: In function 'check_map_prog_compatibility': >> kernel/bpf/verifier.c:10194:0: error: unterminated argument list invoking macro "if" } >> kernel/bpf/verifier.c:8160:2: error: expected '(' at end of input if ((is_tracing_prog_type(prog->type)) { ^~ >> kernel/bpf/verifier.c:8160:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation] kernel/bpf/verifier.c:10194:0: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' } >> kernel/bpf/verifier.c:8160:2: error: expected declaration or statement at end of input if ((is_tracing_prog_type(prog->type)) { ^~ kernel/bpf/verifier.c:8160:2: warning: no return statement in function returning non-void [-Wreturn-type] At top level: kernel/bpf/verifier.c:8146:12: warning: 'check_map_prog_compatibility' defined but not used [-Wunused-function] static int check_map_prog_compatibility(struct bpf_verifier_env *env, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/verifier.c:8133:13: warning: 'is_tracing_prog_type' defined but not used [-Wunused-function] static bool is_tracing_prog_type(enum bpf_prog_type type) ^~~~~~~~~~~~~~~~~~~~ kernel/bpf/verifier.c:8125:12: warning: 'check_map_prealloc' defined but not used [-Wunused-function] static int check_map_prealloc(struct bpf_map *map) ^~~~~~~~~~~~~~~~~~ kernel/bpf/verifier.c:7803:12: warning: 'do_check' defined but not used [-Wunused-function] static int do_check(struct bpf_verifier_env *env) ^~~~~~~~ kernel/bpf/verifier.c:6979:12: warning: 'check_btf_info' defined but not used [-Wunused-function] static int check_btf_info(struct bpf_verifier_env *env, ^~~~~~~~~~~~~~ kernel/bpf/verifier.c:6841:13: warning: 'adjust_btf_func' defined but not used [-Wunused-function] static void adjust_btf_func(struct bpf_verifier_env *env) ^~~~~~~~~~~~~~~ kernel/bpf/verifier.c:6602:12: warning: 'check_cfg' defined but not used [-Wunused-function] static int check_cfg(struct bpf_verifier_env *env) ^~~~~~~~~ kernel/bpf/verifier.c:2723:12: warning: 'get_callee_stack_depth' defined but not used [-Wunused-function] static int get_callee_stack_depth(struct bpf_verifier_env *env, ^~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/verifier.c:2665:12: warning: 'check_max_stack_depth' defined but not used [-Wunused-function] static int check_max_stack_depth(struct bpf_verifier_env *env) ^~~~~~~~~~~~~~~~~~~~~ kernel/bpf/verifier.c:1400:13: warning: 'insn_has_def32' defined but not used [-Wunused-function] static bool insn_has_def32(struct bpf_verifier_env *env, struct bpf_insn *insn) ^~~~~~~~~~~~~~ kernel/bpf/verifier.c:1184:12: warning: 'check_subprogs' defined but not used [-Wunused-function] static int check_subprogs(struct bpf_verifier_env *env) ^~~~~~~~~~~~~~ kernel/bpf/verifier.c:182:13: warning: 'bpf_map_ptr_poisoned' defined but not used [-Wunused-function] static bool bpf_map_ptr_poisoned(const struct bpf_insn_aux_data *aux) ^~~~~~~~~~~~~~~~~~~~ vim +/if +10194 kernel/bpf/verifier.c 38207291604401 Martin KaFai Lau 2019-10-24 9991 838e96904ff3fc Yonghong Song 2018-11-19 9992 int bpf_check(struct bpf_prog **prog, union bpf_attr *attr, 838e96904ff3fc Yonghong Song 2018-11-19 9993 union bpf_attr __user *uattr) 51580e798cb61b Alexei Starovoitov 2014-09-26 9994 { 06ee7115b0d174 Alexei Starovoitov 2019-04-01 9995 u64 start_time = ktime_get_ns(); 58e2af8b3a6b58 Jakub Kicinski 2016-09-21 9996 struct bpf_verifier_env *env; b9193c1b61ddb9 Martin KaFai Lau 2018-03-24 9997 struct bpf_verifier_log *log; 9e4c24e7ee7dfd Jakub Kicinski 2019-01-22 9998 int i, len, ret = -EINVAL; e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 9999 bool is_priv; 51580e798cb61b Alexei Starovoitov 2014-09-26 10000 eba0c929d1d0f1 Arnd Bergmann 2017-11-02 10001 /* no program is valid */ eba0c929d1d0f1 Arnd Bergmann 2017-11-02 10002 if (ARRAY_SIZE(bpf_verifier_ops) == 0) eba0c929d1d0f1 Arnd Bergmann 2017-11-02 10003 return -EINVAL; eba0c929d1d0f1 Arnd Bergmann 2017-11-02 10004 58e2af8b3a6b58 Jakub Kicinski 2016-09-21 10005 /* 'struct bpf_verifier_env' can be global, but since it's not small, cbd35700860492 Alexei Starovoitov 2014-09-26 10006 * allocate/free it every time bpf_check() is called cbd35700860492 Alexei Starovoitov 2014-09-26 10007 */ 58e2af8b3a6b58 Jakub Kicinski 2016-09-21 10008 env = kzalloc(sizeof(struct bpf_verifier_env), GFP_KERNEL); cbd35700860492 Alexei Starovoitov 2014-09-26 10009 if (!env) cbd35700860492 Alexei Starovoitov 2014-09-26 10010 return -ENOMEM; 61bd5218eef349 Jakub Kicinski 2017-10-09 10011 log = &env->log; cbd35700860492 Alexei Starovoitov 2014-09-26 10012 9e4c24e7ee7dfd Jakub Kicinski 2019-01-22 10013 len = (*prog)->len; fad953ce0b22cf Kees Cook 2018-06-12 10014 env->insn_aux_data = 9e4c24e7ee7dfd Jakub Kicinski 2019-01-22 10015 vzalloc(array_size(sizeof(struct bpf_insn_aux_data), len)); 3df126f35f88dc Jakub Kicinski 2016-09-21 10016 ret = -ENOMEM; 3df126f35f88dc Jakub Kicinski 2016-09-21 10017 if (!env->insn_aux_data) 3df126f35f88dc Jakub Kicinski 2016-09-21 10018 goto err_free_env; 9e4c24e7ee7dfd Jakub Kicinski 2019-01-22 10019 for (i = 0; i < len; i++) 9e4c24e7ee7dfd Jakub Kicinski 2019-01-22 10020 env->insn_aux_data[i].orig_idx = i; 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10021 env->prog = *prog; 00176a34d9e27a Jakub Kicinski 2017-10-16 10022 env->ops = bpf_verifier_ops[env->prog->type]; 45a73c17bfb92c Alexei Starovoitov 2019-04-19 10023 is_priv = capable(CAP_SYS_ADMIN); 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10024 8580ac9404f624 Alexei Starovoitov 2019-10-15 10025 if (!btf_vmlinux && IS_ENABLED(CONFIG_DEBUG_INFO_BTF)) { 8580ac9404f624 Alexei Starovoitov 2019-10-15 10026 mutex_lock(&bpf_verifier_lock); 8580ac9404f624 Alexei Starovoitov 2019-10-15 10027 if (!btf_vmlinux) 8580ac9404f624 Alexei Starovoitov 2019-10-15 10028 btf_vmlinux = btf_parse_vmlinux(); 8580ac9404f624 Alexei Starovoitov 2019-10-15 10029 mutex_unlock(&bpf_verifier_lock); 8580ac9404f624 Alexei Starovoitov 2019-10-15 10030 } 8580ac9404f624 Alexei Starovoitov 2019-10-15 10031 cbd35700860492 Alexei Starovoitov 2014-09-26 10032 /* grab the mutex to protect few globals used by verifier */ 45a73c17bfb92c Alexei Starovoitov 2019-04-19 10033 if (!is_priv) cbd35700860492 Alexei Starovoitov 2014-09-26 10034 mutex_lock(&bpf_verifier_lock); cbd35700860492 Alexei Starovoitov 2014-09-26 10035 cbd35700860492 Alexei Starovoitov 2014-09-26 10036 if (attr->log_level || attr->log_buf || attr->log_size) { cbd35700860492 Alexei Starovoitov 2014-09-26 10037 /* user requested verbose verifier output cbd35700860492 Alexei Starovoitov 2014-09-26 10038 * and supplied buffer to store the verification trace cbd35700860492 Alexei Starovoitov 2014-09-26 10039 */ e7bf8249e8f1ba Jakub Kicinski 2017-10-09 10040 log->level = attr->log_level; e7bf8249e8f1ba Jakub Kicinski 2017-10-09 10041 log->ubuf = (char __user *) (unsigned long) attr->log_buf; e7bf8249e8f1ba Jakub Kicinski 2017-10-09 10042 log->len_total = attr->log_size; cbd35700860492 Alexei Starovoitov 2014-09-26 10043 cbd35700860492 Alexei Starovoitov 2014-09-26 10044 ret = -EINVAL; e7bf8249e8f1ba Jakub Kicinski 2017-10-09 10045 /* log attributes have to be sane */ 7a9f5c65abcc96 Alexei Starovoitov 2019-04-01 10046 if (log->len_total < 128 || log->len_total > UINT_MAX >> 2 || 06ee7115b0d174 Alexei Starovoitov 2019-04-01 10047 !log->level || !log->ubuf || log->level & ~BPF_LOG_MASK) 3df126f35f88dc Jakub Kicinski 2016-09-21 10048 goto err_unlock; cbd35700860492 Alexei Starovoitov 2014-09-26 10049 } 1ad2f5838d345e Daniel Borkmann 2017-05-25 10050 8580ac9404f624 Alexei Starovoitov 2019-10-15 10051 if (IS_ERR(btf_vmlinux)) { 8580ac9404f624 Alexei Starovoitov 2019-10-15 10052 /* Either gcc or pahole or kernel are broken. */ 8580ac9404f624 Alexei Starovoitov 2019-10-15 10053 verbose(env, "in-kernel BTF is malformed\n"); 8580ac9404f624 Alexei Starovoitov 2019-10-15 10054 ret = PTR_ERR(btf_vmlinux); 38207291604401 Martin KaFai Lau 2019-10-24 10055 goto skip_full_check; 8580ac9404f624 Alexei Starovoitov 2019-10-15 10056 } 8580ac9404f624 Alexei Starovoitov 2019-10-15 10057 1ad2f5838d345e Daniel Borkmann 2017-05-25 10058 env->strict_alignment = !!(attr->prog_flags & BPF_F_STRICT_ALIGNMENT); 1ad2f5838d345e Daniel Borkmann 2017-05-25 10059 if (!IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)) e07b98d9bffe41 David S. Miller 2017-05-10 10060 env->strict_alignment = true; e9ee9efc0d1765 David Miller 2018-11-30 10061 if (attr->prog_flags & BPF_F_ANY_ALIGNMENT) e9ee9efc0d1765 David Miller 2018-11-30 10062 env->strict_alignment = false; cbd35700860492 Alexei Starovoitov 2014-09-26 10063 e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 10064 env->allow_ptr_leaks = is_priv; e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 10065 10d274e880eb20 Alexei Starovoitov 2019-08-22 10066 if (is_priv) 10d274e880eb20 Alexei Starovoitov 2019-08-22 10067 env->test_state_freq = attr->prog_flags & BPF_F_TEST_STATE_FREQ; 10d274e880eb20 Alexei Starovoitov 2019-08-22 10068 f4e3ec0d573e23 Jakub Kicinski 2018-05-03 10069 ret = replace_map_fd_with_map_ptr(env); f4e3ec0d573e23 Jakub Kicinski 2018-05-03 10070 if (ret < 0) f4e3ec0d573e23 Jakub Kicinski 2018-05-03 10071 goto skip_full_check; f4e3ec0d573e23 Jakub Kicinski 2018-05-03 10072 cae1927c0b4a93 Jakub Kicinski 2017-12-27 10073 if (bpf_prog_is_dev_bound(env->prog->aux)) { a40a26322a83d4 Quentin Monnet 2018-11-09 10074 ret = bpf_prog_offload_verifier_prep(env->prog); ab3f0063c48c26 Jakub Kicinski 2017-11-03 10075 if (ret) 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10076 goto skip_full_check; f4e3ec0d573e23 Jakub Kicinski 2018-05-03 10077 } 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10078 dc2a4ebc0b44a2 Alexei Starovoitov 2019-05-21 10079 env->explored_states = kvcalloc(state_htab_size(env), 58e2af8b3a6b58 Jakub Kicinski 2016-09-21 10080 sizeof(struct bpf_verifier_state_list *), f1bca824dabba4 Alexei Starovoitov 2014-09-29 10081 GFP_USER); f1bca824dabba4 Alexei Starovoitov 2014-09-29 10082 ret = -ENOMEM; f1bca824dabba4 Alexei Starovoitov 2014-09-29 10083 if (!env->explored_states) f1bca824dabba4 Alexei Starovoitov 2014-09-29 10084 goto skip_full_check; f1bca824dabba4 Alexei Starovoitov 2014-09-29 10085 d9762e84ede3ea Martin KaFai Lau 2018-12-13 10086 ret = check_subprogs(env); 475fb78fbf4859 Alexei Starovoitov 2014-09-26 10087 if (ret < 0) 475fb78fbf4859 Alexei Starovoitov 2014-09-26 10088 goto skip_full_check; 475fb78fbf4859 Alexei Starovoitov 2014-09-26 10089 c454a46b5efd8e Martin KaFai Lau 2018-12-07 10090 ret = check_btf_info(env, attr, uattr); 838e96904ff3fc Yonghong Song 2018-11-19 10091 if (ret < 0) 838e96904ff3fc Yonghong Song 2018-11-19 10092 goto skip_full_check; 838e96904ff3fc Yonghong Song 2018-11-19 10093 be8704ff07d237 Alexei Starovoitov 2020-01-20 10094 ret = check_attach_btf_id(env); be8704ff07d237 Alexei Starovoitov 2020-01-20 10095 if (ret) be8704ff07d237 Alexei Starovoitov 2020-01-20 10096 goto skip_full_check; be8704ff07d237 Alexei Starovoitov 2020-01-20 10097 d9762e84ede3ea Martin KaFai Lau 2018-12-13 10098 ret = check_cfg(env); d9762e84ede3ea Martin KaFai Lau 2018-12-13 10099 if (ret < 0) d9762e84ede3ea Martin KaFai Lau 2018-12-13 10100 goto skip_full_check; d9762e84ede3ea Martin KaFai Lau 2018-12-13 10101 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 10102 ret = do_check_subprogs(env); 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 10103 ret = ret ?: do_check_main(env); cbd35700860492 Alexei Starovoitov 2014-09-26 10104 c941ce9c282cc6 Quentin Monnet 2018-10-07 10105 if (ret == 0 && bpf_prog_is_dev_bound(env->prog->aux)) c941ce9c282cc6 Quentin Monnet 2018-10-07 10106 ret = bpf_prog_offload_finalize(env); c941ce9c282cc6 Quentin Monnet 2018-10-07 10107 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10108 skip_full_check: 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 10109 kvfree(env->explored_states); 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10110 c131187db2d3fa Alexei Starovoitov 2017-11-22 10111 if (ret == 0) 9b38c4056b2736 Jakub Kicinski 2018-12-19 10112 ret = check_max_stack_depth(env); c131187db2d3fa Alexei Starovoitov 2017-11-22 10113 9b38c4056b2736 Jakub Kicinski 2018-12-19 10114 /* instruction rewrites happen after this point */ e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 10115 if (is_priv) { e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 10116 if (ret == 0) e2ae4ca266a1c9 Jakub Kicinski 2019-01-22 10117 opt_hard_wire_dead_code_branches(env); 52875a04f4b26e Jakub Kicinski 2019-01-22 10118 if (ret == 0) 52875a04f4b26e Jakub Kicinski 2019-01-22 10119 ret = opt_remove_dead_code(env); a1b14abc009d9c Jakub Kicinski 2019-01-22 10120 if (ret == 0) a1b14abc009d9c Jakub Kicinski 2019-01-22 10121 ret = opt_remove_nops(env); 52875a04f4b26e Jakub Kicinski 2019-01-22 10122 } else { 70a87ffea8acc3 Alexei Starovoitov 2017-12-25 10123 if (ret == 0) 9b38c4056b2736 Jakub Kicinski 2018-12-19 10124 sanitize_dead_code(env); 52875a04f4b26e Jakub Kicinski 2019-01-22 10125 } 70a87ffea8acc3 Alexei Starovoitov 2017-12-25 10126 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10127 if (ret == 0) 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10128 /* program is valid, convert *(u32*)(ctx + off) accesses */ 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10129 ret = convert_ctx_accesses(env); 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10130 e245c5c6a5656e Alexei Starovoitov 2017-03-15 10131 if (ret == 0) 79741b3bdec01a Alexei Starovoitov 2017-03-15 10132 ret = fixup_bpf_calls(env); e245c5c6a5656e Alexei Starovoitov 2017-03-15 10133 a4b1d3c1ddf6cb Jiong Wang 2019-05-24 10134 /* do 32-bit optimization after insn patching has done so those patched a4b1d3c1ddf6cb Jiong Wang 2019-05-24 10135 * insns could be handled correctly. a4b1d3c1ddf6cb Jiong Wang 2019-05-24 10136 */ d6c2308c742a65 Jiong Wang 2019-05-24 10137 if (ret == 0 && !bpf_prog_is_dev_bound(env->prog->aux)) { d6c2308c742a65 Jiong Wang 2019-05-24 10138 ret = opt_subreg_zext_lo32_rnd_hi32(env, attr); d6c2308c742a65 Jiong Wang 2019-05-24 10139 env->prog->aux->verifier_zext = bpf_jit_needs_zext() ? !ret d6c2308c742a65 Jiong Wang 2019-05-24 10140 : false; a4b1d3c1ddf6cb Jiong Wang 2019-05-24 10141 } a4b1d3c1ddf6cb Jiong Wang 2019-05-24 10142 1ea47e01ad6ea0 Alexei Starovoitov 2017-12-14 10143 if (ret == 0) 1ea47e01ad6ea0 Alexei Starovoitov 2017-12-14 10144 ret = fixup_call_args(env); 1ea47e01ad6ea0 Alexei Starovoitov 2017-12-14 10145 06ee7115b0d174 Alexei Starovoitov 2019-04-01 10146 env->verification_time = ktime_get_ns() - start_time; 06ee7115b0d174 Alexei Starovoitov 2019-04-01 10147 print_verification_stats(env); 06ee7115b0d174 Alexei Starovoitov 2019-04-01 10148 a2a7d570105254 Jakub Kicinski 2017-10-09 10149 if (log->level && bpf_verifier_log_full(log)) cbd35700860492 Alexei Starovoitov 2014-09-26 10150 ret = -ENOSPC; a2a7d570105254 Jakub Kicinski 2017-10-09 10151 if (log->level && !log->ubuf) { cbd35700860492 Alexei Starovoitov 2014-09-26 10152 ret = -EFAULT; a2a7d570105254 Jakub Kicinski 2017-10-09 10153 goto err_release_maps; cbd35700860492 Alexei Starovoitov 2014-09-26 10154 } cbd35700860492 Alexei Starovoitov 2014-09-26 10155 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10156 if (ret == 0 && env->used_map_cnt) { 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10157 /* if program passed verifier, update used_maps in bpf_prog_info */ 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10158 env->prog->aux->used_maps = kmalloc_array(env->used_map_cnt, 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10159 sizeof(env->used_maps[0]), 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10160 GFP_KERNEL); 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10161 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10162 if (!env->prog->aux->used_maps) { 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10163 ret = -ENOMEM; a2a7d570105254 Jakub Kicinski 2017-10-09 10164 goto err_release_maps; 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10165 } 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10166 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10167 memcpy(env->prog->aux->used_maps, env->used_maps, 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10168 sizeof(env->used_maps[0]) * env->used_map_cnt); 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10169 env->prog->aux->used_map_cnt = env->used_map_cnt; 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10170 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10171 /* program is valid. Convert pseudo bpf_ld_imm64 into generic 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10172 * bpf_ld_imm64 instructions 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10173 */ 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10174 convert_pseudo_ld_imm64(env); 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10175 } cbd35700860492 Alexei Starovoitov 2014-09-26 10176 ba64e7d8525236 Yonghong Song 2018-11-24 10177 if (ret == 0) ba64e7d8525236 Yonghong Song 2018-11-24 10178 adjust_btf_func(env); ba64e7d8525236 Yonghong Song 2018-11-24 10179 a2a7d570105254 Jakub Kicinski 2017-10-09 10180 err_release_maps: 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10181 if (!env->prog->aux->used_maps) 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10182 /* if we didn't copy map pointers into bpf_prog_info, release ab7f5bf0928be2 Jakub Kicinski 2018-05-03 10183 * them now. Otherwise free_used_maps() will release them. 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10184 */ 0246e64d9a5fcd Alexei Starovoitov 2014-09-26 10185 release_maps(env); 9bac3d6d548e5c Alexei Starovoitov 2015-03-13 10186 *prog = env->prog; 3df126f35f88dc Jakub Kicinski 2016-09-21 10187 err_unlock: 45a73c17bfb92c Alexei Starovoitov 2019-04-19 10188 if (!is_priv) cbd35700860492 Alexei Starovoitov 2014-09-26 10189 mutex_unlock(&bpf_verifier_lock); 3df126f35f88dc Jakub Kicinski 2016-09-21 10190 vfree(env->insn_aux_data); 3df126f35f88dc Jakub Kicinski 2016-09-21 10191 err_free_env: 3df126f35f88dc Jakub Kicinski 2016-09-21 10192 kfree(env); 51580e798cb61b Alexei Starovoitov 2014-09-26 10193 return ret; 51580e798cb61b Alexei Starovoitov 2014-09-26 @10194 } :::::: The code at line 10194 was first introduced by commit :::::: 51580e798cb61b0fc63fa3aa6c5c975375aa0550 bpf: verifier (add docs) :::::: TO: Alexei Starovoitov :::::: CC: David S. Miller --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --sdtB3X0nJg68CQEu Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --sdtB3X0nJg68CQEu--