From nobody Thu Jun 11 00:34:49 2026 Received: from mail-dy1-f172.google.com (mail-dy1-f172.google.com [74.125.82.172]) (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 26C19346AEF for ; Fri, 27 Feb 2026 16:40:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772210452; cv=none; b=S/Z/4Ct6HM+t/EA0N8tVLVv/uysQLY+wKv6sSX6pEFrXrTOJCWy3Eyjlhm1AqbGyaVDabFqmiAQWdBKHwKHqxWbZPZcZoaeybjYDkjY8hX1N0qMfpze8e9U2GkBL6fvKfBqwkh/nSOvKnAszeNQN3S7kS4ld8wdd5sZ/fYQ0JkY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772210452; c=relaxed/simple; bh=rfMwY3TDTf+t3DovcV5Xyjtcph3FzGnl2khq6x25gII=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HNH3m46e3q8NVs22ky4fO+Dih0UcZKC+0JE+MP6BKah//Ta2fii9wQ4XC9j9CewoHkjcwMSnwlkih4XrrcRosULh24LKQs5LC8wQJn6K7snTnKhxj7UvI9Iic/JnBMz47TfTRDwQzs8gH02lxiU0b1GQVIdwTEdrCubPOKXXUPo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=geaBQBrg; arc=none smtp.client-ip=74.125.82.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="geaBQBrg" Received: by mail-dy1-f172.google.com with SMTP id 5a478bee46e88-2bdbd13ca01so4080953eec.0 for ; Fri, 27 Feb 2026 08:40:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772210450; x=1772815250; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DwPzfjKbhdcdRrML4vfhkv1hWkxorXbLpxAl/yOdJGs=; b=geaBQBrgqq2gOK5gNUJLGKLdfX7xxMDA1Umr7iZ/DcPiUuk8QqDlsBqzyNJ1b6o6vU 4QLEufNewEY42no/Gscd7lVXSvoYl8dXyDPvdfHEQf9S/K96vNO2RQdMEbCyPetTfBXn efuDN09L5Y9RcVzNj1UwGYmkOdCyuEpYeGK883odZZHGIIcm9dKg/L3K2SwVKv2+tYhT aW/5q0j4OQe0LR7j6wohrU3aPlvipViR9FFxuls8LQj9av1iHGZen3PEZCu+EQCSHt+i CfkgNyE1fAFNnu5SZTNUbtanjHT6CxsYCeDO/BPwmcK1sT1W1l/OlBQ0ugfVi2kYX+OJ L4qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772210450; x=1772815250; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DwPzfjKbhdcdRrML4vfhkv1hWkxorXbLpxAl/yOdJGs=; b=r0i1P/+3MbhtxIE5j3aFbx7rgyFX9iE9GqGYO68RBXd4ulEQXCkeqZrSc7X6HmTRiO GWSQ3DOg0WWq/gd4bLzvXVgIeDuR9cYxU8MlfaVbULuyP8ks5x8/KRPiy3DM54nhPBQJ l7HiNT/9quvSsAKaV+M6gLTIe0ZwpuxH/9b+wBLhNx9GcxrdENdx+04OhwtcbIiao4Y0 DXRkJjEhtlYSD76Berw31VPVKeLy6wPGxT7rRwRu/H12X1JPrVeXPTG1/H7sUzXEWIFv 9XW5x6AYtWxrHpDmMt0BTF0SkmAG4yrpuxJKYLSYwYM5iCrup0aNx4adYcW+VFp1wZSE A9pQ== X-Forwarded-Encrypted: i=1; AJvYcCXVnecWNBOur4j6YLXsDa01knb5ewTcKRy5DaQBTXwgxTx4K3JnoEsjb3E9pnXtLWJqvA2qkPXS5APmxNQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxYt+T1kSVUDPtBMrJ2fKacZZKJHdCyQDHPktuW+fvY0wxHgxpn K3PAKLgcbnwUz7HVpsb4GQ29ztQu+O4NfPOXmAPrFjkCYRlr5DLrimcT X-Gm-Gg: ATEYQzyvGj3cfN0vl4PagnoJMab8qez4etHlCYWUeLH0dxNiua3gFYKCXs6+BtTLtJa kp6Ui8ttQkxXyxE0fAXlDjCJTdniSgq7AZKjAmK911OA8Vx+FqU3oJrcWehjTSYLHtpqZab7mZv /7QWCGfTXxKsGGLr/9zMnGTx8/SbE2AL/A5SIoj34s2NVJXabW5LaltU4zdKOpBHOk9sqjbW8TF VBj5aVTWTg+1HSlDQOkgIpkbW6VppZ9SEgG6t/zTmTCTaWNUhEuEjo3zZsyArN5DthQDyIUQwzb uCWisZucfwyzX6ZNsD7EIiK+33ISFvdu8hoxKinyT71x6PO6lRixdzhWmF4vN72Ql18wzYxCUS7 vB0/5pa6iBg8UHZIsxNMP4zaIkOa+ozc/oQNyCnhdEgc7FIo9dvlFx2jCh36o4jcCUxxevfrGL4 X7sqUR9eodQTmHKL0Z5Mm3owOCxgip3HxvlUWrqEofA+73xJ64JXrQJlgt8NWVoIda7yRqOEP+P 7NiGI1BBt3/Jz47Pgc4OaR9u5I= X-Received: by 2002:a05:7300:c90:b0:2b8:6abf:5ebf with SMTP id 5a478bee46e88-2bde1babbf3mr1508292eec.12.1772210450168; Fri, 27 Feb 2026 08:40:50 -0800 (PST) Received: from localhost.localdomain (108-214-96-168.lightspeed.sntcca.sbcglobal.net. [108.214.96.168]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bdef9700ffsm220707eec.28.2026.02.27.08.40.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 08:40:49 -0800 (PST) From: Sun Jian To: Andrii Nakryiko , Shuah Khan Cc: Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Sun Jian Subject: [PATCH 1/2] selftests/bpf: bpf_cookie: skip kprobe_multi tests without bpf_testmod Date: Sat, 28 Feb 2026 00:40:36 +0800 Message-ID: <20260227164037.84110-2-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260227164037.84110-1-sun.jian.kdev@gmail.com> References: <20260227164037.84110-1-sun.jian.kdev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The kprobe_multi subtests rely on bpf_testmod fentry ksyms. When bpf_testmod isn't available, libbpf fails to resolve bpf_testmod_fentry_test* and skeleton load fails with -ESRCH, causing false failures. Skip these subtests when env.has_testmod is false. Signed-off-by: Sun Jian --- tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/te= sting/selftests/bpf/prog_tests/bpf_cookie.c index 75f4dff7d042..50f5e11e6e65 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -105,6 +105,11 @@ static void kprobe_multi_link_api_subtest(void) unsigned long long addrs[8]; __u64 cookies[8]; =20 + if (!env.has_testmod) { + test__skip(); + return; + } + if (!ASSERT_OK(load_kallsyms(), "load_kallsyms")) goto cleanup; =20 @@ -192,6 +197,11 @@ static void kprobe_multi_attach_api_subtest(void) }; __u64 cookies[8]; =20 + if (!env.has_testmod) { + test__skip(); + return; + } + skel =3D kprobe_multi__open_and_load(); if (!ASSERT_OK_PTR(skel, "fentry_raw_skel_load")) goto cleanup; @@ -451,7 +461,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) attr.type =3D PERF_TYPE_SOFTWARE; attr.config =3D PERF_COUNT_SW_CPU_CLOCK; attr.sample_period =3D 100000; - pfd =3D syscall(__NR_perf_event_open, &attr, -1, 0, -1, PERF_FLAG_FD_CLOE= XEC); + pfd =3D syscall(__NR_perf_event_open, &attr, 0, -1, -1, PERF_FLAG_FD_CLOE= XEC); if (!ASSERT_GE(pfd, 0, "perf_fd")) goto cleanup; =20 --=20 2.43.0 From nobody Thu Jun 11 00:34:49 2026 Received: from mail-dy1-f174.google.com (mail-dy1-f174.google.com [74.125.82.174]) (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 A946E34889F for ; Fri, 27 Feb 2026 16:40:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772210458; cv=none; b=guJ2Zbcs7xKgUjWOq/PX9EVWcXYo3/UnqgyDF6tr0LjcPTXWbbHdoIkBeUtU7weHNqWxOhRPHnr9rjLtoWpxPg60gKmAMMrkuWRgGFVXytimzgwsGRXmfMU9H1NU2xflc9F75gjD8l+X0SmuCNE0Y7dkC3P3/fZz2nuFqnQqlRo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772210458; c=relaxed/simple; bh=C9rvgcLgCnl2H3Sg4HwQ69JNuoVVfZdko+mTO0riISE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qqFXhozW4Yzg3tj4RqUBJIdDDYQeMKSlGOEOoxB7XZ0VubKNb5zhKkUQIqsplbbGNXaTu90U8TDy70ygzIRwqumF/1nx+9xATV2ARRBlNw8pfF9wX2P7A4/IBq5imL0nCyJDYIoJR96LmNFibYzmhsNptdmBA2mV7bCnJJLMgOw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LSiZX+Kg; arc=none smtp.client-ip=74.125.82.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LSiZX+Kg" Received: by mail-dy1-f174.google.com with SMTP id 5a478bee46e88-2bdc8bb60f5so1537689eec.1 for ; Fri, 27 Feb 2026 08:40:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772210456; x=1772815256; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jdhIwXbtzriV4OW5ztdIybKDlCas+wm2/e72G4CdWfk=; b=LSiZX+KgqPM8gkkTRYnQF4QKo15oV/QXh/m7oyDGR/x8wN6SnXBpLAmnYll49dVxlj DRj1bLoxgrYoIa4yr4OEaRWkDNGMlvqysGwi5RFoB3AwHtP8pHgK+nhGHDV54zBeW0kM BiVkQpBFmTTY+w0NHfT0CycYlTAjNr2jrCl2Y1cZFjbDkHH2UxL15/1crmX7Fuv11zAa fU36fxIwBEAwoDDovUDirPw7I+Ls50qNfknKYMevaYiHWEiJ3G+wW3iCx6piL/4BnNuG CTg27Ri7Oc1UpQHvQguFO70RsXV+dvmDqa329MDSLWvCaCwSjyrikupRfykFHEEJn6Uu npPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772210456; x=1772815256; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jdhIwXbtzriV4OW5ztdIybKDlCas+wm2/e72G4CdWfk=; b=fPWPlIvkVkbSf9IaP7Ag79R6lW6v06EjDSv2Yml3RYePSE3rsa1XCD8XkxVRDjzsQm OvBSI2Qr0dE1KOJZfPA3yNwvyJeAmVu7K8ttCauRiHsHSVP+nQoiib2hW8z48TQmUYoj yeuEW4mQTZOWRpg6IvECoFmYgx3xRSWdCQZJkfY5RBCMmClGswGO4zV+6nXOSOge9A/v rKAIC17NAL4XlTDpXx+FXCUQoQkCSsxu05jrEbrg0WxKWQo4trZxHQke4OACB/UEzZnh 4CQ38peeyDsHG31ALSacLXjm4TScWeN9lO8Bqp46mH2LRmCCm2LeB3ZtdAFP2C7bqqn0 mucg== X-Forwarded-Encrypted: i=1; AJvYcCXFAx/tjCAoMOxZpIrQH42oQSYiqIpditbyB2Zpd/dTHQAtSlrs8BMDnxC5U3/1kVL1M2R2DpnIkFjbxRQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy19DcH0gISE7HD6dd2Otnk4RJWGg8/HPuvNTixPlF4Q6TCMr2R 0HGnsNav3KQHjfsAYQPF9Z1ZJhNSrwGPAlOzJ+5C+5Jw5uPNYUUdTirJ X-Gm-Gg: ATEYQzwe9uTA32iUQwDn1TU3sAfoCv2qtIeJ2t80iMSNOAwSomHQNhObny7kK8T8TeF KTuQiipP1Rm/yBbmNC9xj4nyV7lJ+thltiMM8mkeiF2vP8DzOIfL/ER1NFhjZrWa+DoiHmMQ/Iw xDjfKyVYltiVOEaHfloaJaQQRlwFx2Jya8pId8NeBPRiaKiErCdB75wMtwpOfKl+6mpSLQoGAqe mmAbwwODHMwih/sJS6dVyv/bhsTFmOBP/umZE1MHrN8D0NkBILsaz0EJQX7joajcKlhdyQB3Psd RZX9ZY6PMjC0fxhS/Xb353XSU5yuMcTY4Z1I0tUJAXIIvTU2rsj2k2ib5FqGPueZwbarQS7nqbZ eBvOOVS2S4Sq10Q6t3TeMndJHBg7ja1peA9vMQlK78kvfOyvkBhwSoEEVwh1Bhq3BTqWim/wTKQ dGoG7rk/LZJoBhnRTWAgO1xev0zV3Nl6TuiU3eN2p+Hw+hrYO5FRyqA+yOtK5ZRfzcstC1C0fZN /pVnTOdgyTktLOZRRxN9UY7pp4= X-Received: by 2002:a05:693c:2c97:b0:2ba:8961:e1a1 with SMTP id 5a478bee46e88-2bde1d31e56mr1547097eec.22.1772210455641; Fri, 27 Feb 2026 08:40:55 -0800 (PST) Received: from localhost.localdomain (108-214-96-168.lightspeed.sntcca.sbcglobal.net. [108.214.96.168]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bdef9700ffsm220707eec.28.2026.02.27.08.40.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 08:40:55 -0800 (PST) From: Sun Jian To: Andrii Nakryiko , Shuah Khan Cc: Eduard Zingerman , Alexei Starovoitov , Daniel Borkmann , bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Sun Jian Subject: [PATCH 2/2] selftests/bpf: bpf_cookie: make perf_event subtest trigger reliably Date: Sat, 28 Feb 2026 00:40:37 +0800 Message-ID: <20260227164037.84110-3-sun.jian.kdev@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260227164037.84110-1-sun.jian.kdev@gmail.com> References: <20260227164037.84110-1-sun.jian.kdev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The perf_event subtest relies on SW_CPU_CLOCK sampling to trigger the BPF program, but the current CPU burn loop can be too short on slower systems and may fail to generate any overflow sample. This leaves pe_res unchanged and makes the test flaky. Make burn_cpu() take a loop count and use a longer burn only for the perf_event subtest. Also scope perf_event_open() to the current task to avoid wasting samples on unrelated activity. Tested: ./test_progs -t bpf_cookie/perf_event -vv (30 runs): 0 failures Signed-off-by: Sun Jian Reviewed-by: Emil Tsalapatis --- .../selftests/bpf/prog_tests/bpf_cookie.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 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 50f5e11e6e65..35adc3f6d443 100644 --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -431,11 +432,12 @@ static void tp_subtest(struct test_bpf_cookie *skel) bpf_link__destroy(link3); } =20 -static void burn_cpu(void) +static void burn_cpu(long loops) { - volatile int j =3D 0; + long j =3D 0; cpu_set_t cpu_set; - int i, err; + long i; + int err; =20 /* generate some branches on cpu 0 */ CPU_ZERO(&cpu_set); @@ -443,9 +445,10 @@ static void burn_cpu(void) err =3D pthread_setaffinity_np(pthread_self(), sizeof(cpu_set), &cpu_set); ASSERT_OK(err, "set_thread_affinity"); =20 - /* spin the loop for a while (random high number) */ - for (i =3D 0; i < 1000000; ++i) + for (i =3D 0; i < loops; ++i) { ++j; + barrier(); + } } =20 static void pe_subtest(struct test_bpf_cookie *skel) @@ -470,7 +473,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) if (!ASSERT_OK_PTR(link, "link1")) goto cleanup; =20 - burn_cpu(); /* trigger BPF prog */ + burn_cpu(100000000L); /* trigger BPF prog */ =20 ASSERT_EQ(skel->bss->pe_res, 0x100000, "pe_res1"); =20 @@ -489,7 +492,7 @@ static void pe_subtest(struct test_bpf_cookie *skel) if (!ASSERT_OK_PTR(link, "link2")) goto cleanup; =20 - burn_cpu(); /* trigger BPF prog */ + burn_cpu(100000000L); /* trigger BPF prog */ =20 ASSERT_EQ(skel->bss->pe_res, 0x200000, "pe_res2"); =20 --=20 2.43.0