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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B09FC5AD49 for ; Thu, 29 May 2025 11:49:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A34176B014F; Thu, 29 May 2025 07:49:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9E5086B0150; Thu, 29 May 2025 07:49:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D3156B0151; Thu, 29 May 2025 07:49:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 6C2276B014F for ; Thu, 29 May 2025 07:49:16 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 1468056FBE for ; Thu, 29 May 2025 11:49:16 +0000 (UTC) X-FDA: 83495774712.09.C7E90DC Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.19]) by imf06.hostedemail.com (Postfix) with ESMTP id C8195180008 for ; Thu, 29 May 2025 11:49:12 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=HQJM544d; spf=pass (imf06.hostedemail.com: domain of lkp@intel.com designates 198.175.65.19 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748519354; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kCrAtG8Cc8Fj6pxkxSj8yUWGpvKhU5ppzUUQdwV/7aw=; b=ccq5j+agLqUegl8KD1qekiAFJYs6UVN69M2sLaeyWKyuaWNxUQ+vpLZvqRwI1rj8cuxnTF FmAiMe1w9Y/qk3R5oodz/W3NSJBumkofhgYnkBqO0DpkBGGioDNHFBr9/LfLu2FjSRvbEI 6dGZmsaDOWDU6x6okanq4jevpsZiCJk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748519354; a=rsa-sha256; cv=none; b=V5c0eT4p2wijz1Ndv7IhjhgcbTrzRu33GtdoI074zpPvzmAlDd9oyV06eYs8sxWSOYMluA FKMz16po8hhDRvmK+yOpSm546cPfVDwl/AmzG0ezwjknWjCAeHT32gm1Q1zUjxZRPxHPR+ dEROq67T+VTgOJOk8utsVdHkfjWNO8k= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=HQJM544d; spf=pass (imf06.hostedemail.com: domain of lkp@intel.com designates 198.175.65.19 as permitted sender) smtp.mailfrom=lkp@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1748519354; x=1780055354; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=H/g6G0UUP2aDkMTBwJX39GplxH+iRsfNl0krSoShu58=; b=HQJM544dXPfxHaQI6O/NMxjpaB+oZeeeT5YXyLgn5PEHaXgLZBI4knkL W+cV50VomusV2sNYmjHQV1JlG9C7arpjclMkmP6rF+UQ7kqvdawcgkz/k sQ74Rq72i6wWKcSg1NU0s5HDlwkOOq9nlWAmwcgkQX+Sws9pyFVCZuknQ LfrVy54BWnlzjTNvG85GO2ol8/9O65WQYHERq3d920eWCRoJD80qqAWVu sivdeAQgL7YIlhKhin+0l5sKGqtjLn1uFRiblms8TQvg4HUTBffGDl/9h AV279YAxtjDYVPFD/dh8co1D+WSdK37/c0pSUIZ695v+ENFxPcBbyTasg A==; X-CSE-ConnectionGUID: +ND9PCyTTca3sQhavNuTyw== X-CSE-MsgGUID: pDDDSdM0TXSd0AHQBmXa3A== X-IronPort-AV: E=McAfee;i="6700,10204,11448"; a="50460234" X-IronPort-AV: E=Sophos;i="6.16,192,1744095600"; d="scan'208";a="50460234" Received: from fmviesa008.fm.intel.com ([10.60.135.148]) by orvoesa111.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 May 2025 04:49:12 -0700 X-CSE-ConnectionGUID: r0azC2JsRlSw+C0pHSivfg== X-CSE-MsgGUID: go+CU1wGQLCTdOmejBtmWw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.16,192,1744095600"; d="scan'208";a="143880900" Received: from lkp-server01.sh.intel.com (HELO 1992f890471c) ([10.239.97.150]) by fmviesa008.fm.intel.com with ESMTP; 29 May 2025 04:49:04 -0700 Received: from kbuild by 1992f890471c with local (Exim 4.96) (envelope-from ) id 1uKbks-000We8-1x; Thu, 29 May 2025 11:49:02 +0000 Date: Thu, 29 May 2025 19:48:17 +0800 From: kernel test robot To: Pingfan Liu , bpf@vger.kernel.org Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev, Pingfan Liu , Alexei Starovoitov , Daniel Borkmann , John Fastabend , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , Jeremy Linton , Catalin Marinas , Will Deacon , Ard Biesheuvel , Simon Horman , Gerd Hoffmann , Vitaly Kuznetsov , Philipp Rudo , Viktor Malik , Jan Hendrik Farr , Baoquan He , Dave Young , Andrew Morton , Linux Memory Management List , kexec@lists.infradead.org, KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa Subject: Re: [PATCHv3 3/9] bpf: Introduce bpf_copy_to_kernel() to buffer the content from bpf-prog Message-ID: <202505291926.IPUSqCEj-lkp@intel.com> References: <20250529041744.16458-4-piliu@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250529041744.16458-4-piliu@redhat.com> X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: C8195180008 X-Stat-Signature: aunhon9zc1myntikh3uugixkzo8rsqsx X-Rspam-User: X-HE-Tag: 1748519352-165798 X-HE-Meta: U2FsdGVkX18a7FaxQHBgrz0h2gkk80qDyuBVxYmT0PRnRlb0quYa+1YuwFV5nKjknvc7OpaSl2THfRHCCIT38L8qWMnsKnYh+ijiV2twu30SlBCXK8GN2SCjUeUx/dXiEUOPsQZQqaDGsYhUQg5sM/PAuil3Zmj8p6+NYLfvAOEHuv9I2vxAT3LONUvHMicLIW45HlltYfmqE6GvE34gWibrdurJ6akI9zb42sPt1OYERFcxBKPaQvdJtER2skCLLQzPx2dpBPGecW6O851SfVv952HjiI3vmUpUn4Y5hHXY/wqcb1cPB8pn2r4BFNr38FpQ0tTaZ/VYCDGfXCknUkWU3IOSpH/vYqAzxwFwHnf5N70r6390CRqFTaYk9en/cycAVw+725hDTAOOY+F/AGSdW/H0hk7Wd2TofvVH+BN3PFgjGTRZuOeVRowhhkCTkUYEMT+0QdIU7SNgd+q6VUq2Ff5YJrwHrYGZg+eB5G0mIxQ0+cZe5/5JHP4YualjY97gdRRh8Vg3aYBECV4ImIbrVlAJYCSid/BCbz7BcIiyR4DFQehitMKEpbhvw4tvJ5c0MxW5dzoCIlJd0ra/RTIt71MEuepMhEbEccXawQXhGk5pYlqp2NFaDZrDoIkHuDf3yn6GsoDvrTtk1Rz0EvWPjGYf8Jh24kgZAIJJ/2GycfcJuT+bMpI6h2yeaU7PNqk4n/2jbPua1RZxaOr+TohXoEeFDkiGoQ1OjWQt58IiISQR/L/Y1gAMZorNaDcy5G6E/ajPA2aXWnKVkWUT2QFAKOVPIUq3o58dPrDZ9e0HtMJGIxEgX9FbyUOF5wXIYROa1H/tegzpt9ekTydxyuK06OYIfDQbtY6NwjEalCN+UkVfxvzHEIZqqerAwdV+UFTdPkeheMZD4iTbX/A24okyalWwDNfCXDbkFFthCw6LNNyfmqY8vI8IUP2m/XbKxJ1d5EH63ZCihTaD/KT U9aWCkeV Lgz+D0YvSr6q47VGJFyAH1cKG2VskT4HI9/t+9UHnx+KvIGxrmKJBJ2tkHWM+oXnTeECgeh8ysG72DMu2GDeDA3UjondDzCU3Sf/+9fehY+/ULTYkaZsTeadhIFJbIevhi7YlCvJ3BcqK7u5DFfCjkBz7PZB2eSpApENMq4XbRMege+Orad7GMPG64NkNHVuWN798b1OEwKPDaRtzSAdOn7G68KtpQXmrskGXSkkD+nh3Tef+opwNwJPtxU7+IArV9/UUQUPpR9qpELbEARQXXaOMCQvr1wf7TV5RFODKoXNDW1bJYto7lsPlBFO0PGOIOFz7ycSTE2ndhB1IuFy6YqcpmDyLuQU4Iakemgu0PTZO9T37ZBH1M9uVArjoqB8EwZtpZPltkHIvHJCvtt6qC4yKSZUBvzPclGEsdqKkpKS2w94M2zR/oOVUW38+jDJzqUoxmuSwMlpe7MqhwgMv3jsfIznFeba+cxOAjwFjg0WPbcPNOhujPAA1qg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Pingfan, kernel test robot noticed the following build warnings: [auto build test WARNING on bpf-next/net] [also build test WARNING on bpf-next/master bpf/master arm64/for-next/core linus/master v6.15 next-20250529] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Pingfan-Liu/kexec_file-Make-kexec_image_load_default-global-visible/20250529-122124 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git net patch link: https://lore.kernel.org/r/20250529041744.16458-4-piliu%40redhat.com patch subject: [PATCHv3 3/9] bpf: Introduce bpf_copy_to_kernel() to buffer the content from bpf-prog config: riscv-randconfig-001-20250529 (https://download.01.org/0day-ci/archive/20250529/202505291926.IPUSqCEj-lkp@intel.com/config) compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250529/202505291926.IPUSqCEj-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202505291926.IPUSqCEj-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/bpf/helpers_carrier.c:74:17: warning: no previous prototype for function 'bpf_mem_range_result_put' [-Wmissing-prototypes] 74 | __bpf_kfunc int bpf_mem_range_result_put(struct mem_range_result *result) | ^ kernel/bpf/helpers_carrier.c:74:13: note: declare 'static' if the function is not intended to be used outside of this translation unit 74 | __bpf_kfunc int bpf_mem_range_result_put(struct mem_range_result *result) | ^ | static kernel/bpf/helpers_carrier.c:88:7: warning: variable 'kmalloc' set but not used [-Wunused-but-set-variable] 88 | bool kmalloc; | ^ >> kernel/bpf/helpers_carrier.c:82:17: warning: no previous prototype for function 'bpf_copy_to_kernel' [-Wmissing-prototypes] 82 | __bpf_kfunc int bpf_copy_to_kernel(const char *name, char *buf, int size) | ^ kernel/bpf/helpers_carrier.c:82:13: note: declare 'static' if the function is not intended to be used outside of this translation unit 82 | __bpf_kfunc int bpf_copy_to_kernel(const char *name, char *buf, int size) | ^ | static >> kernel/bpf/helpers_carrier.c:165:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] 165 | if (!find_listener(item->str)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/helpers_carrier.c:174:9: note: uninitialized use occurs here 174 | return ret; | ^~~ kernel/bpf/helpers_carrier.c:165:2: note: remove the 'if' if its condition is always false 165 | if (!find_listener(item->str)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 166 | hash_add(str_listeners, &item->node, hash); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | } else { | ~~~~~~ kernel/bpf/helpers_carrier.c:149:9: note: initialize the variable 'ret' to silence this warning 149 | int ret; | ^ | = 0 4 warnings generated. vim +/bpf_mem_range_result_put +74 kernel/bpf/helpers_carrier.c 73 > 74 __bpf_kfunc int bpf_mem_range_result_put(struct mem_range_result *result) 75 { 76 return mem_range_result_put(result); 77 } 78 79 /* 80 * Cache the content in @buf into kernel 81 */ > 82 __bpf_kfunc int bpf_copy_to_kernel(const char *name, char *buf, int size) 83 { 84 struct mem_range_result *range; 85 struct mem_cgroup *memcg, *old_memcg; 86 struct str_listener *item; 87 resource_handler handler; 88 bool kmalloc; 89 char *kbuf; 90 int id, ret = 0; 91 92 id = srcu_read_lock(&srcu); 93 item = find_listener(name); 94 if (!item) { 95 srcu_read_unlock(&srcu, id); 96 return -EINVAL; 97 } 98 kmalloc = item->kmalloc; 99 handler = item->handler; 100 srcu_read_unlock(&srcu, id); 101 memcg = get_mem_cgroup_from_current(); 102 old_memcg = set_active_memcg(memcg); 103 range = kmalloc(sizeof(struct mem_range_result), GFP_KERNEL); 104 if (!range) { 105 pr_err("fail to allocate mem_range_result\n"); 106 ret = -ENOMEM; 107 goto err; 108 } 109 110 kref_init(&range->ref); 111 if (item->kmalloc) 112 kbuf = kmalloc(size, GFP_KERNEL | __GFP_ACCOUNT); 113 else 114 kbuf = __vmalloc(size, GFP_KERNEL | __GFP_ACCOUNT); 115 if (!kbuf) { 116 kfree(range); 117 ret = -ENOMEM; 118 goto err; 119 } 120 ret = copy_from_kernel_nofault(kbuf, buf, size); 121 if (unlikely(ret < 0)) { 122 kfree(range); 123 if (item->kmalloc) 124 kfree(kbuf); 125 else 126 vfree(kbuf); 127 ret = -EINVAL; 128 goto err; 129 } 130 range->kmalloc = item->kmalloc; 131 range->buf = kbuf; 132 range->buf_sz = size; 133 range->data_sz = size; 134 range->memcg = memcg; 135 mem_cgroup_tryget(memcg); 136 range->status = 0; 137 ret = handler(name, range); 138 mem_range_result_put(range); 139 err: 140 set_active_memcg(old_memcg); 141 mem_cgroup_put(memcg); 142 return ret; 143 } 144 145 int register_carrier_listener(struct carrier_listener *listener) 146 { 147 struct str_listener *item; 148 unsigned int hash; 149 int ret; 150 151 if (!listener->name) 152 return -EINVAL; 153 item = kmalloc(sizeof(*item), GFP_KERNEL); 154 if (!item) 155 return -ENOMEM; 156 item->str = kstrdup(listener->name, GFP_KERNEL); 157 if (!item->str) { 158 kfree(item); 159 return -ENOMEM; 160 } 161 item->handler = listener->handler; 162 item->kmalloc = listener->kmalloc; 163 hash = jhash(item->str, strlen(item->str), 0); 164 mutex_lock(&str_listeners_mutex); > 165 if (!find_listener(item->str)) { 166 hash_add(str_listeners, &item->node, hash); 167 } else { 168 kfree(item->str); 169 kfree(item); 170 ret = -EBUSY; 171 } 172 mutex_unlock(&str_listeners_mutex); 173 174 return ret; 175 } 176 EXPORT_SYMBOL(register_carrier_listener); 177 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki