From nobody Tue Apr 7 13:50:15 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