From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 83D58393DEB for ; Mon, 6 Apr 2026 18:22:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499745; cv=none; b=kunU1ZA1IBXmEUXwmCiOztdTS2nTpgLWQwsLBxHXZF6/K18ko/iglyOk5MBz6uUHupg9vBTgjy+XAYCafzzgmQ7W1bE9goGbxa+acVOPBR+TPJ3sziJWcNYauvKfuvU89/T0YqnNE14GofMUMYWG8HiXjUznYBubMeCSFxCrgO4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499745; c=relaxed/simple; bh=UdmIG5ZScOMurXbOdsM3+xZHzE6mxf0WBHcm9S4szVc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=p2tRfYnn9yc0urrNX+/+7CWGKxgnys+i0KnCPCAU33lsvqx+dLsg1G8MKCaRwMeFuNyohfDa1rKxGRrRcdukYODUHezoqga/Rt8a7XrbdjA8uILZ1+b3M3XHt9quw1oNm8ntJnnBwq2TO+GuMvfP44oh+5X8i8YEtdTsqjwpOZc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=J+Jo8Oaj; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="J+Jo8Oaj" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-488a29e6110so21786155e9.3 for ; Mon, 06 Apr 2026 11:22:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499743; x=1776104543; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=s4g6ZnBzeP1JTZyYPvWQnENXpCsTRTtKLoMuVgANOhM=; b=J+Jo8Oajp0n0qUMnMxg79STdVU7kbwm15Pn0UudRKhEzgPZazn87GkkcnW+6emGPal q6/2GcTb4ewVBMgNeASzrsnovVJdvBjYPG2aeCcsvow3QMlYI1Rr3i24f/5692mOlPCn ms4hMqoWdzyPhHr2Wgfo7dbjycfeYCXeriMD7+s9s+5hnJ9rhmenSQfSuzG4fKHFIr4D mFnZY4bn5yX+Hllxk+uOS67rorJmXTkvcVYMpsGAQiRgTxtSDAqUZ6aI28U1CIbcl9O7 8pPJvhrkl2pqIkMa0FTAlWm9E2VmIH2AhBpx6oevs7MBqniv+rjkRvYYFMSgz+qD0Z4/ zEZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499743; x=1776104543; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=s4g6ZnBzeP1JTZyYPvWQnENXpCsTRTtKLoMuVgANOhM=; b=AU+9tiHrfQQ2R/ZY6b93DR40ufQSAtYcSrp/OUFX73B3ENSo7ZckYxGXaeft3eCAV2 RcG/+F3VvCrV181GCypW3friJlQsaWeDnxjGpGZN5If5S96WYox75izxalcfxMBJ/ohW gDxE/Pa7Msc5NdUt9pO4Y8j9Iye/atlXwoAFUbdf5UhiVRcDEdIOYqu0byy1ezJ8By0E 2oX8S8SPumX2ebHiT9u/+R0pwwV4G9MY70w/tUE1O/FJfuH1S7bXXDZ8ne4sVshkpffX gWD+tmUHDW/dgizHbjmzmFeSPJf2ddYqW/4URLAqaUYGyy9XGH0Z4reTDnVes/XaP4ip XYkg== X-Forwarded-Encrypted: i=1; AJvYcCWlRmYXaHcD4id6ivZDv5c/CixV5Nxt24xmF9g2V9pOyof07sQ72412SxHayoK5Dlso6OSAtwKIwBMyMLQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwvwWYVGzqoBPhukZ1HhAwhg+lJqHy1jL/nORM0CbroneQ+eWuq Q0K7C+KP4KlBjfuSRA3bRoE0Chb+XH3iLXwjrMrYwriWha6TQS86GpRSnv6S19jvFb4= X-Gm-Gg: AeBDiet2Wfg3ZGmfZBPo+Xt13QBSJLNfV13d36YEeWfGtwc2rPE9dH9CEnu8fpWh3ky lqxKp9St7gQRzlwbdTn8PsZtEdGYjoMabRvluSFp25rkLj6WBZwU8YYWXX9EF6Vkd2V+HbLaBP1 SXFB6bQNM2ctuJKQYnQi862Y/oAoqqMUCLTGNXujJRpmUj9Gy9zpzIXks4+83fxazQNuHEUVhYO slAIvjGuQvIINPyjq+nbRKzkXdII+yitC3f7/dlCLE4Vw2z7GrNPoniIVliZWt9NqYdwBNsNyCB e81lSGArQHZ0ZzKeJgrMWj90LXizcwzjf6STeap+P8G4daLCUW7Yk+pbIMC9em2SuTFdsd8LOag gjECJsbOJLvmbcwT4Td8cvUFLLQjrvi0Es0dDaV3EMMuydxcVZ+Ap2TDa4zKUx9aLyzHMTrqWp0 JS8nwADNeYL+ve X-Received: by 2002:a05:600c:1381:b0:485:6e40:5584 with SMTP id 5b1f17b1804b1-488996afdaemr206141365e9.6.1775499742932; Mon, 06 Apr 2026 11:22:22 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-953fb84c289sm14052881241.4.2026.04.06.11.22.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:22 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:13 -0300 Subject: [PATCH v4 01/10] selftests/bpf: Fix test_kmods KDIR to honor O= and distro kernels Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-1-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=2171; i=rbm@suse.com; h=from:subject:message-id; bh=UdmIG5ZScOMurXbOdsM3+xZHzE6mxf0WBHcm9S4szVc=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QPsFC+mekAxUuFuHrSS3/+5pngEcDl6zjD77+ez7jkuo+XJwp6K09aYbo1XfJInLFFrJH14hjkz jTijNopyyAwc= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g test_kmods/Makefile always pointed KDIR at the kernel source tree root, ignoring O=3D and KBUILD_OUTPUT. Module objects were therefore placed inside the source tree rather than the designated build output directory. On distro kernels where the source tree has not been built, the Makefile had no fallback and would fail unconditionally. When O=3D or KBUILD_OUTPUT is set, pass it through to the kernel module build so module artifacts land in the correct output tree. Fall back to /lib/modules/$(uname -r)/build when neither an explicit build directory nor an in-tree Module.symvers is present. Guard both all and clean against a missing KDIR so the step is silently skipped rather than fatal. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/test_kmods/Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/test_kmods/Makefile b/tools/testin= g/selftests/bpf/test_kmods/Makefile index 63c4d3f6a12f..b4f86f151a09 100644 --- a/tools/testing/selftests/bpf/test_kmods/Makefile +++ b/tools/testing/selftests/bpf/test_kmods/Makefile @@ -1,5 +1,7 @@ TEST_KMOD_DIR :=3D $(realpath $(dir $(abspath $(lastword $(MAKEFILE_LIST))= ))) -KDIR ?=3D $(abspath $(TEST_KMOD_DIR)/../../../../..) +SRCTREE_KDIR :=3D $(abspath $(TEST_KMOD_DIR)/../../../../..) +KMOD_O :=3D $(or $(O),$(KBUILD_OUTPUT)) +KDIR ?=3D $(if $(KMOD_O),$(SRCTREE_KDIR),$(if $(wildcard $(SRCTREE_KDIR)/M= odule.symvers),$(SRCTREE_KDIR),/lib/modules/$(shell uname -r)/build)) =20 ifeq ($(V),1) Q =3D @@ -14,8 +16,15 @@ $(foreach m,$(MODULES),$(eval obj-m +=3D $(m:.ko=3D.o))) =20 CFLAGS_bpf_testmod.o =3D -I$(src) =20 +# Ensure KDIR exists, otherwise skip module build and clean. all: - $(Q)$(MAKE) -C $(KDIR) M=3D$(TEST_KMOD_DIR) modules +ifneq ("$(wildcard $(KDIR))", "") + $(Q)$(MAKE) -C $(KDIR) $(if $(KMOD_O),O=3D$(KMOD_O),KBUILD_OUTPUT=3D) \ + M=3D$(TEST_KMOD_DIR) modules +endif =20 clean: - $(Q)$(MAKE) -C $(KDIR) M=3D$(TEST_KMOD_DIR) clean +ifneq ("$(wildcard $(KDIR))", "") + $(Q)$(MAKE) -C $(KDIR) $(if $(KMOD_O),O=3D$(KMOD_O),KBUILD_OUTPUT=3D) \ + M=3D$(TEST_KMOD_DIR) clean +endif --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2CCEA394479 for ; Mon, 6 Apr 2026 18:22:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499751; cv=none; b=e+Ol0CQiyQ/WogqETL1xYQqcvac2UIbKuRz3R/gQ7uC0CJK0N+sVKKE6Bpo+/m5oWp/eWVs2M73Z53yG7nuhf5ZQ11Q8JcJ30a68hVHmXlL57cQAYReqxE02ICRxyXKw5ybMOhF6+5J262cakmhbuOJCSfgm/GILh1pDYBYZ/ec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499751; c=relaxed/simple; bh=6womnhNkPVIMC9BJtbyzHpcUSwPDJFVk2MnEcmHSrI4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OdwmMgR39xMndQri6PgoDuBMYZyifJRMGVqIZAIXSe4uCEaBtZdlbY/Oa6y6aTIS92fky4fcJA4LYGKxRwUmYyCbPBVz0bg/hCfmvaYhmAxQrUSRMngSFONRYjJnNrygRHW4Ftf5p/qiN1/13mug8N4RPT9TijjV0z5nOQBnwYs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=dLKy2scy; arc=none smtp.client-ip=209.85.128.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="dLKy2scy" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488ba6366a7so3365065e9.0 for ; Mon, 06 Apr 2026 11:22:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499746; x=1776104546; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6BE6rCgLm4ycfO9rARPfewZKzJOvUfIcBPg9sKbASzA=; b=dLKy2scy6wonQYFBbqLCvenzfL/NKbuU/kF2iCOXMBxD1+BE6F51AB0sXn9yn2hlPD BnlDLYX0k9kNnw8E9VjxuNmY7QWUCoYilFk8ZGeNthSNgL1vS+40jvbyeRIhUxCnPDDy oe/WNT1FkaPwVXciHkbVKb07Smmr/xMNNsyTGoV/DFvqA7/yJMjI4fQ68c1GIH/oYISF jW04yWb5iNkKqUI7i2G1rEX1cMRaaoGf3cI/+j09qzCCbJzsLX3dHPf9MvY6zT/d9TIj Ziw2ZxBQIoOZdStSOnVAU6AC/r3FNhlhcfr6oAmIdZGn4N5i4NA2Wr5j/cCbrP2WlC8a w9ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499746; x=1776104546; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=6BE6rCgLm4ycfO9rARPfewZKzJOvUfIcBPg9sKbASzA=; b=aCnd4SIz6BbL8z3nVgTei363ff2bi2zDd7ZAhBjoXaWc9EJYCDAdp4w+Euh8CEKXoh g0f39Jok7oHReGv0r5sYetGdN/307GcN0IwpiEPFLTi5sOLzgn0qux2XoW2b+bPx6N6G tgJ3wH4P66LnW3bgGeLirWYeE0KaRIz2jrm/pj7BBJvxVKJy1GFUN/hVfFzPBZzTFzkZ xOzNTuh4X5DF867nEQp0EU5JXy5rbMwSpPE/BxgGtTx4hw3yspBnZ+251RS/yi0fgJB4 qGVcfYx3L3LnSxvoDOJ14UetiwddGGa/2vzZhw+3tOBGmQcdMqYuB80rlkCh7UhRO/SQ UDzA== X-Forwarded-Encrypted: i=1; AJvYcCVDtamHQFr6+ItAs5X/wWE7vx23IQBFiY8eDeNa3BOuVV+LH6qG6pRiIEr/0y+4KdsQ/cSU/ar9ckzP9Kw=@vger.kernel.org X-Gm-Message-State: AOJu0YxmyJwv5qWODmJeRZjuejeG2+6y9qnrobF0qdWuqFj0txi8+E3h C6lx6rXSztd/EX0BnQ6kigzYowGxQrdp0oKtPPmPE/n0cfWwzaqEJBiV9Hjew99GSxw= X-Gm-Gg: AeBDieufzDUeYmU66h3uodcydJBkQmjwVXWzoh+/N6ls2OBHwLkmAgzBFK7dBbWVrhL K680Pt3RsKhDp/azLDmjArzm5LZIx37feZDNX6SUX4md7yaGFWggn2jeUEby2etAkFNnsxv8uWz JROOXaMwsRYD/9AJRDHHGy8MKOU7szJztgvFL8ghmXlfmryYGNIewrzFgxJ7DyJDr8eCZ6oKqgp A+UusV+rJvaFcb5oqMWDi06fb0G9Xwo5RdcyQR3aQz7CHnPL98/WzMWs4JnDNDkxqi3/NmMYEKc SoP1y4mLB54D01zxhYjd8YeNvMWBojhBPAq8nigRWMBMsLT9euFpLAsObcQTq3e+/m/ogfdPSrI P/g5MiDnATAJmLbgc681rwlfJ5FV6CLNAwlC4bFGO5OSx7EFnamU54vn+TXoP8pV5E3axjhSSp8 j2LRZwLNsY50lg X-Received: by 2002:a05:600c:3acb:b0:485:46fd:7887 with SMTP id 5b1f17b1804b1-4889972b76amr202247815e9.13.1775499746497; Mon, 06 Apr 2026 11:22:26 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-605b214b45fsm11596756137.5.2026.04.06.11.22.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:25 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:14 -0300 Subject: [PATCH v4 02/10] selftests/bpf: Tolerate BPF and skeleton generation failures Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-2-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=6534; i=rbm@suse.com; h=from:subject:message-id; bh=6womnhNkPVIMC9BJtbyzHpcUSwPDJFVk2MnEcmHSrI4=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QCtF6fbYYZm0v2c97/PSA47No0Xtl6UxPpabr37o7kTfWN7/KGENFBVqD54sDCIKrKtcj3Q3kvm JTM3QKsVFwAU= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Some BPF programs cannot be built on distro kernels because required BTF types or features are missing. A single failure currently aborts the selftests/bpf build. Make BPF object and skeleton generation best effort: emit SKIP-BPF or SKIP-SKEL, remove failed outputs so downstream rules can detect absence, and continue with remaining tests. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 77 ++++++++++++++++++++++++--------= ---- 1 file changed, 51 insertions(+), 26 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index f75c4f52c028..6052bba2c157 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -470,22 +470,26 @@ $(OUTPUT)/cgroup_getset_retval_hooks.o: cgroup_getset= _retval_hooks.h # $4 - binary name define CLANG_BPF_BUILD_RULE $(call msg,CLNG-BPF,$4,$2) - $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv3 -o $2 + $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv3 -o $2 || \ + ($(RM) $2; printf ' %-12s %s\n' 'SKIP-BPF' '$(notdir $2)' 1>&2) endef # Similar to CLANG_BPF_BUILD_RULE, but with disabled alu32 define CLANG_NOALU32_BPF_BUILD_RULE $(call msg,CLNG-BPF,$4,$2) - $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv2 -o $2 + $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv2 -o $2 || \ + ($(RM) $2; printf ' %-12s %s\n' 'SKIP-BPF' '$(notdir $2)' 1>&2) endef # Similar to CLANG_BPF_BUILD_RULE, but with cpu-v4 define CLANG_CPUV4_BPF_BUILD_RULE $(call msg,CLNG-BPF,$4,$2) - $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv4 -o $2 + $(Q)$(CLANG) $3 -O2 $(BPF_TARGET_ENDIAN) -c $1 -mcpu=3Dv4 -o $2 || \ + ($(RM) $2; printf ' %-12s %s\n' 'SKIP-BPF' '$(notdir $2)' 1>&2) endef # Build BPF object using GCC define GCC_BPF_BUILD_RULE $(call msg,GCC-BPF,$4,$2) - $(Q)$(BPF_GCC) $3 -DBPF_NO_PRESERVE_ACCESS_INDEX -Wno-attributes -O2 -c $= 1 -o $2 + $(Q)$(BPF_GCC) $3 -DBPF_NO_PRESERVE_ACCESS_INDEX -Wno-attributes -O2 -c $= 1 -o $2 || \ + ($(RM) $2; printf ' %-12s %s\n' 'SKIP-BPF' '$(notdir $2)' 1>&2) endef =20 SKEL_BLACKLIST :=3D btf__% test_pinning_invalid.c test_sk_assign.c @@ -591,32 +595,53 @@ $(TRUNNER_BPF_OBJS): $(TRUNNER_OUTPUT)/%.bpf.o: \ $$($$<-$2-CFLAGS),$(TRUNNER_BINARY)) =20 $(TRUNNER_BPF_SKELS): %.skel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT) - $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.linked1.o) $$< - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked1.o) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.linked3.o) $$(<:.o=3D.linked2.o) - $(Q)diff $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked3.o) - $(Q)$$(BPFTOOL) gen skeleton $$(<:.o=3D.linked3.o) name $$(notdir $$(<:.b= pf.o=3D)) > $$@ - $(Q)$$(BPFTOOL) gen subskeleton $$(<:.o=3D.linked3.o) name $$(notdir $$(<= :.bpf.o=3D)) > $$(@:.skel.h=3D.subskel.h) - $(Q)rm -f $$(<:.o=3D.linked1.o) $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked3.= o) + $(Q)if [ ! -f $$< ]; then \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + exit 0; \ + fi; \ + printf ' %-12s %s\n' 'GEN-SKEL' '[$(TRUNNER_BINARY)] $$(notdir $$@)' 1>&= 2; \ + $$(BPFTOOL) gen object $$(<:.o=3D.linked1.o) $$< && \ + $$(BPFTOOL) gen object $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked1.o) && \ + $$(BPFTOOL) gen object $$(<:.o=3D.linked3.o) $$(<:.o=3D.linked2.o) && \ + diff $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked3.o) && \ + $$(BPFTOOL) gen skeleton $$(<:.o=3D.linked3.o) name $$(notdir $$(<:.bpf.o= =3D)) > $$@ && \ + $$(BPFTOOL) gen subskeleton $$(<:.o=3D.linked3.o) name $$(notdir $$(<:.bp= f.o=3D)) > $$(@:.skel.h=3D.subskel.h) || { \ + $$(RM) $$@ $$(@:.skel.h=3D.subskel.h); \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + }; \ + rm -f $$(<:.o=3D.linked1.o) $$(<:.o=3D.linked2.o) $$(<:.o=3D.linked3.o) =20 $(TRUNNER_BPF_LSKELS): %.lskel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OUTPUT) - $$(call msg,GEN-SKEL,$(TRUNNER_BINARY),$$@) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked1.o) $$< - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked1.o) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked3.o) $$(<:.o=3D.llinked2.o) - $(Q)diff $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) - $(Q)$$(BPFTOOL) gen skeleton -L $$(<:.o=3D.llinked3.o) name $$(notdir $$(= <:.bpf.o=3D_lskel)) > $$@ - $(Q)rm -f $$(<:.o=3D.llinked1.o) $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinke= d3.o) + $(Q)if [ ! -f $$< ]; then \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + exit 0; \ + fi; \ + printf ' %-12s %s\n' 'GEN-SKEL' '[$(TRUNNER_BINARY)] $$(notdir $$@)' 1>&= 2; \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked1.o) $$< && \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked1.o) && \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked3.o) $$(<:.o=3D.llinked2.o) && \ + diff $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) && \ + $$(BPFTOOL) gen skeleton -L $$(<:.o=3D.llinked3.o) name $$(notdir $$(<:.b= pf.o=3D_lskel)) > $$@ || { \ + $$(RM) $$@; \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + }; \ + rm -f $$(<:.o=3D.llinked1.o) $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) =20 $(TRUNNER_BPF_LSKELS_SIGNED): %.lskel.h: %.bpf.o $(BPFTOOL) | $(TRUNNER_OU= TPUT) - $$(call msg,GEN-SKEL,$(TRUNNER_BINARY) (signed),$$@) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked1.o) $$< - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked1.o) - $(Q)$$(BPFTOOL) gen object $$(<:.o=3D.llinked3.o) $$(<:.o=3D.llinked2.o) - $(Q)diff $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) - $(Q)$$(BPFTOOL) gen skeleton $(LSKEL_SIGN) $$(<:.o=3D.llinked3.o) name $$= (notdir $$(<:.bpf.o=3D_lskel)) > $$@ - $(Q)rm -f $$(<:.o=3D.llinked1.o) $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinke= d3.o) + $(Q)if [ ! -f $$< ]; then \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + exit 0; \ + fi; \ + printf ' %-12s %s\n' 'GEN-SKEL' '[$(TRUNNER_BINARY) (signed)] $$(notdir = $$@)' 1>&2; \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked1.o) $$< && \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked1.o) && \ + $$(BPFTOOL) gen object $$(<:.o=3D.llinked3.o) $$(<:.o=3D.llinked2.o) && \ + diff $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) && \ + $$(BPFTOOL) gen skeleton $(LSKEL_SIGN) $$(<:.o=3D.llinked3.o) name $$(not= dir $$(<:.bpf.o=3D_lskel)) > $$@ || { \ + $$(RM) $$@; \ + printf ' %-12s %s\n' 'SKIP-SKEL' '$$(notdir $$@)' 1>&2; \ + }; \ + rm -f $$(<:.o=3D.llinked1.o) $$(<:.o=3D.llinked2.o) $$(<:.o=3D.llinked3.o) =20 $(LINKED_BPF_OBJS): %: $(TRUNNER_OUTPUT)/% =20 --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21A45392C55 for ; Mon, 6 Apr 2026 18:22:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499752; cv=none; b=RES83YzSE6m+J9APgMR1JQ89hZXXPVwl5fKLCqBzRbbsITW9eimmXmMaOv6dn9D02lvcD+xuYBKkjMhnMA9IOrIK+BjRmYGBGsbBubXJF+TPJzbUdXRDngUA4lhngVNJ5VTCNfMrKm96blyEaMkrsTGZ5lmVjNx9awfH86aYVb8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499752; c=relaxed/simple; bh=aUpES7Gc9kEPXxJ8Aaeynu09heHY8n8dzJ+eSENcNh4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CfyN67PHQ4KbKATwf2K7MRAmgFd4sflD3M4xA45OQ1ZULX48v4n8CIZGTDgvbOtt3OE0ye8TfKTqZJZCzegmTO2w+5+u8qQiEsltt4F7Rr8E9xtWRlqkUOUO/nl2RO+GszVdbQTjArB2yAr197lTORLhpDQSPmo8J5H6/5sHD2o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=VLhK4ban; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="VLhK4ban" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488aa77a06eso24279445e9.0 for ; Mon, 06 Apr 2026 11:22:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499749; x=1776104549; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FH31e8AWCzEljZIdx40WqHOE1eMjOl08QVJ0UOLH5y0=; b=VLhK4ban5SB0EjBzuTaxNxWTq/Cf0Uc1Cmz0G/tyjHjjEKLz1z8XdZulv9VPDf27TE GCZSR8H7iTvJdNtkTr78xhtEWtqBQmPDqXc6rQHtuHX28i+X8JesW+/68n3AZy4SZOTL btKJoUc/QASudN5r6dY/Hz49gUuKnF3tSr5A5k1F7KdRAr7AViWWZizHsTOa/0jCLpdC TXON7hF/zc+OxpE3QVjWZGxvQrnTAOzquwFabrRikVb+MH+LD/tcHFVBMtOvzuTp5rME +h12nXGJnSkTl3KYxVTeC/MO4FFDj5s9WYu9oTzo+GyQ6/U97kxsC//+B10quuAl+2Mh JUMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499749; x=1776104549; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FH31e8AWCzEljZIdx40WqHOE1eMjOl08QVJ0UOLH5y0=; b=mqQRO/VNZhezUvqAbqLouAYlkN6EBWqg+W5XcTt34iZs9vh9V9ZV4GiYBVnOJcNv+d HEQZsidyCpkBbaPfzGf2h3iNg6YoBJ0zpR/FA5BCm5QEmHUvSSi2cUMvGBZACFW1pOQw kC3zYxpAtaumkt+Sj736yHic7h0i12ou+inxF2DY7Kod+sasi2pQlQBvhbNE1VdsjZ0v 8CsGBWrut9HRza4TvFPKiAh4OJhBw3d0Qp+mK2EIM8LcWwaddD76msdF187elcfCK05M WjXaiRuUzpzP13+MqeLr1gitmgxvSVbHEpj0LVks/SkCQAcFncEyeOgN/Q1AhCn8lQ3S uzXQ== X-Forwarded-Encrypted: i=1; AJvYcCXqJnDBXZWrQfdpQcw6vGsaruVnTuROdYJiXg0VhXO+qBgImji3X4gP/udmKQ5lj58la6b3FWfVkm7vw7U=@vger.kernel.org X-Gm-Message-State: AOJu0YxNiRaJFZu4eU2rmfTbQn0qKwFKym48tF/TftW3XHzS9yrfIm94 pPm12MEkCrhJyytwxEdkt/k5EM/KJgbHQ/ao8CFBlfko3ZBMa+jl5BwTbKnla1JTn8M= X-Gm-Gg: AeBDietDlC9FKiTfZb4pM48lOXBQxemBdNjgiRGg6VoST0RovruDZcCLaRFauAKd2jC tnk9aDYldHzSc9HEqEuZt5WigLaTtID3O33FQG5f2SzWjFWDCaIhIJCZC22St47mGzVyh6FeLJR c7nt+69HMEjiU6IMyHzuFTQH3ovDWDpSISfpgdkfN24Z7WKRuzdTcUIDR/ISB2ySNTgMVG8EcpA /+0EV6niWwQPtvi6D58Lx+tAg0Lywke5vj7ZLUoH1s/vTykZGkCSJcGapZzY/ejojzWZg41y8ig s6z8J17kyu69reiAKfSx0s9HTp8O3v7G+snxoPAA6RnPw4Ei3VpDkGTPh64nG+2B4SPsI59A+oC u8jokX/xP3Fs4J1cMo/uHN3YKzlQgVyg1+571Y4g0glEbs7Ahjkhnn1IgVlyfLvnGBBY+UZpkMe Xv9of1vNM5bzrZIqdwVYli98g= X-Received: by 2002:a05:600d:a:b0:486:fc3b:3e61 with SMTP id 5b1f17b1804b1-488997d1788mr158558915e9.18.1775499749438; Mon, 06 Apr 2026 11:22:29 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bc9bc41sm16853202e0c.11.2026.04.06.11.22.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:28 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:15 -0300 Subject: [PATCH v4 03/10] selftests/bpf: Avoid rebuilds when running emit_tests Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-3-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=1031; i=rbm@suse.com; h=from:subject:message-id; bh=aUpES7Gc9kEPXxJ8Aaeynu09heHY8n8dzJ+eSENcNh4=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QHxdcziFu6PN48z0Fxo285Wtd1vV/o9yNXb1hgsHpGglvB7hPLWkf6rVvug1UFkNyMTLJB1G2lH gBI9xF+/Nrgo= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g emit_tests is used while installing selftests to generate the kselftest list. Pulling in .d files for this goal can trigger BPF rebuild rules and mix build output into list generation. Skip dependency file inclusion for emit_tests, like clean goals, so list generation stays side-effect free. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index 6052bba2c157..781238152c4f 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -703,7 +703,7 @@ $(TRUNNER_TEST_OBJS:.o=3D.d): $(TRUNNER_OUTPUT)/%.test.= d: \ $(TRUNNER_BPF_SKELS_LINKED) \ $$(BPFOBJ) | $(TRUNNER_OUTPUT) =20 -ifeq ($(filter clean docs-clean,$(MAKECMDGOALS)),) +ifeq ($(filter clean docs-clean emit_tests,$(MAKECMDGOALS)),) include $(wildcard $(TRUNNER_TEST_OBJS:.o=3D.d)) endif =20 --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8710F3939D2 for ; Mon, 6 Apr 2026 18:22:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499756; cv=none; b=DkWFMQHB5oAiphmIGNX1t6KBcz6S5ZgES7ph1UWGCwOkUQGK7k42EhsvBxYEFztHYagDdv0SIrkIMCMOlmEZHyrNdrf03UDvBzUocEHfcchZDdacw98n7OQicTc7K8K306NKQdKiZlMoBTgZMJY5RJ+OlJal5UT3cnRDtMEC5hw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499756; c=relaxed/simple; bh=23NdMGoa+vcqEV0jJ3meh8Gl+VeTbF/g8o0rZHbeMi4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g/MNh9oPZwlCBN4U1NWb7ohUPMoi8+sqk45tygB8y3gAzyd9Ktq190yzlh/uwbTScw3YgZJ70C6SLGAHYChX6qSv7aOt+hEjZNmsuVTXFfMejPHzHDnb7z3SiJWPLIME6qs2wds4IGYG1E81vJQn7am4GDO9O0hTsfMhX59WUfE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Uylvzhkm; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Uylvzhkm" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-488b0e1b870so19725395e9.2 for ; Mon, 06 Apr 2026 11:22:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499753; x=1776104553; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=FlS9hoNLxVP1THYSXUkUN3DbjIQMFidMedFjH2/H618=; b=Uylvzhkmd6CMvyiOsxMmKsE8z19AJq0ckEjm9UaTlek1KJA/sNnViaT5MedwswxGBG bukVYlEnwpCumlzvnwal0DrWNTj5KbQemv5P4lqctucQRSGp0i4OQ7Y2BLKlbqvaTBHd 0kYAlgJggxQzjhSqsXM8NVMRcKT0JPrk5DaPEdhqpSCikz+FTL9PKvBjselwR7Qsw80M CoUVRDe0WVmOgJCey8Ic3C3AbX+bUBEr4YoW1tM9fOauKf2ffv3wtznwRhOmb6j49n8I iCq3sfmwGmeBWiI9/BVYmEJG20SMEYNeL4YiicYfEtG3xIS5FoOm/NCxGFV8CRsi4wWA jwFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499753; x=1776104553; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=FlS9hoNLxVP1THYSXUkUN3DbjIQMFidMedFjH2/H618=; b=J/tGf4Crq4NHD1P5euVrIdsZ7F/Y4C50qxxe5OBBy7Q6HJ06FauK98+lcv9C32ZUVN jLkRVa7Um75cLhl/Iur964ia/uyzPbpBY9+SHSmEhNvEjybehAfpt62YuS4NLnAqElXf 87d6v6PbnJpuHVNWInltT1ykVn79BDkHLYjHoNA0OTj4HVuUeYJJcyUQO2COcYNBweJk i3tTwUfOLw5TNXHL0XAggceEMDbVcwcWa7pprKWR6kgeU8wsZwI/8mh2acr4wQriS4k+ fDaEZaovYMZF9s4ll1h5S8QXoi27gYgOj5M37QZP0Vr29OU3zZIs2npABxO1GfwEtOhj Z1FA== X-Forwarded-Encrypted: i=1; AJvYcCXiT5pCUq9Yi5fJ4dZsoXFTxJP7F68aT7STXKwhiuukNk4d5qXaODu/roZ0OD5xvKJtJyJB/TxGeQJaO6g=@vger.kernel.org X-Gm-Message-State: AOJu0YzmbIVFMgLAjHOh0wGMa09MomqNTY8pLodjdvFujSTK438e4mR6 mQR6fsdolQPLzpsQoIZFGCWTnCQUBmkt6Qq5x2u9CghSiwojZ3kecJBBq1AoyUWoMqI= X-Gm-Gg: AeBDiet0izcCAUAdQNHT8Q5AeyhO69cSlWT4ZFjapZTi9rRUWgaq6m1B2aiaQT9Esnm GizEXKhVilvuQfaq3P0cRHIoz+5DwhP2oJiuJHx9zBDEqtCXbla2l/RmFa52gg0fdlhOlKVeRv/ bQn4GdZ/FPTSFpb5gOQc3F4TPF6c92XSb8YuZuPjSq3pGTIHOSNxqKO8Cxw1V21ponJNHfSJHLq SM/jYm6wZsJT+koJqctREebH1pL3pYOR5h10f99X61VP/CEd6z5XLGAP+FYLaCTHK2s3F45nizq dLyRDaPFK64rUKdJxiKJgu0lz9Y+27ZdxJmonUKetSZyAWQqDgGjrpf7MPffVvTs+56mDwM3IvI /WBSaP6PmUXcXw6K9aEGbdVB+eVyJjSKZ88T/LpUF6qQL/r/fiwLExigIyLQ6WUuQ0BkPlV8ncI G00V7T60vLUD8a X-Received: by 2002:a05:600c:8b52:b0:486:f9d0:aac8 with SMTP id 5b1f17b1804b1-4889978140bmr217856345e9.18.1775499752950; Mon, 06 Apr 2026 11:22:32 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-605830999f2sm17555974137.12.2026.04.06.11.22.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:32 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:16 -0300 Subject: [PATCH v4 04/10] selftests/bpf: Make skeleton headers order-only prerequisites of .test.d Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-4-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=1610; i=rbm@suse.com; h=from:subject:message-id; bh=23NdMGoa+vcqEV0jJ3meh8Gl+VeTbF/g8o0rZHbeMi4=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QNdZ69AfgrAyqanC50wjNZ9qTNcmG1B/46tYgH8fwNfwYd/7Lgcz6tym3xBLEo78DUawQ1CD435 VTdS+uD6dyQ8= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g The .test.d dependency files are generated by the C preprocessor and list the headers each test file actually #includes. Skeleton headers appear in those generated lists, so the .test.o -> .skel.h dependency is already tracked by the .d file content. Making skeletons order-only prerequisites of .test.d means that a missing or skipped skeleton does not prevent .test.d generation, and regenerating a skeleton does not force .test.d to be recreated. This avoids unnecessary recompilation and, more importantly, avoids build errors when a skeleton was intentionally skipped due to a BPF compilation failure. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index 781238152c4f..72f576a8236a 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -697,11 +697,11 @@ $(TRUNNER_TEST_OBJS): $(TRUNNER_OUTPUT)/%.test.o: \ $(TRUNNER_TEST_OBJS:.o=3D.d): $(TRUNNER_OUTPUT)/%.test.d: \ $(TRUNNER_TESTS_DIR)/%.c \ $(TRUNNER_EXTRA_HDRS) \ + $$(BPFOBJ) | $(TRUNNER_OUTPUT) \ $(TRUNNER_BPF_SKELS) \ $(TRUNNER_BPF_LSKELS) \ $(TRUNNER_BPF_LSKELS_SIGNED) \ - $(TRUNNER_BPF_SKELS_LINKED) \ - $$(BPFOBJ) | $(TRUNNER_OUTPUT) + $(TRUNNER_BPF_SKELS_LINKED) =20 ifeq ($(filter clean docs-clean emit_tests,$(MAKECMDGOALS)),) include $(wildcard $(TRUNNER_TEST_OBJS:.o=3D.d)) --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E835C39478C for ; Mon, 6 Apr 2026 18:22:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499762; cv=none; b=ITr16S79UL5Y3MDiQ5jpPFORmt19lBXziQDdQGcAK6JnzKTISOInW1VUtQI1VZfjV/XCLmEaxZwUWdoK19IXMYPMyXF4uQjNjb+EJxgN7zIDwDSR2eWAxjfFkrBH7DNedHYvhFoLHPhlbrLGWwtbJwTrLVG0i3w7Mhr2XY78ABk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499762; c=relaxed/simple; bh=AEn3z1mU2fpCck8UIIjXl5+FxsZFquBJDrd1WRW0HDk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k+p3b8un756UzTVu5Z4w6YGY7opYZBbclSZ12Skf1ve7J3qZHX2pJDx/lsy+9xEooRhGvawFg6BqlYVAwtjysWls5TaOG1tumIjQCDM9m6FUCe7XWvhcMbx2RLn9d2N8/6xwb8Fi6GbqnEkfdd/TA3YKiKZrG6V6FSeVpgDD9sA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=Yk5O4e/T; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="Yk5O4e/T" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4887f49ec5aso58461645e9.1 for ; Mon, 06 Apr 2026 11:22:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499756; x=1776104556; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=YvAeDkBxqfN6WYXzL4jwsf1x31D4pD7nsRyWJL/PC4M=; b=Yk5O4e/TcP4UHg4r9fqardAFgS32wulK9Ba/8ErLnZR3DJm3jXicA3l2CnBubYt0HF fgPLFKwFdZT+KGgqeVdNdme9xJ88cmiWjTN8YOYco0Ntoow0NvhtgP+q20hwwMbhoJix yd3VYmRfhjDkHlPBz8rbM6CoeMMXoyFd94QW/a1YaV3ZreBZqb5n4Ms9qRCYro4oGDJJ 0NZvSzrXBylVWnAIt3JostYy225fB/r6cz4YVl/EmGfwnEO+xLlTMpi7QTcwOhjeAoLU 5jCPv+a4hXEhjFkiJIUDWXnKZMUhn/oLmLsrivTGh/+GCAPzAwELO8z7teCD8J2nawxi 1Uww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499756; x=1776104556; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=YvAeDkBxqfN6WYXzL4jwsf1x31D4pD7nsRyWJL/PC4M=; b=KexM3U8qZ0i5AS+uqYhhMvqNv0jQm1wDsLROKVvEy241zIFAQMlzoPcU1UukWXUL2F /uqPrLHmrBufDTrF5UkTJP1xroilt7Ii5g0pa8q0HYr5H9vrKM6UW9CMaEL7oG7J4cKs axf3F3D4jEJW8v/0rCIfyzD/ZJ6kdQ/tbsjNQINDS9PXH/XhAefkHecLbYlqrfrr/PA4 Ovywj9RZWH7kuNYs4Fxs62U+znZTVtaZn4WNDbwc7cwrQ/sJ8zw4ft28vo3K+IM9jJ7p Rl/1IRWyUBBlO2Cml5qcMXv0AKbgBO2psu5yLLWIpxARYRERbGkXt6lbgdVCFPqJ9Cez x2CQ== X-Forwarded-Encrypted: i=1; AJvYcCW+MFKGWXKnClVHSIR+i+nTr0s7yscIGRANdWRJHhVbn540EJMw6jkIeWQPmrViMTQB8ZDYgc3rzJ5s/28=@vger.kernel.org X-Gm-Message-State: AOJu0Yy80YF3H9b4tuGcmQGoJAJwCvC3kBoQDEyua93K7HriSpmIJaAq Z1zFZpg5bXwESYDODkPHzBtjh7MJmY4izoqzaCx7S2+nEUq3Ur07HRKLOLXaHBlSzLs= X-Gm-Gg: AeBDieugSEPwOOGT4/wAhPUh67+WRZ2pLsYMzgTzHW3rdKKLmC/fiJnq2Q421S861R7 YnRNc1pTC48zbC84EmKKX0bjFNZApXOieCF9fyosAHWRR4aC+yh5GHpJlvSzOLgLYi9gb+R9qPI /BsJprCBI1lloYfFdfJONHJ+vAMFmM3uBd0niEoeLz27AhgVSkr9+b+HuJGSq3jGotEsJPiqQq6 vA3c/AK7RELSVdrP3eLYKhxwvcUB22uTwFMOFt1VK76OFugMGUiCOs4r49lJcsaX7GDCQhNMXoq TlzhStjD2z4P7Eyc81E47CKBFZa6MkXkTAqkkolMvbUE93KgIYUjsgM9pmjmTG9+K9UlCG8zMKh 2LzGYYmhZQnojJRpwlH3Fyb1NyVUVl3Bdycwyhzf7eSWQbFKtM20+wSLFuVIvstqmtjFqpJuJWB MT/eBAFjZ2zQ0d8YywuoZgq1U= X-Received: by 2002:a05:600c:6305:b0:488:80b6:873a with SMTP id 5b1f17b1804b1-488997a4679mr190079425e9.21.1775499756358; Mon, 06 Apr 2026 11:22:36 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9ba80290sm17348275e0c.3.2026.04.06.11.22.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:35 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:17 -0300 Subject: [PATCH v4 05/10] selftests/bpf: Tolerate test file compilation failures Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-5-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=2101; i=rbm@suse.com; h=from:subject:message-id; bh=AEn3z1mU2fpCck8UIIjXl5+FxsZFquBJDrd1WRW0HDk=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QBGQdeW+jOhSS10zVM6eVqN9J9HSgNEoIUL7UQZAhjF5JdjlnXJ+GxuPnnJgJafk3RlAsBnZGvu ywAuIQ2YlbAs= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Individual test files may fail to compile when headers or kernel features required by that test are absent. Currently this aborts the entire build. Make the per-test compilation non-fatal: remove the output object on failure and print a SKIP-TEST marker to stderr. Guard the BTFIDS post-processing step so it is skipped when the object file is absent. The linker step will later ignore absent objects, allowing the remaining tests to build and run. Use plain printf and $(Q) instead of $(call msg,...) in the BTFIDS block: the msg macro expands to @printf which is a make-recipe construct and is invalid as a shell command inside an if-then-fi body; $(Q) restores echo suppression at the recipe level where it is meaningful. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index 72f576a8236a..e67f9c4cb5d7 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -688,11 +688,14 @@ $(TRUNNER_TEST_OBJS): $(TRUNNER_OUTPUT)/%.test.o: \ $(TRUNNER_TESTS_DIR)/%.c \ | $(TRUNNER_OUTPUT)/%.test.d $$(call msg,TEST-OBJ,$(TRUNNER_BINARY),$$@) - $(Q)cd $$(@D) && $$(CC) -I. $$(CFLAGS) -MMD -MT $$@ -c $(CURDIR)/$$< $$(L= DLIBS) -o $$(@F) + $(Q)cd $$(@D) && $$(CC) -I. $$(CFLAGS) -MMD -MT $$@ -c $(CURDIR)/$$< $$(L= DLIBS) -o $$(@F) || \ + ($(RM) $$(@F); printf ' %-12s %s\n' 'SKIP-TEST' '$$(notdir $$@)' 1>&2) $$(if $$(TEST_NEEDS_BTFIDS), \ - $$(call msg,BTFIDS,$(TRUNNER_BINARY),$$@) \ + $(Q)if [ -f $$@ ]; then \ + printf ' %-8s%s %s\n' "BTFIDS" " [$(TRUNNER_BINARY)]" "$$(notdir $$@)";= \ $(RESOLVE_BTFIDS) --btf $(TRUNNER_OUTPUT)/btf_data.bpf.o $$@; \ - $(RESOLVE_BTFIDS) --patch_btfids $$@.BTF_ids $$@) + $(RESOLVE_BTFIDS) --patch_btfids $$@.BTF_ids $$@; \ + fi) =20 $(TRUNNER_TEST_OBJS:.o=3D.d): $(TRUNNER_OUTPUT)/%.test.d: \ $(TRUNNER_TESTS_DIR)/%.c \ --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B2365390CB0 for ; Mon, 6 Apr 2026 18:22:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499762; cv=none; b=Din9cQTFpc6Kg0r2MZ9a/4bgkmpJDoacWo/piDnvyKWmfU/UeWGFsiTkXzboF4tPsdsBDGLiRRaTiOIlYmiFZaYyq1GtSDItVuQizsBFGapubnqokkJFtG8L0r0nuo48jjQjwscvhkSmR34vp2F9obzrQD+jVopjmyzhJQBBEMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499762; c=relaxed/simple; bh=3TV46EUd5SknZIe1cqE/s5d8RQ9ID+g5k7uHbLKYsxk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pcj+CT+WxuYZrg5PPwg5QWtHBbD7rfhmLt4bo/LrPL38iWaShPVaimMx2NTqC1em7EptRn4R/rdz6IRUMf62KyWUxqTSbY24SXGCqmLn3KN2VNEYscnek1xvr7yCYqk0wRsAOR90gL27oH2Qs89fH8VEiwun6Hw0/exEblbyXzA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=OOfHRBg4; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="OOfHRBg4" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-488a14c31eeso17409075e9.0 for ; Mon, 06 Apr 2026 11:22:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499759; x=1776104559; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ozbTMFxdM1cFM2UvPkE2WgfaDTmm+Y//gdi2ZxNHkqg=; b=OOfHRBg4YXgfTCAbat7s73V14BtxVWe6P5z1top6Se/gwp8kuuX1Xt2Z7v35vkQ3sX x0hx8oKqVthmYoaiRg8Cr/OkkojkZU9YaOGLa9u6PTWgqAliCXBZhn1/OzovTDaIpB+0 OZtGuL/RvlhJUikdW6Z9RW7t7Z+NexYGa6tbO2n8T3Ez5JFWqInB0cy4hgivjsfIcclb WwgqbK6acae9z7McykWBUaJkg7PJN9NnlLDwo/40rOQ7JdSi3liMVuHSLC5McxbS/UaJ S5+uqSn5BjSYyIiGB7BOQ5y8WemV0RJFLyrjxiBVVEbse7Au6a5+HikzHmtGWu2s5TNY JwKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499759; x=1776104559; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=ozbTMFxdM1cFM2UvPkE2WgfaDTmm+Y//gdi2ZxNHkqg=; b=T7aQ/bYNDvo9q99VwuqBbYXe91nibsBObSZ6/3Pt9exJUbr2zv7Zafl2wiqx+X6Hk4 qw3jJCF+b/ickgL9RQqhxrgvM7GwlF3A+TvLR6PvxhC6tLren1O0ThyFvtWn979/pFdc vgiMklVT5xpcW3/OxtBLLugWQJLE2LAocLoESKzRC4Z+GlvnTP+Rc7sLolN9lNqPUQBd +5MEz8Y1exgfIJJcaeNkvYypVLLAnaMZLgJvNU5PUO9BZN1THZIYlPM8JNrBlFldOy2v bFP0Im269doxgSe84p/g0e+w/ueAz5MYMzF+eSMeFNkMIVdvrX+BYJoHmzyc2pGNPIfD 8baA== X-Forwarded-Encrypted: i=1; AJvYcCU8Pc9PTsvELNq1UPVcgjXHhTV6xKRLeqLgJxoliqzbLukL3bRwO0NlUAWfGBVbKyt1WMxfeZ3puvswg1s=@vger.kernel.org X-Gm-Message-State: AOJu0Yw6oBpd336SrpU6zduVhWt93EuOoNJtQk+PM9OkyZqi8+3PEQcF 64j2c3ZIq6KAZNREy72GyziBprVuLsDLGf18Mi/JzKmUCJut/F0eYzJO+EyQGUA14XU= X-Gm-Gg: AeBDietffO6a2vppnks4poMlCPU0gjgqcQitTS7BsIMdYZLZE9Dc0sDLINqm7tOq6cN POTWcnSTpFNeOscZ78q3QcwiUKJ/eUUbPJEdP44t529+9ZlNIhawjGxCkiKxIJPPuSND+7ZwxRZ ofFHwNW/3crJI9oI5wRRlECEagR5qjah9aUaTzLIjQCtUcZveZ2kZbL4/EHOLXStCCrtlo0Fv3S wiU8d8rOQT6WiINl7SDNrGyBm3MNi1vOupAojqtRaPp3pOxceUVAGu42sSf3Znc8cYPRx8KYF6U eTk6/mQE+wGkZ3iklgictKAun7YT2HyG37N7iLvOGGPPkqXNoHPxlQGjYAM6WX3V6YSUGoK8yQ5 RdFGgsYs8cTANmui12iprzNJJhstcLjh9qYNUJb9X+e0j33hNvJYeTG60jxSzSaFLvhxRBxlpLd 0woBw3VMbnZzbHz5GKU9vGE5w= X-Received: by 2002:a05:600c:630a:b0:485:2fe9:336f with SMTP id 5b1f17b1804b1-488998e3cbemr200669865e9.30.1775499759198; Mon, 06 Apr 2026 11:22:39 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bd03371sm16894540e0c.16.2026.04.06.11.22.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:38 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:18 -0300 Subject: [PATCH v4 06/10] selftests/bpf: Allow test_progs to link with a partial object set Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-6-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=2109; i=rbm@suse.com; h=from:subject:message-id; bh=3TV46EUd5SknZIe1cqE/s5d8RQ9ID+g5k7uHbLKYsxk=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QHgzmbHrz/FK9Sgm4TZs2qx29QrT5ezLiJaVCMLqS1IqbrpyBg6QBBaO/9Yl2NcpcP/Xuqqj1Sm 8Cy/tiBeFjAc= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g When individual test files are skipped due to compilation failures, their .test.o files are absent. The linker step currently lists all expected .test.o files as explicit prerequisites, so make considers any missing one an error. Move TRUNNER_TEST_OBJS to the order-only prerequisite list so that their absence does not prevent linking. Use $(wildcard ...) in the filter expression passed to the linker so that only the objects that were actually built are linked in. Place the wildcard expansion before $^ in the filter to preserve the original link order: test objects must precede libbpf.a so that GNU ld, which scans static archives left-to-right, pulls in archive members that are referenced exclusively by test objects (e.g. ring_buffer__new from ringbuf.c). Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index e67f9c4cb5d7..a12bc9d76f8e 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -738,14 +738,14 @@ endif # some X.test.o files have runtime dependencies on Y.bpf.o files $(OUTPUT)/$(TRUNNER_BINARY): | $(TRUNNER_BPF_OBJS) =20 -$(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS) \ - $(TRUNNER_EXTRA_OBJS) $$(BPFOBJ) \ +$(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_EXTRA_OBJS) $$(BPFOBJ) \ $(TRUNNER_LIB_OBJS) \ $(TRUNNER_BPFTOOL) \ $(OUTPUT)/veristat \ - | $(TRUNNER_BINARY)-extras + | $(TRUNNER_BINARY)-extras \ + $(TRUNNER_TEST_OBJS) $$(call msg,BINARY,,$$@) - $(Q)$$(CC) $$(CFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) $$(LLVM_LDLIBS) $= $(LDFLAGS) $$(LLVM_LDFLAGS) -o $$@ + $(Q)$$(CC) $$(CFLAGS) $$(filter %.a %.o,$$(wildcard $(TRUNNER_TEST_OBJS))= $$^) $$(LDLIBS) $$(LLVM_LDLIBS) $$(LDFLAGS) $$(LLVM_LDFLAGS) -o $$@ $(Q)ln -sf $(if $2,..,.)/tools/build/bpftool/$(USE_BOOTSTRAP)bpftool \ $(OUTPUT)/$(if $2,$2/)bpftool =20 --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2B8B394786 for ; Mon, 6 Apr 2026 18:22:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499765; cv=none; b=IcFvAIVOW6AiR+vFhWHIMSRZo+MZTLeE7Zc87uHw/ptEHQocXPa9U+jHOtnFmkkRD4juNAiXFfqNHA9s2nJJUFyb79SATFD7yiJEhtfv+Gqm4oU/RW6RfRJvjW85VkKY37L3W3vcyuKUtSiIKRLq6xSiPn2mMaduQxXtrfBoMXE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499765; c=relaxed/simple; bh=ucptwUIJtqhx8dsrJhSQ9C3w9ScuJ0w9Y+4aIdpjm+8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YhkIs+4bx3vjAFJd6GhK87/QULmqr76NwLWRRP0C2+lbLfzCC3L4cs1OQchAUKgukIHwtKbdUONZd6fldpotc0uVXThbWtPr6lC6LZ/luHu61At/kthgfvTqIqD/4jk5oS1r0qfDGFX5xDwtHw/haT12D1Ir7XFzP8C2RKqzKZs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=cQpMFB0T; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="cQpMFB0T" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-488af9fdaa7so6797275e9.1 for ; Mon, 06 Apr 2026 11:22:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499762; x=1776104562; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=VtaCX1T0hy3mWY06GsAlGBkN/yaFPOhiixn1CTjMhwc=; b=cQpMFB0TJaAYdE0Vuuouqw71yOWty9L79FfJlLrbrsEpDT5hp5epswGnBHphQHVZzE kfaCUlxYrasn2fVTr+E7CaFFc7TTItDA0n0lbWnraL4QUh6W36HIUg/SLx6A/bGWG6hg HCQFhzESdl9Oj6RnEgBWPhgxG+KbqKxM5syP00qvpkyNnGY0SSlF26VJV8HiFdV7fmKb 4sw1vs1BolgFd3O/g4eXhd1qSrE9GhLKQOsyFeEa2wxDFfjDJK7ygYkOVB01tuoNzXzW wGH7fm0tXuYw4snRyGEQRzcFrBcUsF1/OPEq5y8W/emaq88hZMReZBUnVahnthC8FsEK usbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499762; x=1776104562; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=VtaCX1T0hy3mWY06GsAlGBkN/yaFPOhiixn1CTjMhwc=; b=NKdLcDDAoFSKYvIUGVunp9WXI8YSOf/RRn0AcOKICFF8Co94p/0NZB+6M5/HSR68hr aQ0TB6PObMV4xeGz29bCU/2Sgg3amJyHu5Gk7RSpzL0hJZn44RBaIV/1asmiGjEkM1Li 9g8dUCU8ci7tEFPvqomdSn6mgXgXTZG8+ZsywEGZSCYMEtYFlwduHAKFVhzBpI7iETUl WEqVAuBKc0oAD/JfBY+iL1RazMvMA0lhhg8qY3MkxREJsXOywMqPE0BaCZm4WSZsWBHx 0dGwyG2TqdzSPL5cvZ4L5RVINQqWvANGOW4s7wSfwaMen2WDZg3dCEks9n8iNEy4hJnV zZnw== X-Forwarded-Encrypted: i=1; AJvYcCUGOYgzd3Z2rcTLpx6wn5f0Rn8ibe696rAJTUGEj+o5jSmO+uuGuR/IHywA6V9zc32/VJRkc9V1j9Mj4Rg=@vger.kernel.org X-Gm-Message-State: AOJu0Yyss9aeZOOOH3jCKwzU/+oCTPmvnCmHlZBpSuHZ7HPpmd5hVXUw +tBClPJWcNBXEvEnJfj9Bt/r8h9mkjUtnHp1Xcc0qOes3iKPfANJkKC4/golmLa0HK8= X-Gm-Gg: AeBDievTug6i+7UVdB3z8mGnOrJiLmtFd3ID8D9F8HLM6F34j8oxGi6aTpOpyR0Jsae qrxS52UFgXoW5VsnG/YN9xNtaGbIHys87LHN9DsvDSg364l6xi+wNJX7EpKz+2lhEd6YtnZAy+G T4C4d/ct7WkelvvmqrZZUFOVqM/MOvF0OkOV1e80qoCqvEUVDtFYk7Z5qiwA1uQdHjJ6jzJJMpf jiFJ2YR6Hc5YX7GRYQC4D7Gz1/vQRa9g5nJnyfUGac9aAM238s7KfI7ml5aW4idjYVdT+t28r4I taV2pxVJgG1l4nF5gA8eOBxrfJJdfZZvafpsuKsdeJh/C8+pdm/TXmoQtSYeIu018NmfCIMyoWS Gm9rbBs5aXx9Yx5vfnXOmbWSZot2x3Or5bPUDrqmc8uJr74KCK/ydgftzcKB82eAC995mN7OOnv Bag2G/fEeomVyu X-Received: by 2002:a05:600c:c8d:b0:486:ffa3:594 with SMTP id 5b1f17b1804b1-488997a6883mr187562235e9.23.1775499762028; Mon, 06 Apr 2026 11:22:42 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bd2106csm17014057e0c.18.2026.04.06.11.22.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:41 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:19 -0300 Subject: [PATCH v4 07/10] selftests/bpf: Tolerate benchmark build failures Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-7-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=1818; i=rbm@suse.com; h=from:subject:message-id; bh=ucptwUIJtqhx8dsrJhSQ9C3w9ScuJ0w9Y+4aIdpjm+8=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QHRyc3p5anKKcI/W38lb5jswVJrWqewGR0lwA51VbpiHo5xK1mR7Q68dPAHEDbiBGKp3PiIOWQz 8yGfmpM0cuwk= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Benchmark objects depend on skeletons that may be missing when some BPF programs fail to build. In that case, benchmark object compilation or final bench linking should not abort the full selftests/bpf build. Keep both steps non-fatal, emit SKIP-BENCH or SKIP-LINK, and remove failed outputs so stale objects or binaries are not reused by later incremental builds. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index a12bc9d76f8e..2b0747604d5f 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -875,7 +875,8 @@ $(OUTPUT)/test_cpp: test_cpp.cpp $(OUTPUT)/test_core_ex= tern.skel.h $(BPFOBJ) # Benchmark runner $(OUTPUT)/bench_%.o: benchs/bench_%.c bench.h $(BPFOBJ) $(call msg,CC,,$@) - $(Q)$(CC) $(CFLAGS) -O2 -c $(filter %.c,$^) $(LDLIBS) -o $@ + $(Q)$(CC) $(CFLAGS) -O2 -c $(filter %.c,$^) $(LDLIBS) -o $@ || \ + ($(RM) $@; printf ' %-12s %s\n' 'SKIP-BENCH' '$(notdir $@)' 1>&2) $(OUTPUT)/bench_rename.o: $(OUTPUT)/test_overhead.skel.h $(OUTPUT)/bench_trigger.o: $(OUTPUT)/trigger_bench.skel.h $(OUTPUT)/bench_ringbufs.o: $(OUTPUT)/ringbuf_bench.skel.h \ @@ -918,7 +919,8 @@ $(OUTPUT)/bench: $(OUTPUT)/bench.o \ $(OUTPUT)/usdt_2.o \ # $(call msg,BINARY,,$@) - $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(filter %.a %.o,$^) $(LDLIBS) -o $@ + $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(filter %.a %.o,$(wildcard $^)) $(LDLIBS)= -o $@ || \ + ($(RM) $@; printf ' %-12s %s\n' 'SKIP-LINK' '$(notdir $@) (some benchma= rks may have been skipped)' 1>&2) =20 # This works around GCC warning about snprintf truncating strings like: # --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 37A72394791 for ; Mon, 6 Apr 2026 18:22:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499768; cv=none; b=uEE7tCNqjuLKw11Jw9aOmPT2HDQsT6Bu1BYQFoLESkhCbkTeq901T8RsY2B+sS1JWbzBS/wPRpdRI8dHTmRqYwzfAgs3GCIXM4DoVK9ljTCeDbiuo2XUJdw42WRKESQbGcSEL0t1p9pY6JV/q15/YkXbWn8j7ygzeYX4IRfzpK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499768; c=relaxed/simple; bh=oi9iikLLALiEnY24VFCpWcYTkvvNa+ktRrLGnTBV65k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qv8O2GvV786yXIuHdMq/7yy0v/1Srwv28qCtqRY/Jfl7FMqa7CQq2vBFFwBVcO3CAq2YBll/dwA83yLat5ElI4un2hqGsqwfgfeEt5lNMTu+/HJzUssqd+54stc/MAl5mmxDrfRZZpo0jRRLefcim3i14KRuvL4hjIQ4EskswMY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=M5NiXqbo; arc=none smtp.client-ip=209.85.128.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="M5NiXqbo" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-488aa77a06eso24282445e9.0 for ; Mon, 06 Apr 2026 11:22:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499766; x=1776104566; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=hnBUcaHO1k2gTBLDn9MaOizJd/ELdZ7iIsdz0Nzo7xE=; b=M5NiXqboFE0/IJYSuw7fGtXFrnAEsIgjIZ4IfQyW0BzcYL19ToEFz20TyqA9JwHBNS CRq9cGclN2kXAEMETbV/M9DaBTuA1PYCx7TMpABbkv3dq3nMSYLvHEZEpJj7M7RTJ/98 cfCCO++TPzCzMnJoto+9Gt3El8DA74tGF07EW9b86rOBpCazmeW4dVJWMD/gcFknMv/w 44zKIcaqAFJHJrw2+v+vAVNs4REN0Fi7LlvZmUaLaYQ5nEbhDKYkqgj5DHbGOYHgk4XP 1duypryJw0b4baVJnICc+uEtSWgYToWoGscXkaY4M7qawyPQYncP4DLPYBIMVzm86C/3 UOuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499766; x=1776104566; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=hnBUcaHO1k2gTBLDn9MaOizJd/ELdZ7iIsdz0Nzo7xE=; b=aWJs0v/C8e/5wA4IuYjRGagSoG5pUY29+MGezgwyc35750ln5lw8AG5ywOt829UiqQ RBTuqdJLgKEb57SpSt/cKVtG5ztjVukaE6a/ahjVaiYYPs0qlWBZKEip5aemTDuycUu+ 2KhImqyYIlJpweyOTFT9TtGPqt4Nt0WTLe1yrfGKrShLN9I41lRxKQZt48QlvwZU15/n LRpFtjkwiJIArHeDecXUP1SYfU4G6KtNbRte72a+nZxOwgucd28HXemV6t0z//83oOKj WyCNji/L2+AmGWrqccYzghTjRpP1NBRorGhIZ0lBcA07bTCQGxyLtu/iI2IraG0+/WUs mh/g== X-Forwarded-Encrypted: i=1; AJvYcCWEA80Tyyf9ixi4+CXTveDTg7zRs8dErwF/lLt3ejS+v0pUfgItpL+SAyLUc0StYTTzCudXXGoaA8Ne5og=@vger.kernel.org X-Gm-Message-State: AOJu0YypYHo347hmV/Mjhvj8R26qslcYUyf/CWRti9eqjHagdxkAkKkm 3FvsVQRxoyrSrW+82+tkfkS35BthTijwh3WCXoOgG4DoBxJVG43an78D5adEzCFld8o= X-Gm-Gg: AeBDieuyJZLCbGKerOT4CeJoCEJ3ODTIjFRQqcsNiiJaOlYnfV5bTCthvmwBloVWkZy mL8axUte0qIuMXIRmlf0AxnSNAIqr+fxF4hjwjEaqpEF/e3EU6Bbkh2dsHSD2CG3ZEbmZT9UpAU PdLywsGFMAK8adJLtDsEB56q6CZW8xBFLOVGZVeqA8EiRf44EkEZltADdtGOcOGL3Y+1ovMUoIu NazfBSP9VnyszvxfR5SoDnM7jejkUcw/j5JxUhXeiwSBxaigWKh9pdjwFbadPhzuc6eo/GLR4ST kJ3TnehnK6JKakAHJFgUI6KXOv7dkuoA61ZtzxK8EmEQZwdV3zx8e6VAfScy0C1ZxB4FgwnxqSU R3mubEjrZZOk/zSYL9VuxKYI2TdZNyRsg8yXIkm8xtX5fi47WYWsAwB5We9Cu0wzTowhRy3NTS+ Bujw2sqBWu8dYd X-Received: by 2002:a05:600c:4ec7:b0:485:3a03:ceca with SMTP id 5b1f17b1804b1-488997ee016mr179420795e9.23.1775499765553; Mon, 06 Apr 2026 11:22:45 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bd0a8a3sm18067021e0c.17.2026.04.06.11.22.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:44 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:20 -0300 Subject: [PATCH v4 08/10] selftests/bpf: Provide weak definitions for cross-test functions Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-8-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=3476; i=rbm@suse.com; h=from:subject:message-id; bh=oi9iikLLALiEnY24VFCpWcYTkvvNa+ktRrLGnTBV65k=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QDcyKsZj5BbhkMTaLt7zN8tfoxhdaU278E5+BE1RWJOQzirY89Ld9uBt7Bx6eSfNMZOelIVxE3s CgmuRL8nbfwc= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Some test files reference functions defined in other test translation units. When those units are not compiled (e.g. because a BPF skeleton could not be generated), the link step fails with undefined references. Replace forward declarations with weak stub definitions for: - uprobe_multi_func_{1,2,3}() in bpf_cookie.c (defined in uprobe_multi_test.c) - stack_mprotect() in bpf_cookie.c and iters.c (defined in test_lsm.c) The linker will prefer the strong definitions from the original objects when they are present, and fall back to the stubs otherwise. The uprobe stubs are marked noinline because uprobe_multi_test_run() takes their addresses directly to configure the BPF program's uprobe attachment points. An inlined function has no stable address in the binary, which would cause the attachment to probe the wrong location. Signed-off-by: Ricardo B. Marli=C3=A8re --- .../testing/selftests/bpf/prog_tests/bpf_cookie.c | 24 +++++++++++++++++-= ---- tools/testing/selftests/bpf/prog_tests/iters.c | 10 ++++++++- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/te= sting/selftests/bpf/prog_tests/bpf_cookie.c index 35adc3f6d443..5fc6b2cd0bb9 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -252,10 +252,17 @@ static void kprobe_multi_attach_api_subtest(void) kprobe_multi__destroy(skel); } =20 -/* defined in prog_tests/uprobe_multi_test.c */ -void uprobe_multi_func_1(void); -void uprobe_multi_func_2(void); -void uprobe_multi_func_3(void); +/* + * Weak uprobe target stubs. noinline is required because + * uprobe_multi_test_run() takes their addresses to configure the BPF + * program's attachment points; an inlined function has no stable + * address in the binary to probe. The strong definitions in + * uprobe_multi_test.c take precedence when that translation unit is + * linked. + */ +noinline __weak void uprobe_multi_func_1(void) {} +noinline __weak void uprobe_multi_func_2(void) {} +noinline __weak void uprobe_multi_func_3(void) {} =20 static void uprobe_multi_test_run(struct uprobe_multi *skel) { @@ -574,7 +581,14 @@ static void tracing_subtest(struct test_bpf_cookie *sk= el) close(fmod_ret_fd); } =20 -int stack_mprotect(void); +/* + * Weak stub for stack_mprotect(); the real definition lives in + * test_lsm.c and takes precedence when that object is linked in. + */ +__weak int stack_mprotect(void) +{ + return 0; +} =20 static void lsm_subtest(struct test_bpf_cookie *skel) { diff --git a/tools/testing/selftests/bpf/prog_tests/iters.c b/tools/testing= /selftests/bpf/prog_tests/iters.c index a539980a2fbe..6888bc9173fd 100644 --- a/tools/testing/selftests/bpf/prog_tests/iters.c +++ b/tools/testing/selftests/bpf/prog_tests/iters.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include "cgroup_helpers.h" =20 @@ -202,7 +203,14 @@ static void subtest_task_iters(void) iters_task__destroy(skel); } =20 -extern int stack_mprotect(void); +/* + * Weak stub for stack_mprotect(); the real definition lives in + * test_lsm.c and takes precedence when that object is linked in. + */ +__weak int stack_mprotect(void) +{ + return 0; +} =20 static void subtest_css_task_iters(void) { --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE6E439478A for ; Mon, 6 Apr 2026 18:22:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499772; cv=none; b=u05wVp6JmDPTa7V9s7CPLNntWPpvW5GZ7k69kkWW1/vAjQE0A3OeeBOJiNOtHRcbFqTGcL3vRfOLeoqAAfblAAw3hEIzVcBaK2+H0ErqpCrKE2YOPSmtplffc7fsWYqelenJv5290mnmad9Y0m1xoEy5uFKro+j4g/Wljdcd/4o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499772; c=relaxed/simple; bh=NO40hlT3q/UQLTKYN24Xfp26cxU/OmT6kvT04yakHR8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ujv/Hm1O2rZK1MjSHOd7bFenyjSOa7GdDOVhnwjCVheVJcTybtlhLzi0Jv57/TYfw6JiTJvgGT7xl//comYa2hBQrSvDLF8JX8qCOdaB+ErzbHaV17OPAiYQO7ashswf4oIoPt6Ed1UOMiUr6RmYpJ5qPzjDHVPXLmbD/Dqzkdw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=P+LTJAiv; arc=none smtp.client-ip=209.85.128.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="P+LTJAiv" Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-488a9033b2cso18257405e9.2 for ; Mon, 06 Apr 2026 11:22:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499769; x=1776104569; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=atRPErzIDwCuTw8U4bY1TIrRJ7Ayq0ANPp/cVJlRlp8=; b=P+LTJAiv4WgPlsLQH18qbSKBIDhmVyQzzaxmXlKoNSgNAyEdeRaCrg8iEuspfx4g/5 r62Ku2M0kkPtcqHBPX3C8nfGmmC0JZePAead49UVZ/aKXq8tXMDAzwIP4ymcvl29SAtn MK35dVwKKxrIDWGpoUmkD4F1Rts754QhReJuBwFc8teDvBmqRCENE3IG9wYW4P785qFy /qcgU0VgbWgZYgDe240vVqBTyIg06o+YecD9agWC1+aFdB95aPnqYobcCcVqz6bN229O ZvaDTvkWNYaRtnx7nWzbAUIvPB3XuadDCO8Jo+qC3wN5bY5SUHESoR2Q2w8GE0BJqH0F ltQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499769; x=1776104569; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=atRPErzIDwCuTw8U4bY1TIrRJ7Ayq0ANPp/cVJlRlp8=; b=pkvLnLq/Ra7AkOoNCiJABot5/sl+xg9h24sNVc/5TDtg9Mqk8sI70/6Ot5hkrYKA4w W2K+DmeHkZk2grdTfcJVLuvhtWFJKfWT6oXLMa5pi9LqpZgTHlN0LPzUv0Mm7esI7Bvu T1oGpJwv7v5q1C3fWhgSKO6lFtN9QsTuXDg+fk2ixb2bKOoqM95mQW6zh32t8qvMgb2d RS0NUBBMJEssBQAIn/P9wqxDjwhkhr1YAXEUuHfwKBJMXZ0/3j4RjrBhjzpQ2NqOrTC3 /2mw6/MojUoDMtyWmg4B4tLKxLhHaFi6LgXjd3MyNd1CVGSms1Dm6ziBcJWAbn9QMMOH zHRQ== X-Forwarded-Encrypted: i=1; AJvYcCXLJ9L7MOH5GTy/iPY1x7TcHM1o8hW3bCW5Yrs4M2Ul3G5YRcUL1ZltawkhjR03zepmicNoYTAM6YwFlHM=@vger.kernel.org X-Gm-Message-State: AOJu0Yys6mRiIlB5GWYJlt0pqN/9NtF0mFxpR7hlkW/p9/5WSDA2z+d/ PUdu9GCMK2hPHhVH8QUjGtZ2vi8n/IWFb+J9W4QhwkAwETcmDAe5/2GaatI36Djb5K4= X-Gm-Gg: AeBDievad86bqoZF/ZzuakMf4qYkHmr0ZDAhEvIf8PvquGto5bkqTJTnNSvbxc/J7Pt uxOY5d6BC8BPQS6+1z0onDMyKhqT7dA90fI5fVUkGBmF/1fyF6SaRt7wsrvvsSuLdKSJyewcO6k FVM+QGjiLfcSQZG4d8SkO6+q2g4afvA+P9p5Zgkq/wZfc9Yh1Tyg8QoChYkzXP7poo+8IPy7YIe 1rHirpMOm/a3Ut6hLnuVfxVQKJfw1uw/aIfP6PjxkKmxySg1s8haiVeDiJaYibXO95TXiKU/Rk6 RUgbrhjQCPYnHGZTYeG8oBI8+Vj0SoXD98Xm1ZuzyiqRu5OJHrV+6+HJ/jXoEsPy/1QFumqIJqk zRbLEdnVVSOzKCnzTYDpkqD8g6OoSeTi0VqKj+jNlhDHUMnwzlBqtSeCQRlKGbaqcKFwoOKSX4S 9wOsTFA4VQTrui X-Received: by 2002:a05:600c:6986:b0:485:445a:87d1 with SMTP id 5b1f17b1804b1-488996ecae3mr175406675e9.8.1775499769101; Mon, 06 Apr 2026 11:22:49 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-60582e1d1edsm17639880137.1.2026.04.06.11.22.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:48 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:21 -0300 Subject: [PATCH v4 09/10] selftests/bpf: Skip tests whose objects were not built Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-9-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=1740; i=rbm@suse.com; h=from:subject:message-id; bh=NO40hlT3q/UQLTKYN24Xfp26cxU/OmT6kvT04yakHR8=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QJLZSqyIII0z7HGBBkZHOTxm0gTNEchdkW7FTR5AQiBKJz9SUvEUe+NAlCp5ZNF3Vg1QK5eqlsT Xcp8u98gwBAY= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g When Kconfig options or missing headers cause a .test.o not to be compiled, the corresponding prog_test_def entry in tests.h has NULL for both run_test and run_serial_test. The existing infrastructure check treats this case as a fatal coding error and calls exit(). Separate the two failure modes: having both function pointers non-NULL is a genuine coding error and remains fatal. Having both NULL means the test object was intentionally omitted from the build; mark it should_run=3Dfalse and continue so that the remaining tests are unaffected. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/test_progs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index 0929f4a7bda4..85ac25a51a8d 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -2022,12 +2022,15 @@ int main(int argc, char **argv) test->should_run =3D should_run(&env.test_selector, test->test_num, test->test_name); =20 - if ((test->run_test =3D=3D NULL && test->run_serial_test =3D=3D NULL) || - (test->run_test !=3D NULL && test->run_serial_test !=3D NULL)) { + if (test->run_test && test->run_serial_test) { fprintf(stderr, "Test %d:%s must have either test_%s() or serial_test_%= sl() defined.\n", test->test_num, test->test_name, test->test_name, test->test_name); exit(EXIT_ERR_SETUP_INFRA); } + if (!test->run_test && !test->run_serial_test) { + test->should_run =3D false; + continue; + } if (test->should_run) test->should_tmon =3D should_tmon(&env.tmon_selector, test->test_name); } --=20 2.53.0 From nobody Tue Apr 7 12:23:29 2026 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B06338F630 for ; Mon, 6 Apr 2026 18:22:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499778; cv=none; b=SfubzkcDklXgscqH9TO0u9kHxItTTNmDt8pcE1N5AZ1FRE3BMtY7ewKX5+eUi9s0Ls75KPSV4xFqZc+jiQP58QYE36ZO395WiQGeM6NjWFAiSz+mDdh7k7k60LxvS4ttTmvTSNbaNYpJz0ch9fiHS54/J2ItGik0uJKzGpmraT8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775499778; c=relaxed/simple; bh=oPNoWp44Ch8dIaWH8jcjnz5vhr49jgxtCJBbGnfyb/o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IroAO4sn4jTqlnzdZOIfnmRnFjSp5lxbyT+D76drtpcBN3Dh4Ub6/Pvl7zsqxdcKdGFllGOLemR/oCLV6wYkNJxEjst+Z9FGtptYHa6hVhokbOsI6LpCA/rneHd4s+ij6SGMPoMqsok1SFA7BlDG5mkhjltY8FklBJmdPHchYQ0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=WJkIScop; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="WJkIScop" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-488af96f6b2so17716545e9.0 for ; Mon, 06 Apr 2026 11:22:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775499775; x=1776104575; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=lG9XFANpBIri4ZwFlF+9G0jzztKra84hF5dQuOesbq8=; b=WJkIScopo1LPAPd2jPZsoBs6xJ+U163ffmOhmbABTfTNNAg4iCHVR/O3kANFG6aBud FCzwItlgu6nvaw+kgS5E82cHYJ+Ov7JYx1DRfJLw2vtjmIWApwqrQfLyx07np1jRzyEc YQkqvIqeyQtpMikcLcm49Xg5tNjUUm2Z9r86thfwou4zGRCv3gDGrDAHHoDyt42z99uw YwZ8QvlIi26fLVk6HH/l3X+anrDDZHWL4pzDOtga1qRJ/fcVWCu9nKCVr3oThfNf7WR+ zclHU8znAwaQ453AIq8QNJxBe37lBhj9k/6/JGm1BOriZXznbp+rx1YCiIN7Ne35+AfP CghA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775499775; x=1776104575; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=lG9XFANpBIri4ZwFlF+9G0jzztKra84hF5dQuOesbq8=; b=myJqxNrzFKivTx5EL6b+ay7foqkHwMjQ2wcFemaqxV3CFn4C2AqKtrvl6H8HKRXy1E W8KvwuJh91brGiOsUO0fDxmplEtKyKnoXHtJ8eN4aOOAcCC5GcLAmkybGMdqnwKKTGxc bTF9TOeGDyebTlqeUZCbNyVppDdgrko4ZziH7Rq4h8P3ioczkTaSZIQ74ElLMKxNw4ZC BJgg+fP0DbfwTuh5BRJteWkAa3GdTfMQ4NoXW1qv0fQdsByuqYy7ToabvVyoZlV1hYiA GMiNdcdf/RlbhaU4myixWvUhE0i5X7c0Q3dV7hAm4xAvUiMDIOpjIJfWDwDgENgUcF98 BEqQ== X-Forwarded-Encrypted: i=1; AJvYcCWELMfKi7FQPZBsch6XXhevqZ5avQm6qGfQ1fy55xkFx5RfgCt757esJ9YSEYH32DKHuD9a07y/b5cU+qY=@vger.kernel.org X-Gm-Message-State: AOJu0YwkpgEIitF5ptA7v6T89FGBVE4pnS6wi1kHoseG2AOldskecFD1 0FnYFjnv5FEAwXTdfbHAIHixHA2wl5rzohM5qKrxagBfpI8U75Hnjb26tZM7pkB9OIE= X-Gm-Gg: AeBDieupdQNwoqI7ZZF4+iXdJFNNRqAgsoHpFXsD+zkMQbVFk9t31DVuPhlGhIboA9E qkkXqXAjx7/t09QTwie6dKFxGcUW0k6GridEuWLwot3Ouli9kkjEOLjXZeUvONg28tLlz7NUmaF EMXOl3srreyRo9FFYswwU/WlB1xoEJqru4Txo0qxVywGWo80Yj4I6Wp+7UbYnTSuT7qNU+Tjj6h EOhvODIi6hQOXb/i1Kc3aVmfUU4JiY9pjdCrEhseEFG7tl6GQMZTI05qBUm9YprfNQPjwvsSdRC YYGU5EgryZlS8bOET+vlXDb9N4loftyoAApQVuLSiQeY0nB2OMyPT5gB1a/nPTmSuorXjBpJ5Bl Ma/4Y0Mi/bYI13jnkyzG7jZgEyzNAVDltLLw9H5B0WRtVRSvK1zYz2uOoXuklvj5R/fsmlBw478 GWrROV84YjvqWi X-Received: by 2002:a05:600c:8b03:b0:488:81b1:ae36 with SMTP id 5b1f17b1804b1-488997d3188mr196188305e9.23.1775499774791; Mon, 06 Apr 2026 11:22:54 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bc9b75dsm17165582e0c.12.2026.04.06.11.22.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 11:22:52 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 15:22:22 -0300 Subject: [PATCH v4 10/10] selftests/bpf: Tolerate missing files during install Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260406-selftests-bpf_misconfig-v4-10-9914f50efdf7@suse.com> References: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v4-0-9914f50efdf7@suse.com> To: Andrii Nakryiko , Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Kumar Kartikeya Dwivedi , Song Liu , Yonghong Song , Jiri Olsa , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Bill Wendling , Justin Stitt Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, llvm@lists.linux.dev, =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openssh-sha256; t=1775499736; l=1301; i=rbm@suse.com; h=from:subject:message-id; bh=oPNoWp44Ch8dIaWH8jcjnz5vhr49jgxtCJBbGnfyb/o=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QO32X2js1+9VB98RLm846QzI9EOnFxUKUrv90O3Dev0b04fK8r/TKh5q6VGB9RgJWYffoVNlFQP fnluA++pJhgw= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g With partial builds, some TEST_GEN_FILES entries can be absent at install time. rsync treats missing source arguments as fatal and aborts kselftest installation. Override INSTALL_SINGLE_RULE in selftests/bpf to use --ignore-missing-args, while keeping the existing bpf-specific INSTALL_RULE extension logic. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index 2b0747604d5f..e1c100f1ef36 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -953,6 +953,13 @@ EXTRA_CLEAN :=3D $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \ # Delete partially updated (corrupted) files on error .DELETE_ON_ERROR: =20 +# Some generated files might be absent when only a subset of BPF objects +# could be built. Tell rsync to ignore missing source arguments. +override define INSTALL_SINGLE_RULE + $(if $(INSTALL_LIST),@mkdir -p $(INSTALL_PATH)) + $(if $(INSTALL_LIST),rsync -a --copy-unsafe-links --ignore-missing-args $= (INSTALL_LIST) $(INSTALL_PATH)/) +endef + DEFAULT_INSTALL_RULE :=3D $(INSTALL_RULE) override define INSTALL_RULE $(DEFAULT_INSTALL_RULE) --=20 2.53.0