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 8101AC3ABDD for ; Thu, 15 May 2025 17:53:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3C5496B00A7; Thu, 15 May 2025 13:53:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 373306B00A8; Thu, 15 May 2025 13:53:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2154C6B00A9; Thu, 15 May 2025 13:53:25 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id F21B16B00A7 for ; Thu, 15 May 2025 13:53:24 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 39F5C8042F for ; Thu, 15 May 2025 17:53:26 +0000 (UTC) X-FDA: 83445889212.14.C3687EE Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by imf06.hostedemail.com (Postfix) with ESMTP id 48E6518000A for ; Thu, 15 May 2025 17:53:24 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="eL5A/cg7"; spf=pass (imf06.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="eL5A/cg7"; spf=pass (imf06.hostedemail.com: domain of andrii.nakryiko@gmail.com designates 209.85.216.46 as permitted sender) smtp.mailfrom=andrii.nakryiko@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747331604; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=54fguFj5SD0Kvvv9NyED44yQjf3eGCVtUMb2jdU2xJ4=; b=MZXem5EQG9OLOfFI7tV1gtgbP2LbQEbOvht1skvhqEgrkrSBeJoNg5zd1DGHiuQeOqKFrw HvBzdMYcjrQsAWCDFZEh7945PEOA8ZUosHT8unHnpMWSWi+i+BI8psWURoBFTOHGipLgVD dTpAHWLSH8LJ5rDY/LxqnAOLDJ9ux04= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747331604; a=rsa-sha256; cv=none; b=HJIhUMiWe7PzjtO/td+6oteDfTus1PuUEsJ2x1m/QeDqIMOcBNIZei2NqUI1k8b6+onA9P Rfc0UMPuF1QMikL+h2wp6prVYda4Awzyd06g9lP5A6OQjPlIJBBvA+SGSahpaiuVob2Yq1 HrdUrUAd1/7Z4zd9WiuvXeFgHPoC7U0= Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-30c35ac35dfso1161693a91.1 for ; Thu, 15 May 2025 10:53:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747331603; x=1747936403; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=54fguFj5SD0Kvvv9NyED44yQjf3eGCVtUMb2jdU2xJ4=; b=eL5A/cg7z2J9hTg3z/IXHE9/2Cg9+v12nlUAKMexvFv1bG8qzo4WiryXrZo4JTGTD1 yjjeRVPcnUsMr1KYFE90lOgMl7grJV+V+3v4zgUJO3ZkfF+Q11QaSCGaqq1xmn0KQvR0 lBWFfvx/MeDbPjJ0fMARjcgMSWzLJ1zrF1WH+RI/4neqxu+QgPb4RH/MnQbFW9/FsXZ0 ctF61KCBTEN/1RxyxmDzD7w3I+vYNZZNV/MNgeiCe5ZXv/CIFVPWUkVFlWGLS/0l/sNp 3g/PwbCSsRlRVfvMkGx36l+obkLHWqm9+iB70M//+a6aWSESp9SpZxrjSJoVrdEBNkCi RCXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747331603; x=1747936403; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=54fguFj5SD0Kvvv9NyED44yQjf3eGCVtUMb2jdU2xJ4=; b=jDh/RHyXS2KGhlJTrwkmiszxTekfC+1385+/SXS9NmZMbc5WUqqTAPTsY4K9Hb6uzZ LJ4gA/UsUxvyJbfYcXhKqkJcf1Tz+gnSystdyEbu0C8uHzX3jbv8NeVsOOjDEprvQuPH 8fxJYOLNm5dDyFZ5TWitjTpZAzDIVCSNGOnLC1ZmuRYnV6fCDJiOgzQU0h3oq2CjosMa r+jxhNHSIFX9U46v4WREAQcOW8jRBxvvgUEvwXlCmUPGXwk2BdjMiuMD6jj74+SU8/Ev GMmJTCedYPnuHetowaFvJqmfymnRyev+tkQKbT2M2cTn0Ylc741Z4cCvOD1+tVmIQXwR UlUQ== X-Forwarded-Encrypted: i=1; AJvYcCUoRB8bMrk7S+hCvgPKQQWT15F+y1oepPs5s5s9S1ImQ4wDYn1mZ/Fo5XsS5qwjW64yQHdXHbpsJA==@kvack.org X-Gm-Message-State: AOJu0YydQtpu9FoXPxu/9HWPRgG/jet+hUniGhwQLFV41VyYNF9abiD7 EYiCL9JPvaj5WI6Vv2676PoV6MF6l2lDYTc1Dk1q8nBfU1o6eS/YfYF/juX/JQOSEOmXjVlqz2o dMVvK6dM0+yaM+oR05BIxk+o0ChDB7G8= X-Gm-Gg: ASbGncsGdXWYwJ8uqDY2iL3u228i0NGNb351/HadJyrChyj7aUAEMUq0eRLBvd/hYfa Vb6GRbVsmXclg6m2kl4YQTb2MI28qsRMrepEbNfOuaH74prRChwDURrMwdK2066ga6apcwYurlE WJWGGDD2vs8UcRJBnH6agIueT9eh8pOIz+EBVBVtDYLf43oaVc X-Google-Smtp-Source: AGHT+IHL17I+NPoYgpEtbfBy6dbR6YRLDhqI/LlE4JZevZnvZpbndJacxlHQ01gcFFUzfoGL6d9/8LE8xRDWqjvXXBw= X-Received: by 2002:a17:90b:3e8e:b0:30a:fe:140f with SMTP id 98e67ed59e1d1-30e7d5ac5eemr431874a91.28.1747331602926; Thu, 15 May 2025 10:53:22 -0700 (PDT) MIME-Version: 1.0 References: <20250515-bpf-verifier-slowdown-vwo2meju4cgp2su5ckj@6gi6ssxbnfqg> <202505150911.1254C695D@keescook> <20250515171821.6je7a4uvmttcdiia@desk> <202505151039.DAA202A@keescook> In-Reply-To: <202505151039.DAA202A@keescook> From: Andrii Nakryiko Date: Thu, 15 May 2025 10:53:10 -0700 X-Gm-Features: AX0GCFttxkh9zWvmT_O0s4tiVH_OWTb-CIz6U-4nojzu3dXqjUGIWuP0S5kbsAM Message-ID: Subject: Re: [REGRESSION] bpf verifier slowdown due to vrealloc() change since 6.15-rc6 To: Kees Cook Cc: Pawan Gupta , Shung-Hsi Yu , bpf@vger.kernel.org, linux-mm@kvack.org, Andrii Nakryiko , Ihor Solodrai , Andrew Morton , Michal Hocko , Vlastimil Babka , Uladzislau Rezki , linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org, regressions@lists.linux.dev, Greg Kroah-Hartman , Alexei Starovoitov , Daniel Borkmann , Eduard Zingerman Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 48E6518000A X-Stat-Signature: but4fc8af3176ce4jm8bfbtwrodtw34z X-Rspam-User: X-HE-Tag: 1747331604-497452 X-HE-Meta: U2FsdGVkX18ZiSpa9NJ+gjaSuO5IBD010Og4gw+tAtOpItE0JPyzLRcyFQ3IAc4AFkt1D39kzuZe4p+uuwOSNQvC2+BWwxkY/P6CzXbcwWTY5LuBnfoBl7PgzO+65QC1HMSmWQaIpbvZsOP+84DMDfZID6rmtYGiJLt+Zi5OPnLIZy28zUHpsHgE6cH3Y3oA+3FEICX7MY/SXIMhQt7sI0jMu4rbEqnir6sytJry5wiunKxBqaTwQd3fq7MLPbka5UXCvw1c/URPNMAJ+byvwgcwOFp8xAaevseveaAZklDLXalO1nIJFWT+MTNhp2n3BjdhocoG/T11WSHyqEQZfgngJxuvslyeWrdjOE1PusfIfJpa+GwSoSIBAPp2SrAS82EnfPwUOCmhSRXRSJpPcl0tZffd2QjR/uvc/48cCHvJRZY02gkjDGrhR5Tk/HnXXuoDBarGmIbcMU6sxu8Vp3K/jLdWrCrAiVJbwoh+7olvRic3qAuTg36vySOAi3hwf0y5m1yOLVEzdRiReUOSXLr/QDZHmU3TElppRkhgNv9dxXfJezuk4Lunf81CUrceM231XakrLMsNCQSRod2NE5jSiYpKUsL4uxEQS4H0zWrKoFGcFOnCP7by41YsPLyuzZiJkzXrGQfT8wdUHceXg9gAl1P9mjLxAZ2hlG04ua70mZGlbU5uvsbCfxFpVsCADYcBvS2fQPdqstHNujKYx7UXi1aZ0JpI3DIB1McIBz/hN4DeZJChQGK38NeJm7PRWAb6TmutHTPtQhzg/GXddXtVGuN8i01y+TJKs/nPRl3F0WIYOseuHUMvJ3IvESiO2aFNvdbWLlm0bxCqMWb5/fnfLCTn6PuygbrrnzwYW9iBkxPf3WMlEmnIkY07V0FKoiCzCT+vliqH6hrZ17e3P+FCGKRtTUS4d43k+NkVwJjDo4jXwH3D6dINcPHG/TKNs86ChsNp0tXbAavaBdm CV6jGxpq kxBQdkcT5q+jmwnrrQk6hs8K5jrJhBAGWdqPT/annUXE8XOgOhGTKu70xx7XPwktL/uUi8oWxM86nZ58JgR6COpysVVQV4+weZkS42L7xDLx25ygYuPoITaaKdxGpa70KcQ0Zz7qLZ6LFZFf3BNJnRpBaIs36p2HVlWbqwANNOhod4umlIVAubMdw5esaQshv1iUGyUgREb6a+kdZ/vFWikwA9Jcp+M1lZVu5RSusQ1HIyF5+gP/lkKWEPl1rumzh5ftJBSZxULsOp/Q5jFdz/uqLBrnBJCCLahf604johwP7PssxNpALE638m9boRNPmS8FGAqE3BYviyhU4owzb5/oKkVsh1q+HwUeV7thaP55dOQ7lOy8biROD9THfJBFgc7JbQGKzMhO2ovR2yS5TCDMg//ZJ4fdS7Ky4Yui6V+3UAtcWFeGdNo7TD8nQ2yA78hjdHN1mAdqtSZI= 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: On Thu, May 15, 2025 at 10:41=E2=80=AFAM Kees Cook wrote: > > On Thu, May 15, 2025 at 10:18:21AM -0700, Pawan Gupta wrote: > > On Thu, May 15, 2025 at 09:51:15AM -0700, Kees Cook wrote: > > > On Thu, May 15, 2025 at 07:51:26AM -0700, Kees Cook wrote: > > > > On May 15, 2025 6:12:25 AM PDT, Shung-Hsi Yu wrote: > > > > >There is an observable slowdown when running BPF selftests on 6.15= -rc6 > > > > >kernel[1] built with tools/testing/selftests/bpf/{config,config.x8= 6_64}. > > > > [...] > > > > Where can I find the .config for the slow runs? > > > > > > Oops, I can read. :) Doing a build now... > > > > > > > And how do I run the test myself directly? > > > > > > I found: > > > https://docs.kernel.org/bpf/bpf_devel_QA.html > > > > > > But it doesn't seem to cover a bunch of stuff (no way to prebuild the > > > tests, no info on building the test modules). > > > > > > This seems to be needed: > > > > > > make O=3Dregression-bug -C tools/testing/selftests/bpf/test_kmods > > > > > > But then the booted kernel doesn't load it (missing signatures?) > > > > > > Anyway, I'll keep digging... > > > > After struggling with this for a while, I figured vmtest.sh is the easi= est > > way to test bpf: > > > > ./tools/testing/selftests/bpf/vmtest.sh -i ./test_progs > > I can't even build the test_progs. :( > > $ make test_progs > ... > CLNG-BPF [test_progs] bpf_iter_tasks.bpf.o > progs/bpf_iter_tasks.c:98:8: error: call to undeclared function 'bpf_copy= _from_user_task_str'; ISO C99 and later do not support implicit function de= clarations [-Wimplicit-function-declaration] > 98 | ret =3D bpf_copy_from_user_task_str((char *)task_str1, si= zeof(task_str1), ptr, task, 0 > ); > | ^ > 1 error generated. > BPF selftests expect that there was a successful kernel build done before that. So generally speaking: 0) cd 1) export O=3D/path/to/build 2) cat tools/testing/selftests/bpf/config >> /path/to/build/.config 3) make O=3D/path/to/build -j$(nproc) oldefconfig all 4) cd tools/testing/selftests/bpf # everything is built within this directory, we don't support KBUILD_PATH or O for BPF selftests build artifacts 5) make O=3D/path/to/build -j$(nproc) step #5 will search for vmlinux image across O, KBUILD_PATH or in current linux source repo (in that order), and will generate necessary vmlinux.h header out of BTF information embedded in vmlinux, which is necessary for tests You might need some dependent packages (libelf-devel, zlib-devel, maybe some other, don't remember) to build everything, but if you are on recent enough Clang (19? might work with a bit older one), you should be good. But tbh, if the above causes you problems, I don't think you need to spend that much time trying to build BPF selftests, given you know what the issue is and you are fixing it. > > -- > Kees Cook >