From nobody Sun Jun 14 21:21:52 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 48AAB38836C for ; Mon, 6 Apr 2026 16:11:35 +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=1775491896; cv=none; b=ckupO9y3CnPOZLutpnAJiPX3mOJ3KXJw25KwlL1PnAfS2Z9EuhJHdTw2qP4MzFOsHkwV5cpQw4+iorRLRZtuZif2b+nf4E1W1simKcIAqE6PPkBf6atYNoAf+iwi5xGBAmSx+K3+eBSmUNiA3OB++cUkAe1a6B8SrWgA5gBfA58= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491896; c=relaxed/simple; bh=hAVHhP89HnimL0oLWLC0644/U3kawRazlk2a87ZKVDY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AZgeAcm34eegBTPLDZ1vAuPC0YGXvaUL4fDJIc1YYF0sJ5UNrq6lhDzgfpS/oxcb+kBYHfFDhDiTgUcWNmjF6uYqEhvhEABuZUXxaVizmgJluE7YcPQ9VJbhB5Jrkv4MyD7VM4IqGUtOtzFF9jH66IzDs31cXXR+B69T7QHyPew= 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=YqNt59q2; 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="YqNt59q2" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4887eca00c4so27802495e9.2 for ; Mon, 06 Apr 2026 09:11:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491894; x=1776096694; 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=QpHU6AK4GWIH/sbfOIo3yMGD1Gjj7cgz5YN351qEJrA=; b=YqNt59q25AJOTUik4mxzzGx+fmEowbdWCrql8j6ol3fqHytR/Jw/giJy3id1ZG1XQD OCdhgGDzP5rcxWtQhJERByz433v08LLVDneGse5ZLQL4JKRKmIw/Afx41PNrpyJMwM8v yrgAZCjX+CBEXRI1fZCmI90nIb1mMeZtKX4EiLgOv+XSkrjlPZr9a28qlJpHT53uMYW/ WM+T5X3gwLnPVQcjp6wIs4bmvwzdw41OUWgFVHzYc+Cem8GCGZu+rjkqF/Z+DsWmO6Q6 3GccKZvRbblQS3OYjE0+zvYSoHi+F6+UlYfwRf1VhvFy4XpQHD1I0zxoqMAW8lojZqvv Ebmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491894; x=1776096694; 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=QpHU6AK4GWIH/sbfOIo3yMGD1Gjj7cgz5YN351qEJrA=; b=FBlGGVql6JUn3AQyN5hCAJgePBde5aAi6GTfaS9/dRpdyhx8yhoBOfvRrANIT6v+FO iH1YwOiaQd/2HgXusSrxX7i+G7ZhZBYthBGnHFFECeHhITvu083eU7IUXt5Yn8WzAAix ZL2uFEJ6FkFD8QB8jnCMWT/IeckJI8wxWpBI/5oJD5qxOafZoCk+pD60HS1RjFL0a22n L4wpv1lRznT1yebpiUKMsK63FQlckG6OQaRbVa7H6yMaD3Udb50MtuJq3QeFJyonrydM qrPzYWDvGKLOILqQY0KXdYhdTSdNG5ET99IEpu+iE7XhAmVuUf/TkPVEziGk6pjyQHjf 4mig== X-Forwarded-Encrypted: i=1; AJvYcCW8FqoKfBoKDCi9Rg8eaxTTirTYJxCRXOiP+tZC8sLEoNvS7Qrpj2RbqTP1fr+6URpFl0myXZHxeTlMH7w=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6CZCzZqKqcRuRXu4/jSMNqKdAFuJ4zxX8Wu8SMNhvCA9aXU8i Jm0lUSOkCov3oaPULh4Jqt4pmiximYSUd374PgdiRTkcNTgImHo9ynC4W8/vl2ZexZw= X-Gm-Gg: AeBDievjH0Se/6920S8rSLYP/eCn7G+ajBLhfJ0wdLhlR5s8jaXPcngXHPcO56fQOUy BitTLDtvV/KECkLPqWEv6j6AK3WnS0VzCHLvZss+/av1StDuEsKXmJfDYBWnLfkSGh4xNnEMonB JfKOgRqh7pTkdHnDvPpa5u4AFOlAvT+l/NcLhYkoR2NDmcMzbJr9yg8jQtvmxMWAqk6HTzqkxAu 5x4rarXQ88YcvcjnumIMegWF5J3Zp1BMnHGgj7CxiMHNPDmX6jz495nXS7KWazuE2r+A/fUD7LC S4fN0BJlDKw75aU2ZJcbwi9nJezIbio93NR/y8lGakDvm5raBy2tmvcjbaahH/gGfEIjXz1wL32 d33hIkJcs8zAXHjduQ4GFfSB0/s4FRy2kimMyBgwSpd+YLa8blNIVjU80Ztm+rwq7DtIiuWol4B P7RczcACqUoOH28TV4+gvG2H4= X-Received: by 2002:a05:600c:4752:b0:488:7ff5:2c67 with SMTP id 5b1f17b1804b1-4889976ea80mr196842705e9.12.1775491893645; Mon, 06 Apr 2026 09:11:33 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bc9cbbasm17235894e0c.9.2026.04.06.09.11.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:33 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:23 -0300 Subject: [PATCH v3 01/11] 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-v3-1-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=2399; i=rbm@suse.com; h=from:subject:message-id; bh=hAVHhP89HnimL0oLWLC0644/U3kawRazlk2a87ZKVDY=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QDeP13XzXftklBawabTHxLwO2wI9EQvIwa/FVGwg4dP+BjbJ6PtnN0K0zE+moJIbSNzV7I3+hN7 gHqvarJypjws= 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. Clear EXTRA_CFLAGS and EXTRA_LDFLAGS when invoking the kernel build to prevent host-build flags such as -static from leaking into kernel module compilation. 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..47b1bd70e276 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) EXTRA_CFLAGS=3D'' EXTRA_LDFLAGS=3D'' 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) EXTRA_CFLAGS=3D'' EXTRA_LDFLAGS=3D'' clean +endif --=20 2.53.0 From nobody Sun Jun 14 21:21:52 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 3144A3845D1 for ; Mon, 6 Apr 2026 16:11:40 +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=1775491901; cv=none; b=ClTuNzxKA47uWL9m6JW3ccgfJw9AN4x3xJkOGkVH7PXtsz4YeXSrvS895pWdmqaUq8jVlfF4BLplKSy2T9o7NucwsyggBw2ddUX1GA+ZABr2HehjsTzh4xynRL0lLoD/3zg2TXMIOgaXUA1Kpv8zeu38rxK5az+wKOZgnFoX9/I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491901; c=relaxed/simple; bh=UNpkyM9z2Uk+FmGgvL1GAOWInz7HiCFNDnRCqP3sEoI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZgTnqnBk7c+PuTxoQNkdR0CgA/5RqFtj7CL65iY2TFcnNi/Oc8DYFt4pqUOoirk6R6AhVDae6Lv24jinSzhQf3EUHlaRSD3FRPIBHLb9Cdhh6fGHAMW0/ywmFEz698xlEBtbUXKq4ORBBk/NVumke5zIhqvUpiI/LU8SeaenQVM= 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=T75Z370z; 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="T75Z370z" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-48374014a77so54862515e9.3 for ; Mon, 06 Apr 2026 09:11:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491898; x=1776096698; 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=++yFqZU4YJL2pDC+uPFxgCL5MIK1kEP1TNHUNgeqal4=; b=T75Z370zx5mWPSVsvQBGM7IWmu77Xg0aFRmwhfCbpW85CH7GeQBW1TfTyByWIyi2pt 8DB1qeITtx32j97yBmXrYC1J4wDqwXAnnfPcGIxOJ4+qiVgEJf+z9vC3nV46UKIkrqnK UeoOh5zkySitFhXrJ4IAjhvzTncy077oBOEjFYGPCbFoIHSFi8RJumeyEV/sjWR5nc7G 4FBVFGBrdLPKBvkMnB4nBS8nRcgoHSx5CsJRaRxsMUvFd1vckt95cYV0PehQ0Gs9ySYE JCLUWcrMi/crAGuCLlmhqEwRfX7aVALNr7d33MS7Yl9MfLtHNcm4Ugq5vDkvPMcd+kYs gZdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491898; x=1776096698; 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=++yFqZU4YJL2pDC+uPFxgCL5MIK1kEP1TNHUNgeqal4=; b=apbX9YHn47UIrM60LDlmEI2jogVcwmSmnBkNO5kB+hAJk9lTJKMmvVSSQFem0b/b1L Jfsvar/pHA35Jf/n/cZC4a0a7/uLk7GOl9y24Y1TeUmqnMwKuTNyukFfrG+73Ho0xAbN KKTSBKNQBCdhweTeRERaQxyKjUoFAQ+iyZVfJyxcWYfdGfz5sYLzD94saiiJJqEnh4QK oeACVX8IN8S/hY1ixjjnW2J9NaHEtD7cXSuYwyXSjthVuvsaFhrcEEN9JhKC5oLqcRWW Slojh0ordRF8GKfzRoKVh3a7aNqIyvN4OJauFv+0W2O3OxECcukLd8gd6XhI0g/4EFAQ 0RZg== X-Forwarded-Encrypted: i=1; AJvYcCVqh+62k9bLJHDoezS9fvv+CQJ+7KIegQwNuEH8xGHkH+tDVHc81r12IqNO97nQtEWREeu2Y3Mn8OZQ9co=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9tug0BmnRDWEArMv2bZ6pTAiR7aWDXYaWreyw8/eaG1yDaEJm h+DbylhQQsIAEp7aT4ZaQ6sLcCI9N61S6fJGarD9dtOzDNhJ2k9pdUyrDZ3Lw+q2WQ4= X-Gm-Gg: AeBDietZW+/ZyHvojDI3wnc+lRkQcMkaeVSltnrnRBDtApjcerCXJZagbKsY7nDDuEM Cg2wpwpQWxVzHTJEg2AQVHR+oNVBF8LcQGOIGUI3qOdREtO03PxhrEa2ytPOgdGLwwjND4vDYP0 MamD6CrtiHcQStFayER+drF0f/EOYUmOsEsN0O5knrbBOv6TdLbOk+t1lfrSYiK7BzQwgvJqtd6 +bzbR2oX8+cd8/JYFTfvSG3fdjlFxCjNyeCu1ZXJm788HsVylNNIGtJkPLw2VIJOYSYPEOBQLCn JDwxuF1+2ZoLY1XwhLh7rA7raBlRnbyFpNQZoGRX5nkqtq+L/ImiDEH50ZJo2pL2Ni7amP5P92U 8+oB53N43oeuh8Ntgdn3zzmiWILU8nUdgcTzeCIaKKR5sx+byTzR/WUS+Rn5fmBb+Dij1zT1cJC TqhiUXhtZRvnND X-Received: by 2002:a05:600c:4593:b0:485:33ad:3c9f with SMTP id 5b1f17b1804b1-488997de1c6mr212429245e9.25.1775491898536; Mon, 06 Apr 2026 09:11:38 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-953fb84c289sm13683068241.4.2026.04.06.09.11.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:36 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:24 -0300 Subject: [PATCH v3 02/11] selftests/bpf: Route test_kmods through the kselftest module flow 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-v3-2-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=2698; i=rbm@suse.com; h=from:subject:message-id; bh=UNpkyM9z2Uk+FmGgvL1GAOWInz7HiCFNDnRCqP3sEoI=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QKtb85zZMJ0Of8jLIIs2/ZtZmDnk1/VJC0cgPUaU0InvJi68iydff5f4QHUlKyEl3s7u80ccp47 wmLGfUHqI0gc= X-Developer-Key: i=rbm@suse.com; a=openssh; fpr=SHA256:pzhe0fJpYLz+3cZ33FFPhIfaUElk9CXPFFXmalIH+1g Now that test_kmods/Makefile correctly handles O=3D, KBUILD_OUTPUT, and missing kernel directories, wire it into lib.mk's module build infrastructure via TEST_GEN_MODS_DIR. Replace the bespoke pattern rule with a gen_mods_dir target that adds VMLINUX_BTF and RESOLVE_BTFIDS as prerequisites, letting lib.mk drive the actual build and clean lifecycle. Make TEST_KMOD_TARGETS order-only dependents of gen_mods_dir and make the .ko copy step resilient so that a missing module results in a SKIP rather than an error. Signed-off-by: Ricardo B. Marli=C3=A8re --- tools/testing/selftests/bpf/Makefile | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests= /bpf/Makefile index f75c4f52c028..715f282193c8 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -123,6 +123,7 @@ TEST_PROGS_EXTENDED :=3D \ TEST_KMODS :=3D bpf_testmod.ko bpf_test_no_cfi.ko bpf_test_modorder_x.ko \ bpf_test_modorder_y.ko bpf_test_rqspinlock.ko TEST_KMOD_TARGETS =3D $(addprefix $(OUTPUT)/,$(TEST_KMODS)) +TEST_GEN_MODS_DIR :=3D test_kmods =20 # Compile but not part of 'make run_tests' TEST_GEN_PROGS_EXTENDED =3D \ @@ -152,7 +153,6 @@ override define CLEAN $(Q)$(RM) -r $(TEST_GEN_FILES) $(Q)$(RM) -r $(TEST_KMODS) $(Q)$(RM) -r $(EXTRA_CLEAN) - $(Q)$(MAKE) -C test_kmods clean $(Q)$(MAKE) docs-clean endef =20 @@ -277,19 +277,15 @@ $(OUTPUT)/sign-file: ../../../../scripts/sign-file.c $< -o $@ \ $(shell $(PKG_CONFIG) --libs libcrypto 2> /dev/null || echo -lcrypto) =20 -# This should really be a grouped target, but make versions before 4.3 don= 't -# support that for regular rules. However, pattern matching rules are impl= icitly -# treated as grouped even with older versions of make, so as a workaround,= the -# subst() turns the rule into a pattern matching rule -$(addprefix test_kmods/,$(subst .ko,%ko,$(TEST_KMODS))): $(VMLINUX_BTF) $(= RESOLVE_BTFIDS) $(wildcard test_kmods/Makefile test_kmods/*.[ch]) - $(Q)$(RM) test_kmods/*.ko test_kmods/*.mod.o # force re-compilation - $(Q)$(MAKE) $(submake_extras) -C test_kmods \ - RESOLVE_BTFIDS=3D$(RESOLVE_BTFIDS) \ - EXTRA_CFLAGS=3D'' EXTRA_LDFLAGS=3D'' - -$(TEST_KMOD_TARGETS): $(addprefix test_kmods/,$(TEST_KMODS)) +gen_mods_dir: $(VMLINUX_BTF) $(RESOLVE_BTFIDS) + +$(TEST_KMOD_TARGETS): | gen_mods_dir $(call msg,MOD,,$@) - $(Q)cp test_kmods/$(@F) $@ + $(Q)if [ -f test_kmods/$(@F) ]; then \ + cp test_kmods/$(@F) $@; \ + else \ + printf ' %-8s %s\n' SKIP $(@F) 1>&2; \ + fi =20 =20 DEFAULT_BPFTOOL :=3D $(HOST_SCRATCH_DIR)/sbin/bpftool --=20 2.53.0 From nobody Sun Jun 14 21:21:52 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 A3FF138838B for ; Mon, 6 Apr 2026 16:11:43 +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=1775491905; cv=none; b=AjaeJaMtHRFqI09m7j6PH0Mqfxpy7crX5JgSgU3E7IxaloXxevL9wdVbx6JuHOOOUQn9whO2EQlGQBqg89XwjQaZalpx7Zf+A6Rpw8lnV7UH/0x7zmxVKqX9EusxkJq4Usr4ELipNBLbOwqvi6AhM0niz0Zm+fYGHQ7Q9CPyDwk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491905; c=relaxed/simple; bh=FN+8VdORP/vpW/dnE1XwDJA23v5hn6MXIt3oM3pxwBY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sOmLHNh7qgdadfOtuwLgMpooMizzXO81uQ558OcdE96Xj8Q1fUICllrHWG+q9e57fJGXh5v1N0xuci95mAUDtvnfzQArUBD98x2mYCcKydflMt1k+cwta01K2+86NrAEQvZGe4p160D6iy+aKzL7KFQMyqmt+/YArpc+JhqfIRA= 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=OFn+0U6h; 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="OFn+0U6h" Received: by mail-wm1-f51.google.com with SMTP id 5b1f17b1804b1-488a9033b2cso17087945e9.2 for ; Mon, 06 Apr 2026 09:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491902; x=1776096702; 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=2e+xZ1sQ0FFpZJoh90F4u8754A/8d4dJgjddJ1OLFpg=; b=OFn+0U6hPNLq32Lh629w4pkiWmKXftI64bcBfQwCT+8AlxlgPIs/vpER/K37+EgPmT 1JWlHERXDXYMEWaQkyelpO2KPKK31PPvesaCo0z35jjMQ2WwtbmjJHL0EYIUtu6Ix/Vd 7bttS55wagdhp+Ff8WL8JO+M6TGg4YjY8c3rzuvGypOefYsm+8o+drU1NJqZlYon0wRZ Xebg8cjB+3pQwxhV+CpqbP9tNFwdbLHLnUdHYqnNx/GNJwYfGOpbx5Zh6oDGOJTcpCZe MuAn/EeU0632KhLQP5wQ2gvaZhMsRreSg/yqIEEeIoIQiwSkedPfu0FSUM3Yxn4fDMHx NDdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491902; x=1776096702; 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=2e+xZ1sQ0FFpZJoh90F4u8754A/8d4dJgjddJ1OLFpg=; b=natOKTVMuB5LRphpxqiLzEd9NYNY2RVJMjj/QLgaVNI93d5Z6ay3Ok9qR/+HWFmKei Fb5bHPibvlOs0xUxzuzue1d/Fdrwitt78CpvNtwL0lju6T7ggMDDmGUxP5dpj+yZ5DyU Rj+Ii5XhlkAHQXy+//RVi2qKqJ58GnMuFs1AI3PGpjx5YkCtv14xIbHWMY8rSCp9/cfA UWNnoZvjYsIl5PTAqpo7gg/ek48G/5L2/M3Mg7KPU73Q+Uo2+4mY/gYAhGHWPonCacFI ESHFXG2OaUDTS5WhzDT7FvXzCSDq64eEFPRoMzN/YLbpOeR4xjAGnB0paQ1P1l5LaOOZ kPWg== X-Forwarded-Encrypted: i=1; AJvYcCVjRadj3neHHFOhiy3DsQ4SvnhSLKdeL6kfE08IQsY5WD8JQZcbK3MSmX9OzOwqqUFaaJc8tNxpPvWH3mk=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8z0wIqwIhZYlOQKWplnDu3NMgMWbHJDH3T/AdQcUjP2cy+ZMn JuzOsbremtZEBpMoPrPCO6u11jlYZoqNTd7pUByjyn1hB/GqC1o6nFxIXEUC7A6T5pQ= X-Gm-Gg: AeBDieu0W8MXLoQEnHT3fYysCV17FtBQ9Ycj/TSelKwlxPnzXvtXK0EC96OGTEfJMyu jPjAJwNHN+DN88ZQyF0XWKakQ8oCOgfBcUr5dt6Ft8Al0bNxOYp8rWzQ3liEtVivafSXJ0dATBK J/gNvGJQiqaZwuxO1E7zcMa2NjZriqLUbfR3E0Qh/ktosdZvk9clEt2QYfwBXnj+n6dF8kh+clL 0wP5Oq5t3ds97DpSDrW0M51t2etp/XFRfg8jJrrkHFbKnAK6BGE9JmpHNL2YyndUahXoexvxq5q nIOnG8/HzTZOchfr6iHCFPPXQz+ThDFeklWVXkpce7hNOd1HtZqt637sai1HguW8OIhDxX/SURZ UW49tJX1lwL46Tn+WeBQ5WriOL+r/npjHSW/yvNfUjWD19kicq4K3/emb3FQuM7MBBUp4AWbdwL eftfg/oIH6LLFi0iFpdXJeuyU= X-Received: by 2002:a05:600c:4e86:b0:480:4a8f:2d5c with SMTP id 5b1f17b1804b1-488997c9b69mr181050095e9.29.1775491902004; Mon, 06 Apr 2026 09:11:42 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-9546344aae6sm380960241.5.2026.04.06.09.11.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:41 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:25 -0300 Subject: [PATCH v3 03/11] 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-v3-3-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=6534; i=rbm@suse.com; h=from:subject:message-id; bh=FN+8VdORP/vpW/dnE1XwDJA23v5hn6MXIt3oM3pxwBY=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QPG6+SlLg83S07IuMqDzcxuB9FxJpbgC0rcsch9NlwujyLX8c9ezbl4ZMtJRDY7aKjUkddj2MeD tXbgOfrwjHAA= 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 715f282193c8..1065852e2b01 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -466,22 +466,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 @@ -587,32 +591,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 Sun Jun 14 21:21:52 2026 Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) (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 91F11388E4D for ; Mon, 6 Apr 2026 16:11:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491908; cv=none; b=dZ7caiTZA74+8dVNjGZp/0vM6fpUtSYo3qHBew54vXWeJKEqxa78aXft5NAom+6o+FsN+OjkOop0E31dEZQ8wVd/LJGYaOB71tDqPR3XD4NFsOyoo09qeS8ZOqq74Tw2XAKnZF6QqG0gS6W+i6xrlJnI6s6dtUMMiY5i4YYc6gQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491908; c=relaxed/simple; bh=Y6Op61VgoKq3gdZe0FSy+wbwKQznkmsB5z8u+Zqjivw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Rv4Gaqa9zdt4sP/05AAM/LPnds2i7c9ZgcxpzhQuj6rx4TVO8OtIH9cfJ18m3mZit/XdMJJJLIq+gz2ftQFkxcilREYPDaZKUSqDONFRBhFmJemLYWulLi7veA0YF6iRVWqfnbitBrPLnZCrfqPPvNjemq0E7fkn428XwT1bboI= 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=GZw4BCeN; arc=none smtp.client-ip=209.85.128.53 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="GZw4BCeN" Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-483487335c2so40895005e9.2 for ; Mon, 06 Apr 2026 09:11:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491905; x=1776096705; 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=5KyEH8CHmtk3sJaHZBn4POklyiKWwjDfRP+VG1KRjOM=; b=GZw4BCeNkLvalBiw8qN4wmH3jsvpjQsaYMwkKutUBZ6Xwsud0QcCKy/F7JjUaXAFmV tegareuCLI/V7M7kA65rYjzhb8pdJJx0GyXC03CQV7VuAXi6syd/WWrZfiyYaClTurKc 5G0VViB5v+uPnMLxvs7y4nRMQIF5ZFVfvLr2v6wU4e2JN7oQbBAPuzhFZ5BCF01TYEkM rpFZOtUGupE72evjJRjaSAept2wnJZwjaSQkkJHFapQ3y2DOvq6qBgEUFa1d006KdUUQ V27Nb6zGU1idP9X65yxQFGVV+R84OXKCtrIjcePDYxjEO2Dm+cNvHX3pyDHztAFuWcso lx4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491905; x=1776096705; 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=5KyEH8CHmtk3sJaHZBn4POklyiKWwjDfRP+VG1KRjOM=; b=hrMQGsdks6A+3VD8FH61Ap/0VjG3iq5TEryhGT0JiZYsciJAt15PVtmcx3NTzHMhK6 LgOrWMFugqTPauONRn+LMWQ+PFATUTh62wz5AtX2QzlpwcMifOqLxLDiwwN1wkLHW2nh g+eEYb1LosWdFQNtAagAI6A0DNXqxWnFWM4rp+zn5hKCBNCSFQUPWFMLCmvnvS0Gx+wU xUMKjDa1ogQoB3gfBEgPJdZp3hOoNVG0jBdvgi5pZL12K6eyCPO5NUK00QiCaLk4Vd0v wHpRVnKmIli4yr+ca2WOpN+7b42gGfxylJ7lAOKG0p05ZyUw6jzzPgH5EmS0J9hPPEki DbUQ== X-Forwarded-Encrypted: i=1; AJvYcCUR/RpthWpLvyd9z7WrJ8BbP3KxqLAsiY7ooNpE84et1v4bQGiZxdw/fwPIUSQsyzG2ThD23Gi8+8r4ZMM=@vger.kernel.org X-Gm-Message-State: AOJu0YzUJvodrBeOXy3mDPaB8GO8YayNn7KlcPHa6lwK2Moxe0bBLFcB RQRb7CE9tPf0J6E0o6Kw+TiE5quy7ZahAJL7PkD+wKAhzXiXAAT4nAwEY/jvdFC6Lmg= X-Gm-Gg: AeBDieurQZIGLPRjojiacB9GFmapHBV3y6yA200PlQtkDwQOgRLwWhwda4kqC/YIG9f sl3irOeCsiEh/yeMPaJnzMMTH0muUJfjwB+97JxKgxrYKjLJJ4Xn3jMsJjcYLd+7qByMl2YbIyX XvH/TnawZcWTwnabhWn38NRtfqhtfoYkUwQhToUTAGiaJJwz1XuGleHSv3AAaw+yQ3CC4LsxZkh GGM9ZOBlr+Qz77PHAAmV2bMWSYp8LqCIECIlJ0HKIMWaWqGiffSM3CtyC7EZsym8jVuQ8iOT0fI GFcm9/+dTic7ZzX7WA15CWn3XfFTgI1B9nhAeQgjFuYjeMOIE8HUNBnFiujw0rpk/2THJtNN6be kUpYZu9hlnpTjxq0yEBn7rx/dunIZA1e//IqnxinttNV7BozNxAu8HKgqSpF9e5cTEiukx748az bJOgMqssOE3WGn X-Received: by 2002:a05:600c:3f0a:b0:485:b6dd:5066 with SMTP id 5b1f17b1804b1-488996f9414mr206065935e9.7.1775491904962; Mon, 06 Apr 2026 09:11:44 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-953fb897b8dsm13308897241.7.2026.04.06.09.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:44 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:26 -0300 Subject: [PATCH v3 04/11] 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-v3-4-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=1031; i=rbm@suse.com; h=from:subject:message-id; bh=Y6Op61VgoKq3gdZe0FSy+wbwKQznkmsB5z8u+Zqjivw=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QP6R45JmKPhy2oLtA7VAxCguDZoe1ylR5jGGacD358ZJbObSXP5EhX7BBRy9WyK1ozCENn2p37g 7IfQIVY8odgo= 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 1065852e2b01..3e4c726870a1 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -699,7 +699,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 Sun Jun 14 21:21:52 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 44CA8388E5C for ; Mon, 6 Apr 2026 16:11:50 +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=1775491912; cv=none; b=gc+CHCDWquzuSX8LYO3esqUnnW1sN9Zf0n17W2g7zIxeN6wqmSCUjySFn7NjqkUe3pce+cmcS1jIs9S1nyKaySXsM+EtUVcAtdVv0hgsnngkQtpOgC99Wj46bI5hR7nXUKSm4+0b5fI3be6pGQ9NP7lCE+FA+Z+Odbi6IAJsTSM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491912; c=relaxed/simple; bh=CjKnZSdKJcfduUYX6LZCm3V+sJ3BGLQkmRsI6DpGINI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=t7yfF+73MtfSmyLe/00/vtCJk+sm/r0dKmEJ5rIa1fGrkZ6UIxqnb8JVDRj8361A7P/5vCoy4R442HuNg7y4D3Y6x/oscxZP5VH7mwzx27omdXXmXN4kfcd3B+o6NlEujFSDfXE0Np8VaNNnb4PDrI461QrRMaSLV1DLxjIA508= 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=csbPIP9n; 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="csbPIP9n" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-488a8ca4aadso19822565e9.3 for ; Mon, 06 Apr 2026 09:11:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491909; x=1776096709; 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=WWko0FMRajGjPHliy0mDmBxqRPZFl6s8N5nN4RhE8NE=; b=csbPIP9nnofpnGY2/E17zpx8Xvj+ZmB3mK71oLesdjpolMvLwzPEYq+khpCcf8IqwZ PTilouzG84Zv+AEXuGMwLN886TxD5qiw7OxKuQVCowsnCdLl9xKgptXnCIMXFBMdaClQ 0TNDwLkU1MzE2dV/mr5mDVa+fDZB5238WaJBnnwab6gWMySDvzxv8do/9HznbuArMHL/ KAI3a7DHIR9gaiOhwi7mToQHFOn8avmFPD9woksiqnQbwzaJGbSld8NGJrqvY0ikLknv PHTuFXLyuDVwl8+pF+HpNm0UbYvjyxFrULYHORU3qGB5Vf+Fd18ggdOfqh5qV7ApkHrK O5VQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491909; x=1776096709; 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=WWko0FMRajGjPHliy0mDmBxqRPZFl6s8N5nN4RhE8NE=; b=E/YoY+DJR2Hhye39akeSHpuSraooZfteT4n/2jlOd5bEDc3xRm7WFxbDlK+Uhfkp+4 Bb+4kXZuO2TG4H3nhw1E4qJDVOOrGZbIwGbdorayqqv1nDqcFN3M244BceDVL8tbmnFL P9VT4XgkWygeZHqQvyF9UC0GorxfxAw5oFNkVR5TR6EyEda38XB676NKPBSru4u1nlvw Brvs43woL8YGODkgYLockENCpcI92F5ZqFJ5JJqkPnZ5hpNKdXdoSkoEUd6Wo4YOT75v 4jHU8BHkGRRlvk9/9K2KvJaDWRtAeKQ/JK7VUGlffXESHOxUxSqmCziJQKfLNNAp0Vix Q2nQ== X-Forwarded-Encrypted: i=1; AJvYcCWZexzS+Osb6hRqKY2YLXXyvq2WVMI4RN+lbUMCTWa6OjbcWzuOkrinv9M3PbOUTslywXeHtPVARXcVtuc=@vger.kernel.org X-Gm-Message-State: AOJu0YwoU00iRZu/bzv+xGyjR8rcT0Jkk7ooJqHvsJ5toqJUanHvBPKB vnhrVmX8qbpplbs4FwCnulrvtDXfRSkbn5h8dK6dlv5O2Q8sUQ1znPVvN45C7N4SkNQ= X-Gm-Gg: AeBDieuqEiLSWpM3l8yxVnkDeCJtGjGfsGu5zw/TroHm9xCBKK1opuxaTANEcgtWwkH BFB3hV+s2S759J6w5B8voK+c+7wX8iFT3HvdLWRoNcOKCRb4R/pAqIr4bXJVI5l/pDWZV7Xkh03 pSNx5+fCwP1ZkKbfNK8pibNcrbDPcOwLmYe0ym4m4pZi6fO7eoJJAT/DVPDu2hVmDRELNbkdxLx fJz9BTJerJRGwzoFq9ENoWPDCMyPRabasEOmYS18jLkZWz8DvepqKecQqcvGSsZOvHDt2cykNTl ekh9lfetDRbcWWjwnewRcGVCASE/N8yoNBOmpvqH+OM1KR4SzFqL3MlzjVLsFK3tbR/Iwp378Sk CwurYwQe9Lbhl6wrWj1NpwRh6fIRw2TLlGyaVIx22wCATO5n0P5G/P9gDCdDqz++Cf0l8FsMcE9 pyHN+xSTLUgnjM4jI8h6XWlyA= X-Received: by 2002:a05:600c:3f0a:b0:487:2439:b7be with SMTP id 5b1f17b1804b1-488996a34c9mr202513625e9.6.1775491908554; Mon, 06 Apr 2026 09:11:48 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9baff553sm16516729e0c.8.2026.04.06.09.11.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:47 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:27 -0300 Subject: [PATCH v3 05/11] 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-v3-5-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=1610; i=rbm@suse.com; h=from:subject:message-id; bh=CjKnZSdKJcfduUYX6LZCm3V+sJ3BGLQkmRsI6DpGINI=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QAQAgIyVLzDZaCEFyIqMBpX3GCLmGh7KvDLYvFRAtLIudDVGKzvopSefPFQPqMKQ7a+ST5xfldW Wg/cnFXSXfg8= 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 3e4c726870a1..f4d6c5ed7b3a 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -693,11 +693,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 Sun Jun 14 21:21:52 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 EB1C4388E42 for ; Mon, 6 Apr 2026 16:11:53 +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=1775491915; cv=none; b=sxd7QW/eWSZm49BdSb+BBYvdYHBUVst2IPK9ICktKlbQIb6rU6x3xa54HJltxKWrDhXz8D1LT+N5+5gqCh3w/hj9hfEl2aih6gRYn88oLkUpDh0Ej+xYW4SSK8MUOHjXj1a+QR/np69qrrxuf6rYrloIGAqUvJzotTvjcgVybYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491915; c=relaxed/simple; bh=/h+s7+bE5ZJXA3QpL/3ITmBG4H2GDTMc7y6eKrVeE/s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IrdLiDxUwyCUhkgQoLIDYG8zMSdPNtEP1aPl+gki8CrKKNzHQNG0iP+wYF4BbxlDsMt54vEDvGqZnn77sXQ3bcgLR5/gel5B/iuLX5Fc2QTrmik68kOcFII6vWIyjYlFktQtuReEa7X0Qn8iaGe1rAzpIix9L3yhl5kEO6XvV9o= 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=MPdOqOKD; 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="MPdOqOKD" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-488971db0fdso29425585e9.0 for ; Mon, 06 Apr 2026 09:11:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491912; x=1776096712; 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=ckauTTLJIyO099lw+jHxSzjQ/8v0Ic+OtpUGoPBjYBQ=; b=MPdOqOKD6CqD01ClMUrxyEIIEyrHVTJ2AXTHQldYuJysKoRh+R7CAtzYxQuZbRZMW1 MI7FVAxn4YsGd4NzYCErgXs3Sce+AT/HySTY/ZrC6Jsc1R8bi7akTYSXOFkSgfUb3+Zr mL2cqITDVRHv/VppKDTP6C/cEOzRyp4qJUyI6Bzp2WPOm7A6ff2BqDIfcNDnr1KDSpny E14xll9n5Yo+GAozKAsYDi2qDpaqcUejaCpxjFStdPc1mrR1dev6Z8Pzs2xlp0KkqRlt TEQ3hV/coCh5f2Ca/ZFsYDwu+VgLitJw7wU/r/X/6oGkM30oeT7/3DDKULzerG68XOYt IsDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491912; x=1776096712; 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=ckauTTLJIyO099lw+jHxSzjQ/8v0Ic+OtpUGoPBjYBQ=; b=r7Jmy53QSX4QJ53cSen53Jep8oHG3mYxPZ9PhxA44asHokkxV5z00stFCsn8Uy1WOX YXvGJ0jGXDYVv5xeanGdSXPE631cjHT0OT4bi82LKVlM40044Go4g61Yhf+yMWjVVlxU d1+ClmOoUZf3629MossKfACHjIlIPNZjzHC4xNC1YY9HLnGgRXn24D43hfLYHxQP3DQJ VNblUoETAau7f7RwFqMwru5QK38qJ20/GE4qief3CjpAKJ0ta+b5Q556TmnZeG+Fql7R 9t/pr/NwWUexCq5fTXq3TDrlgVsvNoVjXLqiY3RyoEpbLu88VRHr+L4S8MVTZES7Z3bs Vv9Q== X-Forwarded-Encrypted: i=1; AJvYcCWUzAh4ozQR+xTkavbo9/kVyptnHaGWw4q7lKH5cMeFVtVLcKBpQeJg87k9iu+Nw4vD3m17zFijpeZxKUU=@vger.kernel.org X-Gm-Message-State: AOJu0YygGLnDVy5aZgu2YTyByVwRkQ+DEVB1aPY+b0K2zLwMiD55pMRu fYIzJhBXMaiB59J6GVPgGEVJLoN43JRbAtuWR3T8XcEp/cIfTClzg1UQ5qUkGxbMJKo= X-Gm-Gg: AeBDietQP2lO60qDrRnydxcfhnafa8XGx3Q4pP0yEcvro9+ds+/aWKqqyS2g1gUjUa6 9tKcV4TtebJtOrRRdrZ6NI+eoWvHLetSxEP4MxW7BhwEWYiY1fFmbZNWaxopU4lu06PWNh2PqFH hq6PJ1tfMAGxkPNtzg39WMe7l317bPwYKQdgjv6xBrrRuegiPP3jsZgEfVUAI+IZl6EJ5va+EbT fl0hNg/WYg/5RX1lOn8Sl8SGI0fxwcoH0WzkCljJiHaDgz1sIvURwDj3fp4oeUuuifCV0ulZX+a r9a1i96X6jdLZH4kSdn+/WBghZ6iLrCKfS0QJZI35qtEps3EHDtGsniQM3xNZJ0hyNM08bI0jad u3RMDbm2Ac3PhwSIIzkuPM5EIUfXmitGnT47Pf+hY5ZJfUlv9A19xHXNw70NSHw2yeHxmIZ3Aup OnIiVrsEEpSX+M9XHJVio+3G8= X-Received: by 2002:a05:600c:4652:b0:488:9ed3:1492 with SMTP id 5b1f17b1804b1-4889ed3266bmr92859425e9.10.1775491912203; Mon, 06 Apr 2026 09:11:52 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-953fbb1a0d7sm13429067241.13.2026.04.06.09.11.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:51 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:28 -0300 Subject: [PATCH v3 06/11] 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-v3-6-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=2101; i=rbm@suse.com; h=from:subject:message-id; bh=/h+s7+bE5ZJXA3QpL/3ITmBG4H2GDTMc7y6eKrVeE/s=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QCuPGOX/lbVrPTXQKqld5XrQJRD0QeJbC/Qyn3vUJZ2POvIip14fjL0yU+C37pESD8YRqXKpTu5 Aa02yreGY1QY= 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 f4d6c5ed7b3a..e8e92ba9d5b4 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -684,11 +684,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 Sun Jun 14 21:21:52 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 345FA345741 for ; Mon, 6 Apr 2026 16:11:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491918; cv=none; b=H3cowppFSK/a5sOHWufbeoH2rWULXybB0GPpx18o2oF4vh0bQSnRrrqFKh/mQW5wFV5G2ZVVXxXxXRLqLDbRRH/bn/VsvA8T9kOLOykNrM0v7ge9DLfb7stdHMc4Hn+aEbVGWh/MSPK44kBx489RziS3UcgBxoDlRsZS25UUMw4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491918; c=relaxed/simple; bh=THQvdXVv31TpQ7mxGEsKklR/hWrRMotZuvkB5HuFY5g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PcxCGRBg1Okl1/4LKhNbWH+RiJN1lvVTQiaZjdngy5IBC9VJhNytr9faHiI+ae13v1Ur5WRTtSJtAgWxYE891udPEef7nSRYPZeWMy8MFDjYYE+uNTToJrPMotkxCeFabgpZuXBb+Oi4gEPo/FbPPO2Aa+p1D3kEKnT1zc203FE= 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=VZPag/3y; arc=none smtp.client-ip=209.85.128.48 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="VZPag/3y" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-488a4bc360bso10387845e9.0 for ; Mon, 06 Apr 2026 09:11:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491916; x=1776096716; 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=UhJemnsUkZv11ibw/3C7vkexNe+w6VJ9//yKII3jtCI=; b=VZPag/3yd6kdLJ0QhfxPNveoRj5yWqv1T7OaRlItdUg+vLGfRdXDjKLfC5ZV1NSxQQ XnGPX8ty5KpI/z/S4sDurZY0epb2AzxRgi2Q65oxSDozcvP53+DjJ0OCDwMqSdlYTNL0 VtyWUIcJIjA18uYIBmVreqiwIJDh6vQE5WWzxX9RMJ9haEOmhFqESvjQZg0zaDFoPsqR tHlTDnHQS53YdnbRGv7d6LrqtuAKI6UhaWo0MZYy2QZhqokBvZ/syeCGT1mC2YsI8/za E43uqN+OLXGUANgRSEZL3IoP4BJ+itsq63MBmu6j6EN9FBENeH+/npHi9weyrDXu49HR yNdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491916; x=1776096716; 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=UhJemnsUkZv11ibw/3C7vkexNe+w6VJ9//yKII3jtCI=; b=Ex8IeJtPT6KKtLzCgran7DuadmgS7TeE6fJud/Z6JKtiyom0l+wYd9d4uly94t9XSY 3XIUoMq/Lg2M8WQqe7Un+6k29i1RhQ4N4GF+6RnfETTgLvWMRV6gELpRLYhcmOHHHvDy iSKz4D/WGZwGvZz//EE21Y77EegjWJzX/b3Dw1+84Oc8js5qDzPuCLKc4x2OPkvF7Old OHZeeTUh+SFgCNcj/3KIt0uQpSPTg4ZXHtpHceOgEmVyCiLzZpGA9vYC5Kf/1hUOWfj5 lrKYA9n8y1whNU2V+BCWO/ztsaUvUeDK+NPEw7VXIe5K/68KABLlYRSUdA5PhAmsCdRT WQgw== X-Forwarded-Encrypted: i=1; AJvYcCV/OBRcDDQf2TXnc2J5bTpUKRkwTDgn/mmRoZIZBw4YNNMDvWDh/jDX8eg7SfvdD5YplLVL8EeCmMnuIzs=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9EsSmCl3yCuAIGk2aKkC3rkGaawmK9xJ0Tsr42S0iDaGQlmSY qri9vm48XdEi9cLP70EjbjlT3B1CTSbHzrtHwXjkgz86OQuoaO8URqL06j7uuoNzJ78= X-Gm-Gg: AeBDietIyTVj4O98kCyJWcm6YSQLs//zK5YKIGxzRIJ6ZHfWh8/co8vDin8iFC/ZWc4 Hz+fmnIGf30TH9SYrrk2lVmKcZd35CljuPx/aetjiu9xwjA7jHBN+pbyBApPFtHQettl7uqMUhH rrSkqeUWLZY2WOTtOY0R5nqh69rqgMSMS7N44ABXhVMALpEMR9lI3sNKBZCcbTR9KGgjmV4Xrwo iY7k83FPv00gqyb5pPT79o5dNvl0d6/p+EdQF8fyzdueMyoO8oDsGRz6Js1mxf6DA+WzIMu0FLk Rinike23H9Vl5XSv/bbujtWLcaAJJu+FVKRL2qnNaNmFbpFttAPsbsThChmLsn4z1AYoMU7aNbP 1RapSbNQuC2L+WE/gVszY3zGd/EVw655KOKpV0A5nLawS6+4JyN2eJsidN6Iy/YtiSBqCEawE30 fsVR5uYGpSWHcP X-Received: by 2002:a05:600c:4512:b0:488:9324:3ab8 with SMTP id 5b1f17b1804b1-4889977604emr189339735e9.18.1775491915600; Mon, 06 Apr 2026 09:11:55 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-953fba6abbcsm13665264241.9.2026.04.06.09.11.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:54 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:29 -0300 Subject: [PATCH v3 07/11] 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-v3-7-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=2109; i=rbm@suse.com; h=from:subject:message-id; bh=THQvdXVv31TpQ7mxGEsKklR/hWrRMotZuvkB5HuFY5g=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QNnqnfZdGW7vaNVUnntgaLMuLsEhZuzIG++xaZXo9auz86OmMepb4i7aY3wF2d3bC6A5TkvYvxc EhZXeyhwnqAc= 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 e8e92ba9d5b4..bfdae212037b 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -734,14 +734,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 Sun Jun 14 21:21:52 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 1F7F2388E42 for ; Mon, 6 Apr 2026 16:12:00 +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=1775491921; cv=none; b=RLZY+erWjBzMfADfkrNxLw752TopJXRFjdwfsuTTJImNDXFgCm0IaVwQDrlTcmV8eIIoWNqzfz2TzkIKrMvZtVKs79K/R003O+ZAkAYiuykV3f1wHtahKYWh//0uJHKnAvTCrG4m3N2XaWdAqu8YSAdPW7BJew9d/WZgLubhRkg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491921; c=relaxed/simple; bh=SxhjXuCfOoDBfzhpHd2FQo7WMYqlfNQJpvpfGE0Qcnk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rvc8OlmxpkkQvwPmkzjVSf/dGCTprs6OsR/AZY5/ZkLEwWvfXAS/qfh4RMyK1m+yAZ7C5C4P3Gy56KU3B8ZOihmX/bkeAM8LuKK9uBBxEbmW+HqPdHkhPT9MEKxxrJpbTFrVEFhaIVy5HBVDLSgpIM6sYlJmUzZ4tGTsUGS4bOs= 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=AqqIB/xV; 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="AqqIB/xV" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-488ba840146so1876655e9.1 for ; Mon, 06 Apr 2026 09:11:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491918; x=1776096718; 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=bvVbJTt2G3f5MT1ZecImKaWgr21hR9oJpCuQYknRbaE=; b=AqqIB/xVV/+tl/ifggp7313YuHAocjmWlQmCEo54G8cMxxqGCca1cjIeOxTC2nzzpH XVlxLA/hXF9tma3WXOs6kcYQ2pYy/YsMnil9L1eZF7G8dNkDCw2ENs394sSTinjqZhDx Js+yPw5oDkjKJQp6HhOG7qGLrZyq9Y6odwqUMsZ9LP5hkGc4/c/BO4a4wKwDC/+oGgu6 kvtYSkqu/Cap9/ynaS4VYJB34VAsiUcUWykDDXLIUWU8kYq00osVOLiZ8SJQmuCgc/z0 7Z2+AulhbjdwdyqT7QnqQi4UQP6w1Y+6AOBp8JZc31c1tUTbQSCKeuWNFxbTM/4B3lFb IW+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491918; x=1776096718; 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=bvVbJTt2G3f5MT1ZecImKaWgr21hR9oJpCuQYknRbaE=; b=aY0y7tYz3GxeUPDphbKpGEvDY3ACc5VDG/q4xhiWQ2LeyRMgiKHWb/I6mxx9vC/xsO 5i049ZPFtFD7nOEZ3OZbsfEMWqF7RZxgpcx+aVK33aP0KWJKNnSO0dzujFOp1IQN2+9A yIrdOSOQU8UTTEMG2J9tm7cNYTLGYviBT/7tINyEh9S1/e2jER6+RgDG1VspNNj4DolL bWbaCveSiP5KfRaP+3y+Eb1GM7ggYltBvm14D4ZJUk0nzrU7W538jUmMI50/6LDEo9vi Dnta2Z7J+NaG6eRtvgliqLUh7sxqQ3w8mUx3N++L04G2PH0DsQhlYda89BBbpBZBZAlo qxFQ== X-Forwarded-Encrypted: i=1; AJvYcCWfM0rdiGfo8w/zBdKfBku9xKdGzVyzuuQpnlIAF+4Mn6AZDZm1CuvNWCazTkRg16T4VwhJE/5dCoKGTq0=@vger.kernel.org X-Gm-Message-State: AOJu0YxUhD8X/NawONSncPSp7cbOSRlkY9YTP5d+QwIze4RxEw0vb3oj MHNNv41OhBB0V8JpMT51Q/Nz9iTzGTTwMUnRP/24yELxRDs58nNLV5gvRTqQj1Z5BvQ= X-Gm-Gg: AeBDietU+DHqUjkPaExhddQudlaRXw9HvUVzPszZKdsjKjIywjDDXUA/By33cfazq+c sWv9IjTYV652kwr116VCFKF3/ImUHnPB5+iOkXdNpog9D9CDL+ql1OWjc3btjegDmDr9SL64YN6 zXqrzMMl2AAOF6xfPut3RyzvT6HuZM/wHbqxjA2lw+foKIcyjK2bZz4T/9oln2Ms6Ye1xLpFIw6 dKjgNdvoQBtY/65iB8dETLm96LE5iN95vYthWRL4EFzDnJLkzw1AmdtZrOjg1sJFzLE2925RQT6 6zNV5H4G6Z4HOkPJ2meHDxJ3cHAim2YYtZ09C4Hmtmth4bzgTDyPFf3c89P3LuFANykhOw2jeYs U30gGC5ukqSsOw5YG4Mq0DIOqUhrevymY+KCBywBBKubAdwKmHbR+XL4NLK4RN5dPVp0CyOkJWR K7lYeELscKDL8Q6ohjR4hqX2M= X-Received: by 2002:a05:600c:8012:b0:486:f4d2:eac6 with SMTP id 5b1f17b1804b1-4889974a310mr198214275e9.13.1775491918502; Mon, 06 Apr 2026 09:11:58 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-60582b562bfsm17283320137.0.2026.04.06.09.11.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:11:57 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:30 -0300 Subject: [PATCH v3 08/11] 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-v3-8-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=1818; i=rbm@suse.com; h=from:subject:message-id; bh=SxhjXuCfOoDBfzhpHd2FQo7WMYqlfNQJpvpfGE0Qcnk=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QMrhXQOPhVZEx57DEXWeTRhOLdCPBuBJxjffDgeT/GVPSwlxbq2FuHNs3JTsfnTU2Xw0l+8TPI3 9coAEaN6I9AE= 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 bfdae212037b..1e1da26153a2 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -871,7 +871,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 \ @@ -914,7 +915,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 Sun Jun 14 21:21:52 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 A45F3388E5B for ; Mon, 6 Apr 2026 16:12:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491925; cv=none; b=Gpe2faQdWMpQQFDv10FGTrX9HNLEVxi6CVi0BJdisVDZlALJVh6f7vnx5G3QWY2ZM+FsDFEfBfl/WgFfcx+FL09f0MP/8uBmEqYc7+ebRxp4W38QGTvQkdNDmUxB/y4XDn4AAIuM81rNfu+Go42iyqLfwFW4fC2QAeRk8kIv0q0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491925; c=relaxed/simple; bh=oi9iikLLALiEnY24VFCpWcYTkvvNa+ktRrLGnTBV65k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LwCi7f0o58bt+doTUdBUHHmfKY5Knm6CAu4moBv6o5ugQjSPTc0+vEgI7iQlFPUWXW2KfMiJv0+Tv6UjwS/ryn5tLmC12C9G+0is1c7bRZZh5FBL5sk4kPndd9U1HVGDJt+oBvU8IYV51tmZ5GNPzKbQyoAmeFliZyMSyBT+CLk= 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=Iw/Q0MOO; arc=none smtp.client-ip=209.85.128.49 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="Iw/Q0MOO" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-488b0e1b870so18025495e9.2 for ; Mon, 06 Apr 2026 09:12:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491922; x=1776096722; 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=Iw/Q0MOO9EGQyvFst/bpU55xiB9CXZjX7sUQ2iBmjRVXFLDcnSlRbUgjYiuoQfV67H rBRFq4sVxLR483O1GzgqK34jrISddxUAVvlpet6itQHZxHIxXobklP7tEu9nddGsyUMz c95gEieLBm4s+o0dFiPZiIMj3uWVHkmFnJhgGGP2llDBJQHlHVJ3sSUBcElsuhsBLTRL mTlD4yHIrpVByZTSAAWZ3uDNGoIRgeoE+il7aJe0JdZy8fj71mp6UqUlMXEcPsv03JQ1 ps+caFHiVS7Rrt0citmDfIlZPFur3mwIXTMcU1PK0KBmZC+9snVWmXofgFxQKVbABmZn eGQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491922; x=1776096722; 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=jV07hOIBKIt5n9xMQP3HBunIp6M+AbJpQljTYrDFfL6nBNBVquPXkKThyI3qlwNEvr 8jjajA7kGxTfG2mg1SxTCmvvUdFFTmhH+M4jJJRVeIy4wl6Zcm5f/ZR9L+C9uSsvnRsD XLjgM0y0q7oK7oEbgp46EyWQoBjBKSxZJo3rhsWgZip77cT9uy4CVCtJOwAaKvQXOI8t aam/qvnAp2SKC7i9E8VfAwROB1GXiU2WUARUvRd+GvF2VLGA1dj0WJDFTk1dLda4wPFR NLozgotFZAW7GazVQm/RW9//nPiHlbEkMwFVAVcFd3WaLYzxwttYgYU1YjwkG0uo5L+L EK7A== X-Forwarded-Encrypted: i=1; AJvYcCXw0xfku5LLJ55HM9vbL11aV3VZebVBm1jNOrcLAYatPwbT2w6HDMZtV4UnitHVFl+f9n6diWxSdpbF6ZI=@vger.kernel.org X-Gm-Message-State: AOJu0YxIOIj0+sR9BsexX15TIRYvAIzBkNELDmBtZ4xmNZL1KYHKUtUz 41MCp8K/wneGz0NRdS1/wx4t2GCqPKQMGkGJ9+iRNHBSPCJxgcIhAwuuyaRjWpGm9Rs= X-Gm-Gg: AeBDietPr8+RPESdnyluw7aZaZFmdLxulXlWWTOYrgwQPrG9q9X0cB9kCsULldUrmbA U/B+PhGRscZJJdVOdYlyYsbq5375jDISLRxunn1bbYORkeU6YZENChGtG940Q0nt/mZHPqqgWhw z/Nd0KgQS0yeDCBBZqpWrG/oClJaJNRM3AUbARvEVBqBUqE6cmnQx2NLzaxQWC/jc4fi1Xh5aOn FC1WMk7B7YcMSba2n72FFKVOM5y8VxXphsyJ1v1iMhsbjHVHhGsn11/xS9VWK8CYOLPmNbuuvmr m0SsaiCRZlfLWN/30mhC0yJCCvU4PVhen+iIGb7hj8ZbPAf+Wxg7gInDF5o4vaex7pkA55ZomnY 8Ajo37yrZFK0NiVlEsADJlfLsa0MTCt1BbzULJJHP/n3FYKWx0bql/xHEoDTtUum8DJTHv3es/R h9N3fWMrayRluL X-Received: by 2002:a05:600c:a009:b0:488:ab26:8fe0 with SMTP id 5b1f17b1804b1-488ab26986cmr87380265e9.15.1775491921954; Mon, 06 Apr 2026 09:12:01 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-56d9bc9b75dsm16666413e0c.12.2026.04.06.09.12.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:12:01 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:31 -0300 Subject: [PATCH v3 09/11] 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-v3-9-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=3476; i=rbm@suse.com; h=from:subject:message-id; bh=oi9iikLLALiEnY24VFCpWcYTkvvNa+ktRrLGnTBV65k=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QMRTO33ERhhKfJ3eGSF1yW6vRg+Wttw4K4j+X0ZxQTzTC1K0lH5zSBwBokSdV6FtplgSEFDUijf DN7iSGsqSWQ0= 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 Sun Jun 14 21:21:52 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 944343890F3 for ; Mon, 6 Apr 2026 16:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491928; cv=none; b=Jw0RkJ118nNc2kJmC375OhzjjGLcGJRK4TgQMRTrQqf0E+Kq9PqdrHpnQwjNVxhbbSzGnPktYthsqtQBMtEtGAvvRFzz4PRxJt/BleHtQRlpBk7bK7YIAhWB6MOIStFFklrEaUrhDh13zmUd5TPfKOWdjYN8tcv5ndqqPf0W0yQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491928; c=relaxed/simple; bh=NO40hlT3q/UQLTKYN24Xfp26cxU/OmT6kvT04yakHR8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Sw3beS63FIk7wWJQpV1FqiYfQ9PLf+bA7tps8mBx7TLA75R8iuV7NI/MfKOa04BJOiCpRlKoPPf+bj01M8KBpVz8GWrrmKcWH2eTbuZ2cVQeTNUv2RQbaLcZ8wv9GV96f2Jud0XRDJcvFkZ/CLsvU9U3aCXlAuwHiL3xnz7KDFM= 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=ETuy9xz7; arc=none smtp.client-ip=209.85.128.44 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="ETuy9xz7" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-488a8ca4aadso19824945e9.3 for ; Mon, 06 Apr 2026 09:12:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491925; x=1776096725; 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=ETuy9xz7zHy1IbiWvvxnJo0I6zXb/SgscW/9w/xlKEHW3yvUjO2w2ua4nFjiTN2Jrd euA8F29GnskzGt4YzUjBCLSVcnJFPMhogzvT5WCi1eo+tFRu6JGOiw5fthAths36GryZ jxin1r0x8w8x+rC8ijelcI6GPG3unqFtneGQhIR5t0swaCcYqqr0sp0FYsVD1CXxTxpc AZVE5JoQvToQkjMyDg4Unt0heePqBj0yi14Q6QD8JnDI2OcaT/M2YwK9A3u+3PsCyOD/ cyj8QQQjfVKyU8Ky26TEKX5D6A2jLlTuMSpGnRvkg26iAgnberWac3QE06ugy0k6ou2e y/Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491925; x=1776096725; 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=F2YpmzmPO9fLyqkLR72cYJD/7Wt3sLhg/rMug9iFHk2mRjfhKSmxVMBzAGRSB/XWxB Fa59zRPathsUicm9FQKwhycsBUO8YMC4xNBWYr5V1vHlvoAdjujAXGpZHnu+dEIhJm6l VPgjpWoV0wlpYMbQoxyCxVN5o/I0nt391LV1F63rwDnuShmklibxFAv7vDtkeQe7uXB/ OIxFCB/x4Vp+r4/enqB6wCjlhyEXt6RVIFU7mdAI6CK/szDXaPFv2qmHWckW2zNfd9nF ou8GTJ8JVNuiuOsq+nN6X7j7bMIucZ7XVTcX6x/09F02Jc3ZCe5Xh1o17OJBW2iU5Yu7 VRPA== X-Forwarded-Encrypted: i=1; AJvYcCWdSpNxTUMOepj44JM/cfjECReeysQPL1pQAwTbK7e7fzWhYo2eZuB2xM4X+2Mrv1aJyo2UaOe4o0y1M6k=@vger.kernel.org X-Gm-Message-State: AOJu0YwpwxBBaRr09/GhuZiUcInj594seeGiy3XqhraVJ6KE4UgXLNyQ saLqpEzN++pEoHH5XFickWIpiF3725uYScE1NYfkT3bIQYNZ/BcmFabTkNRLm6lAN8k= X-Gm-Gg: AeBDieugUVZ06aFKe4cOaRPoK6+Wz6FrFBU/SV3GLml3GuJeLYtnflFOSn8Ld7VmQQU VPCwUvtJwLWOJ2CXVaRoNU48Z1Z2A3pOoxEyciIrxZfJ7/KWzahD3L7NZl7xSztXfcf/KEXPvVy 7+GQ+OycrjdfZBnW2cAgBzePvsFZsjx2j/MetvLd+j/sMF1iSk2zKBiy5E5nImcC/Z1yyNvoy9P w7DFe18uoJZGWj4QdknY/jkURSW0EjKmknavqqeONrRLjSI0glzGO7Vrw2lWuRjVQY2IX30ELZp 6rpVUSle006sBkAdT8RWIYAyZbuxGO9skMX29h/C2v09sGeGJRSYrRBnfYHaYMbpGr/wR4N1GtY WacMHIzVlns3QUrQLnaidyXVNzgf99wG8wdRMhW/t9wgHTRbE72AJrkHuZEETA5MdmSgC2rTBZs bDYTCnWjxmVSY3 X-Received: by 2002:a05:600c:3acb:b0:485:46fd:7887 with SMTP id 5b1f17b1804b1-4889972b76amr197342355e9.13.1775491924916; Mon, 06 Apr 2026 09:12:04 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-60582e730e9sm17177979137.6.2026.04.06.09.12.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:12:04 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:32 -0300 Subject: [PATCH v3 10/11] 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-v3-10-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=1740; i=rbm@suse.com; h=from:subject:message-id; bh=NO40hlT3q/UQLTKYN24Xfp26cxU/OmT6kvT04yakHR8=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QBcPqnkEcBf86Dx9YUH5f7oorhjFt+yo7AGaRuOZT+r9Mmky2DTUhYKYG5fJM6/muLiwdhDW948 UdoUfl6iz/g8= 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 Sun Jun 14 21:21:52 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 252BB388366 for ; Mon, 6 Apr 2026 16:12:09 +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=1775491931; cv=none; b=hfSynxfGT36ftQEXlpcZjx8tnsApdzUGqmvAfJERGnEVnjLzwzjyP8eHGd38rulNR0ui6+qlRcHqUr0KUbbo808HUTI1lVAIrWYvKDappoXBIZL2sPk921gB2xO8eysL9Cp6/LCwCOM9eVvlC6edsL6INivXUG4h9T9b0Fzuobw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775491931; c=relaxed/simple; bh=/+Gi/l9wdVUQGM5LCHXWoaW6E/VYQSmnTSa7McD1NPI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NX738m3vvmvBBpsr50ZBtksWrSXczwkUh5kCpRN0KKAKJOyOO0Fzb9KFNCYTh/E44eD6/V9ponRqS6tDG+Wuk7wdV3eG3B2blPwsCWPnEauyUQMI6LqawaaW+XXzJueewaoUpsaKt4n69Oz+kKsCQ6a0zPSmll1i1PrcaJrRYnU= 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=gSDcfB+f; 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="gSDcfB+f" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-4887fd35e60so26085455e9.2 for ; Mon, 06 Apr 2026 09:12:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1775491928; x=1776096728; 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=sTBYFNqkxGFNopGVGZu2b+8zsPm9XVKJaoqPGL19kgM=; b=gSDcfB+fs1ibC3LJY76gBVv8YOYKuojWwXoWtP9JCUEO70L/X57iv1S6B+SHmXEvH7 e90RQRJTKcZ8Udbhzl5jzz+GDJcIRwjLjDhdnQIxLRVGp1WjLVHpyWqDNqlmI0SUnbmM 7XsVdUrCxF1RnPglpX/6KnzgaJ7UKthzHL3OiFSaOL2DerDWDbagIlk41JOSmyIQgwAE mjVEYV26YU22vyTGhxjXk/J2JXy/9MVClJzLnSe1cKYEfON4tcZLWuayDA1S5MZz1v1O /ZFHUrQxtrWDRKRy3OkAV62fhoUGkAVxU3aTQuyuHGtCEx6UPZ6a+a/Oda+ha+0WDvb2 dcKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775491928; x=1776096728; 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=sTBYFNqkxGFNopGVGZu2b+8zsPm9XVKJaoqPGL19kgM=; b=mYf6pStYdQXMqmAWxfImDBrRJze6RZ0JVmf8xRtArkjbEiFnqZIFGaTVJYhJhv4m7Y ZlYp3eNmKMi6qNwFO9MbIyXFX6TR2vjcEw3Wf1Su0z5XM5MCtNsf359QBUOmo1wJhloC nfTanNfErnloebuB44LHhR4N0iQ4a3Nkv7sAz9XZg+GwBDksi3Sn4OG2oDY3dpLIUvSU 5om66Sl08IWGRh6FFkBAnWLgGqRjO7jD1dJNouAnGzduknoqGK+5b3qitMqhx/jYBb18 aH2TXG7AQG20F9otSFQvv59q59KorjUGBV/JmMs0h3umnfuuI+h6Xa/IKCk5k6Y8HD2B a9Qg== X-Forwarded-Encrypted: i=1; AJvYcCUK3uiNoHc394JyaTEoBesoPV0yDOZcxGXWTSc0bfXCNlOLuMjM8uw2Tu0XInkZSUa6KVVoX0p9Dy5DoHE=@vger.kernel.org X-Gm-Message-State: AOJu0Yzx6/BfMg7zdG8CIq5xMNS5FS+eSkmONKNxTGb7tCV/TKF4/dbS cR/mBIinnatsKdUsXeOIuf3uK1MkFA9dQhshOggoqShi2SRHWL9T1uhySH8eQ1azgZA= X-Gm-Gg: AeBDietbwxQRDcDi1a90wmIb5CRHW725KIi/kcihL4EAy3qdLmQHiDmK7cmYY/4DJ6g AC7WSbGdGOppR234fMEuVEFbc8a5XGYcjIROoP4L8xUUVRvOOlCcjij506OeRzUr3uL+P4VD5kB O5P06BklM+mU3ba0OAJP5LpV8rVQim3ZAJoxlVz2slWRbjLOirWYIm7fc7jueCZahE048FtrzVC 94MSbtp2tVMaE5etPI1QG51YwRK7QTP3UaJByUpN4kCpYBLriotdJrMFCrQS6ZMN5p+sDwKFrBx Z9c0RJ8wAdzGup9U+/aOwXZ8Z15jvBgeMovaVK0djhTCVnzrELoFXswahixbuiPhnDIkByHq5c0 Bmd5Z0nzaqOtszxPQ0RqLSteJCZEGngtz5sXoRcD8J8leb6Ut5QP05R+d5pBLb5zwzTxRMQlImq 2g5OnD2sopn2Z0 X-Received: by 2002:a05:600c:3f08:b0:485:3ff1:d5ed with SMTP id 5b1f17b1804b1-488996d22f4mr213373435e9.1.1775491928345; Mon, 06 Apr 2026 09:12:08 -0700 (PDT) Received: from localhost ([2804:7f0:b767:120d:a4df:3777:2c55:2b95]) by smtp.gmail.com with ESMTPSA id ada2fe7eead31-605b214b45fsm11120032137.5.2026.04.06.09.12.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 09:12:07 -0700 (PDT) From: =?utf-8?q?Ricardo_B=2E_Marli=C3=A8re?= Date: Mon, 06 Apr 2026 13:11:33 -0300 Subject: [PATCH v3 11/11] 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-v3-11-587a1114263c@suse.com> References: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@suse.com> In-Reply-To: <20260406-selftests-bpf_misconfig-v3-0-587a1114263c@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=1775491886; l=1301; i=rbm@suse.com; h=from:subject:message-id; bh=/+Gi/l9wdVUQGM5LCHXWoaW6E/VYQSmnTSa7McD1NPI=; b=U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgguRCc5X8/UX9M40lkMnr//aFGOhce x5ezt8MFNUFlqYAAAAGcGF0YXR0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5AAAA QKu/i+AikVkWXo/wn7tgFrAS1mTmlvuJI5hDj9PkQmbAfqICG13gCJninE/aPi5oGYthBnNByBU gNGnMc+RAJgM= 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 1e1da26153a2..209bde90c3dd 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -949,6 +949,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