From nobody Sun Feb 8 09:07:38 2026 Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) (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 3C7A533F399 for ; Fri, 9 Jan 2026 08:26:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947218; cv=none; b=YJR9p93yDBhkKVAiPZmRgv9b/PGdnAhtqx7GPbuNwDA1eXYLw41X/sSPP+8ioh72BoYupiSHic/of1dJ8UcHE0WFUgaYlet4BBoI1G7/kKGqJr/5t6ohchLTdSEwf37KrCaKWr4+L3AEvDERMVmaPDNcqhozktiCUpcCpCUpqpQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947218; c=relaxed/simple; bh=KRgennOchm4SecL+a0qWWX+iu4AtLOUYwMuL9asr6dA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aLoWEXtOGvIg73miyXaShrbuYNiARilmHYI+dxA7xhTJGWkGCI54Nm7wZLdCHIzRlzIoBK4Ry8bDpYNsVQoTFDYd23FeLccw0QERG62xfiQbZfeSbrqWZyZF5a86ceJL2DucRmDhrX3Z6z9tjy7mJdwHW3BBmGNOW0f2U7F6m/8= 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=PKB6rXX9; arc=none smtp.client-ip=209.85.214.194 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="PKB6rXX9" Received: by mail-pl1-f194.google.com with SMTP id d9443c01a7336-2a0c09bb78cso21869695ad.0 for ; Fri, 09 Jan 2026 00:26:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767947212; x=1768552012; 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=18MAnJO+sPEnlXXhWmkeZwsmbj02KmkQZndeRSrm91c=; b=PKB6rXX9kWPPSO0stUv3IdOetZz+q4+sOxD5CsBH9GiM/WZJRAdVZDjU5vKPtiWoTI 8qO+qTkMg+oApGP3EdI/W6Ky9JvoTaI83oBAHkyE0tQzr/gDMdEnkqFNTJ/mL62xTnls wuORJQ6rDjUKxquAtLAF9OeD7VFYLApiKgHqj+dce/qnqPO0FEoTqIGCgRHj4Dq2Pid4 4Ly8KAKxsyHl04esf0Vrk4vfuu2fLdDAZ+T1buTGOHqVqDz1XNFYMxaEZEOpnR8pkVhn ZydWlJugeC9fuukKWMt2efpNWv/jCskk9rh7wcLrCpWHl37EB31TeW3+xcGdHrxcPgkq ILDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767947212; x=1768552012; 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=18MAnJO+sPEnlXXhWmkeZwsmbj02KmkQZndeRSrm91c=; b=UWCLhostDPaLMivNeNSbIBQNn36ITgEaTbbLVvs9aawW/vNn54MEFFdnR2zYkFTA34 xBdp0IH9PIq3eF5EhDgeiWZz9i4spIXDqlxPl7iepieOj5rtgQ+1s5+6Soxe4OSyrvHB lgZ27Wqb9PcwT2KXhELC1petecilaSxUQXYG/jiRjhSdq3Q20DToRrQPlWAiCaPnNuAV Ki3zWGJ12VAgGB4m8Hvjqt+6opomniNNjyGu/KQH7co4aGgYbqnrLbaA874+5xqYf2r8 qL4a3J7xwJ7T0rPoQAOavXCltnj+F2djpwsUH2JvkddOVD6kJiSpiiBd1caLHBF2xDMz 60vQ== X-Forwarded-Encrypted: i=1; AJvYcCWtOzOaYaQyDcRDRhb7WdRtbQ+58QqfOkAG7LS3fXjLbRMNnC30lfKRuEsbfPCSJCcTUe4exse1VNVeuNI=@vger.kernel.org X-Gm-Message-State: AOJu0YzaOFZ+4vdDp8OPS36grm2wvv9DR1+aHzbgsMbEOCV+3V8nRe0o yJTARVovNRUOpvh1UVUXGrz7xvi2Tysfx2Rezl8RACJi9ad75ZbgJams X-Gm-Gg: AY/fxX7WA23oLOrSEEajYRO04P52Ppbi6+GZikIDj0lViG+VOWarjHKvVXhAquSJk/e +LsxaM5TIJCtaaKS+/cX2CQk7lEHplQwrfeaVsrrenl+EzyN3GyK7dlXLb7JeyvtUPZHZr4qae6 QxBymicYPv9LEv1QC8Mu08IkAgT7h3D5F8gELZkwl5Cw0LJPa0dVyCIG/GzyojxUsWloc+qEbfq U2v1AF6khanC5/lDLKbcz6kOP7XOFRnY/teOt5DGI+kTMyKJQlawvkYdS/o8i1a+DM2IY0gbAjQ gMR0GtCOEAqUArEgjlRNNPslRzTDIpmsX7HfVZtyftxC68wV5cafDojMDZktLywwDrx3JYMgYD5 IQwIeD+LOCRJQTnLrt/CpkaxwdQdb8120kVPLYHMycJ2k12vjWOBUzJIX+TJLA5EhGdMrgbVssC 4H/p4AhGM= X-Google-Smtp-Source: AGHT+IGf0QEF/d7jltyx6UG06B7MN/WN+LdN2dlUAM1K2IAl+ueP/PI0ghV05FaX8xFWfu2q1TFeJg== X-Received: by 2002:a17:903:3508:b0:2a0:a33d:1385 with SMTP id d9443c01a7336-2a3e39d7c25mr126466485ad.17.1767947212170; Fri, 09 Jan 2026 00:26:52 -0800 (PST) Received: from 7940hx ([160.187.0.149]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc7912sm100104695ad.67.2026.01.09.00.26.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 00:26:51 -0800 (PST) From: Menglong Dong X-Google-Original-From: Menglong Dong To: ast@kernel.org, eddyz87@gmail.com Cc: daniel@iogearbox.net, john.fastabend@gmail.com, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, kpsingh@kernel.org, sdf@fomichev.me, haoluo@google.com, jolsa@kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH bpf-next v3 1/3] bpf, x86: inline bpf_get_current_task() for x86_64 Date: Fri, 9 Jan 2026 16:26:29 +0800 Message-ID: <20260109082631.246647-2-dongml2@chinatelecom.cn> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260109082631.246647-1-dongml2@chinatelecom.cn> References: <20260109082631.246647-1-dongml2@chinatelecom.cn> 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" Inline bpf_get_current_task() and bpf_get_current_task_btf() for x86_64 to obtain better performance. In !CONFIG_SMP case, the percpu variable is just a normal variable, and we can read the current_task directly. Signed-off-by: Menglong Dong --- v3: - implement it in the verifier with BPF_MOV64_PERCPU_REG() instead of in x86_64 JIT. --- kernel/bpf/verifier.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index 3d44c5d06623..520c413839ee 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -17688,6 +17688,8 @@ static bool verifier_inlines_helper_call(struct bpf= _verifier_env *env, s32 imm) switch (imm) { #ifdef CONFIG_X86_64 case BPF_FUNC_get_smp_processor_id: + case BPF_FUNC_get_current_task_btf: + case BPF_FUNC_get_current_task: return env->prog->jit_requested && bpf_jit_supports_percpu_insn(); #endif default: @@ -23273,6 +23275,24 @@ static int do_misc_fixups(struct bpf_verifier_env = *env) insn =3D new_prog->insnsi + i + delta; goto next_insn; } + + /* Implement bpf_get_current_task() and bpf_get_current_task_btf() inlin= e. */ + if ((insn->imm =3D=3D BPF_FUNC_get_current_task || insn->imm =3D=3D BPF_= FUNC_get_current_task_btf) && + verifier_inlines_helper_call(env, insn->imm)) { + insn_buf[0] =3D BPF_MOV64_IMM(BPF_REG_0, (u32)(unsigned long)¤t_t= ask); + insn_buf[1] =3D BPF_MOV64_PERCPU_REG(BPF_REG_0, BPF_REG_0); + insn_buf[2] =3D BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0); + cnt =3D 3; + + new_prog =3D bpf_patch_insn_data(env, i + delta, insn_buf, cnt); + if (!new_prog) + return -ENOMEM; + + delta +=3D cnt - 1; + env->prog =3D prog =3D new_prog; + insn =3D new_prog->insnsi + i + delta; + goto next_insn; + } #endif /* Implement bpf_get_func_arg inline. */ if (prog_type =3D=3D BPF_PROG_TYPE_TRACING && --=20 2.52.0 From nobody Sun Feb 8 09:07:38 2026 Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) (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 9363933E37C for ; Fri, 9 Jan 2026 08:27:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.194 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947223; cv=none; b=ti2hx5dZp8bQsZiyh94SAeW+4xE4knjM4FXnnR2wC7SghkpSspMcmETD/tBt6F1p9Lmc2/zhig+nyR/CJipo8j70QMmadkQHP/28lSwDqMdR4niAPOxbf1DJeeGeF4yeusHP1m06xW8qDlrgiyFQPSJL0RQy0OPLmFWiymX5Nyw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947223; c=relaxed/simple; bh=XFKYbdqek82e955LuFfB7XrslWtR7nToplf1ovT/uLc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=px0OyikDxVyfCSY6q+xBUxAdSZFxcH9+vW8Py8THaFrJB/4Ow5Tb9Ag1Uotuda4xSMjxIyW4ZnZ0mB1fVOmOuNLPQAvNQaTBCfDNdYrcIgWbH4dkWZytn1iuhSBb7cgY87RVulZ90GWLBhua/QekNnNhqmDhpPyvAr+FVJZHNL0= 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=Gfm24XKT; arc=none smtp.client-ip=209.85.214.194 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="Gfm24XKT" Received: by mail-pl1-f194.google.com with SMTP id d9443c01a7336-2a3e89aa5d0so29599055ad.1 for ; Fri, 09 Jan 2026 00:27:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767947218; x=1768552018; 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=Zwi+SQABySrXhJ73Aavan6sR47ltHo8LNgDoB9IyaJE=; b=Gfm24XKTXf9PFdCwdwbaUQPIP/O0JiUcF3utyhC7MGEFXfwOh8dw7bZ11BvbjXC7YJ 9jnqI0k8bSrJ56tAhkd+bI0HNFHwaxidDfV43yCXUHmZcGrEgSqnDZqwFIweyG3g4rlN yzqWI0kGNOdOQlobZxtMKla8QCcJu9ZlhM8+TSXvbPAJTCg0iawoIyBz1E6i/DNURowO bwrtN7Yq9H2WoQPq2Y5yrGIcv/XUfty5fjQg9jUYOdx6rHBRHt2EezY+1w6+zxNYKggO 3uRGm97e3VV+tFAoG3O78thfhlA6luMBo7VjmgvxuP71YMl8prrzGELOXA7jQU5D2j1V fBhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767947218; x=1768552018; 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=Zwi+SQABySrXhJ73Aavan6sR47ltHo8LNgDoB9IyaJE=; b=GjAe1P1qNMrJRb+T1VRsGAu0874B+plO2NfojrDBmtQ/5yP0h79bx4MFm5vYmTnXs8 jtBvnq1tNy17f96mBVKUwST42wBctnSzvoJb5UFiZaL87GmEYeJmXiCn9GCR5MMteuH+ He1vXfS7FD7AIVYqKgHNW2qWGGIIfrmqslg/clYWEX/jZH5c+z4I8wOcG8SGmQDndvn2 8dIYrKdW51HQNEfX1/3NVueWjA3Y0GcaIf5R+KMpiQlPQypxaUJ/hIqhiynsrApO8+a2 icnVOw0OCJ9JHdOyu+4/UbyWk9VlEDlXSY/hB8uzU4H2WkBpujlAGnDpU0qOE2TeKSoL Hb9Q== X-Forwarded-Encrypted: i=1; AJvYcCUMpYK+EdToMrOB9ilMUw+2L6pCC+3CHXLX/vN5ltYQTQDN9uWyWnbsBmnyo4ndKyTvtGjl0vrF4zuF2vw=@vger.kernel.org X-Gm-Message-State: AOJu0YyofNkO/ccH7zmALvx/S9+SBU499fm1RGTMWO9nGFxc/ayvXnFW HLl9tcm+YximshIIgR01szL3M6l445++DmSV0+prLoYnZA/+E2OJc8Z8 X-Gm-Gg: AY/fxX4GwwPe3anCZlLdK3pqJuT+JXl/7Po3lLbG6cMHXH3yRXB4dG+bS08qz0oO9BS J37KS02tuqvx1O605HyNmqA+RquEBT7edNTuxU6CR6/ejHKUdvIn/x0g63jjFwvEeqIVU1+UU1P +4PMnyW29OSnglo+lkPfi+rAPXyi2hAv2Ppm3yhJ/m6JC7ujRdNncTe59P9La1P3VRQCra2GK1B IAmtM0Cx7qDyU+Ks/InQXiJ5iFmr1z5MuC+Q6XCzS3Ld0eGfKGqN59KvRIjXmJcDab+xc71s628 aekUANM5FZea5U89V6OerzAg0i8ETklft9JZEfMlz7ddUitmFzVAF884CJn1a6msVarbTghJLDs CukyxzGRQ4VBl4gvfY0y2g7gW46Hvw6jnY+sFiRu48epddUx390r5tNWMxhL/H0BTil/zlfesqu w1VsFoaIM= X-Google-Smtp-Source: AGHT+IFkmYIsAMugEppgaXOpQe5O3ZkdkSpkBnrFqRwXgUMwl1QncrAuD0R34kIn9aTM0yWLwMIwkw== X-Received: by 2002:a17:903:1b43:b0:2a0:bb05:df4f with SMTP id d9443c01a7336-2a3ee49c701mr96639765ad.44.1767947218306; Fri, 09 Jan 2026 00:26:58 -0800 (PST) Received: from 7940hx ([160.187.0.149]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc7912sm100104695ad.67.2026.01.09.00.26.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 00:26:58 -0800 (PST) From: Menglong Dong X-Google-Original-From: Menglong Dong To: ast@kernel.org, eddyz87@gmail.com Cc: daniel@iogearbox.net, john.fastabend@gmail.com, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, kpsingh@kernel.org, sdf@fomichev.me, haoluo@google.com, jolsa@kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH bpf-next v3 2/3] selftests/bpf: add TEST_TAG_KCONFIG_CHECK to test_loader Date: Fri, 9 Jan 2026 16:26:30 +0800 Message-ID: <20260109082631.246647-3-dongml2@chinatelecom.cn> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260109082631.246647-1-dongml2@chinatelecom.cn> References: <20260109082631.246647-1-dongml2@chinatelecom.cn> 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" Add the __kconfig_check() to specify the kernel config for the test case. The test case will be skipped if the specified Kconfig option is not matched. Signed-off-by: Menglong Dong --- tools/testing/selftests/bpf/progs/bpf_misc.h | 3 ++ tools/testing/selftests/bpf/test_loader.c | 46 +++++++++++++++++++- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/progs/bpf_misc.h b/tools/testing/s= elftests/bpf/progs/bpf_misc.h index c9bfbe1bafc1..e230f135f580 100644 --- a/tools/testing/selftests/bpf/progs/bpf_misc.h +++ b/tools/testing/selftests/bpf/progs/bpf_misc.h @@ -129,6 +129,8 @@ * * __linear_size Specify the size of the linear area of non-linear skb= s, or * 0 for linear skbs. + * + * __kconfig_check The test case is skipped if the specified Kconfig opt= ion is not set. */ #define __msg(msg) __attribute__((btf_decl_tag("comment:test_expect_msg= =3D" XSTR(__COUNTER__) "=3D" msg))) #define __not_msg(msg) __attribute__((btf_decl_tag("comment:test_expect_n= ot_msg=3D" XSTR(__COUNTER__) "=3D" msg))) @@ -163,6 +165,7 @@ #define __stdout(msg) __attribute__((btf_decl_tag("comment:test_expect_st= dout=3D" XSTR(__COUNTER__) "=3D" msg))) #define __stdout_unpriv(msg) __attribute__((btf_decl_tag("comment:test_exp= ect_stdout_unpriv=3D" XSTR(__COUNTER__) "=3D" msg))) #define __linear_size(sz) __attribute__((btf_decl_tag("comment:test_linear= _size=3D" XSTR(sz)))) +#define __kconfig_check(config) __attribute__((btf_decl_tag("comment:test_= kconfig=3D" config))) =20 /* Define common capabilities tested using __caps_unpriv */ #define CAP_NET_ADMIN 12 diff --git a/tools/testing/selftests/bpf/test_loader.c b/tools/testing/self= tests/bpf/test_loader.c index 338c035c3688..a5fbd70e37d6 100644 --- a/tools/testing/selftests/bpf/test_loader.c +++ b/tools/testing/selftests/bpf/test_loader.c @@ -4,6 +4,9 @@ #include #include #include +#include +#include +#include =20 #include "autoconf_helper.h" #include "disasm_helpers.h" @@ -44,6 +47,7 @@ #define TEST_TAG_EXPECT_STDOUT_PFX "comment:test_expect_stdout=3D" #define TEST_TAG_EXPECT_STDOUT_PFX_UNPRIV "comment:test_expect_stdout_unpr= iv=3D" #define TEST_TAG_LINEAR_SIZE "comment:test_linear_size=3D" +#define TEST_TAG_KCONFIG_CHECK "comment:test_kconfig=3D" =20 /* Warning: duplicated in bpf_misc.h */ #define POINTER_VALUE 0xbadcafe @@ -93,6 +97,7 @@ struct test_spec { int linear_sz; bool auxiliary; bool valid; + bool skip; }; =20 static int tester_init(struct test_loader *tester) @@ -394,6 +399,41 @@ static int get_current_arch(void) return ARCH_UNKNOWN; } =20 +static int kconfig_check(const char *kconfig) +{ + int len, err =3D -ENOENT; + char buf[PATH_MAX]; + struct utsname uts; + gzFile file; + + uname(&uts); + len =3D snprintf(buf, PATH_MAX, "/boot/config-%s", uts.release); + if (len < 0) + return -EINVAL; + else if (len >=3D PATH_MAX) + return -ENAMETOOLONG; + + /* gzopen also accepts uncompressed files. */ + file =3D gzopen(buf, "re"); + if (!file) + file =3D gzopen("/proc/config.gz", "re"); + + if (!file) { + fprintf(stderr, "failed to open system Kconfig\n"); + return -ENOENT; + } + + while (gzgets(file, buf, sizeof(buf))) { + if (strstr(buf, kconfig)) { + err =3D 0; + break; + } + } + + gzclose(file); + return err; +} + /* Uses btf_decl_tag attributes to describe the expected test * behavior, see bpf_misc.h for detailed description of each attribute * and attribute combinations. @@ -650,6 +690,10 @@ static int parse_test_spec(struct test_loader *tester, err =3D -EINVAL; goto cleanup; } + } else if (str_has_pfx(s, TEST_TAG_KCONFIG_CHECK)) { + val =3D s + sizeof(TEST_TAG_KCONFIG_CHECK) - 1; + if (kconfig_check(val)) + spec->skip =3D true; } } =20 @@ -1151,7 +1195,7 @@ void run_subtest(struct test_loader *tester, if (!test__start_subtest(subspec->name)) return; =20 - if ((get_current_arch() & spec->arch_mask) =3D=3D 0) { + if ((get_current_arch() & spec->arch_mask) =3D=3D 0 || spec->skip) { test__skip(); return; } --=20 2.52.0 From nobody Sun Feb 8 09:07:38 2026 Received: from mail-pl1-f193.google.com (mail-pl1-f193.google.com [209.85.214.193]) (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 A0EEF33FE17 for ; Fri, 9 Jan 2026 08:27:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.193 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947231; cv=none; b=mwrq+RLt/MCu+pdmfoYbHxHHFldmIHF3NRr9aFwbwa5H2ztTRkfuThOnlpKYd590mZvyOE0I+OnePYFTvhnPKuAYxpZnp5F9ZfwAeRed4CL+pJ7uJ8NvYH4bTXYA7WGd1rf8W/pi066bhqo2q/oyJepfiu06P8DLRzIadfA2JtY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767947231; c=relaxed/simple; bh=H6RlTHdTsIxmL/QrZ3PtuCimaAKVXgnmMJvN4Lq8+34=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JHhWUUr+fCL0jHoHYB1ag9X9q1x4zEMU09YIeqRw31gcCTviXgNt1N+AowiaugPy1yZHWcV7HDq11uQdzlBoiQcU54e+avWXNufgPM0TiGtnAue5a4EB94jH+CFku7C1Fus0fJU9FIoBwnj7iahi3bHs05xjgNSJ3MXygUGotFM= 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=Rr03BBhe; arc=none smtp.client-ip=209.85.214.193 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="Rr03BBhe" Received: by mail-pl1-f193.google.com with SMTP id d9443c01a7336-2a12ebe4b74so40707915ad.0 for ; Fri, 09 Jan 2026 00:27:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767947224; x=1768552024; 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=O+3rjUy5W7J8feKLouwr/zYB53Or9ZVm7jy6zKC25BQ=; b=Rr03BBheHGKIJZZ3oIYLwUdB1hB9GIEP7MVmO0+MzkgN0e/Q4aAuDFIjZjQMXLhIIX 3YwXUBuyDNWFi9U0fc7WuBZhdURwhWPGsQBgtPjQgk5VcJoVma2Tj7rpfvxXmLyQQj+9 83LwTQHxThyShALgjzmeq5eWZCEwdh3R0TYxuqHVTSyFMCZkUh3VdEPOb9VNSildsEOD AOesoj7GGnGQVcRY/iGzzWXDOAUdXugcHBnKaWLrVHzw0B6De0Vz5CrV+/47iivBZQ2z wTYd+J77u5MOJQ1tnZLU+qizrsT6wa3vp51WMJShvvFJtQ9nuoRDDMc/VZINKMdDbMVx m/8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767947224; x=1768552024; 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=O+3rjUy5W7J8feKLouwr/zYB53Or9ZVm7jy6zKC25BQ=; b=H07oW04PhCelRYqMDlj582EM3q9+eDFog5RZZACpS5BoLtH9uyO/M4VNmykQGiaBCt C0Dr+aAJ8+O8DIxg1JPD6UVZFWdym7LcoSA9Eb0a8UvBQWPu5VAxbgtN26bzAn49Hp45 J6OJ/TQBIPQYPsCBL72Hc4A6KOa8hwB/+7Lsxh3eIsLLQrpQb0/TgqiKJQlitJvVrDvf MvtmZx/JylpRgF/V8eX+G3P35U2DWsgQW6uoG1o5UXTVxZYuuBmzd59V4BB/XCJlC08q 48VXX4Gs7kd02U9kob1PGJx5p0G9CQ+PnO9hl5qLBA2UF/2DdnoJJ8rr3ku2JWqwNPKm 2Iyg== X-Forwarded-Encrypted: i=1; AJvYcCWQKvXT6QCwtbmpT7HVeGaNJrd3lHD972ZdrN82yq+CJGqFNsUYBFdyc54b7iv77NVL0M0hwni1207DU3s=@vger.kernel.org X-Gm-Message-State: AOJu0YxXXLDr5CDYexSVyjppoypR4SoP9gnCU2Gv/miZkjY4+qO8POCj fz4Wwsnxlj7D+v8JuU65/kNbgtBZdYXu5FiykFgE5XAqzEIOmimixQAE X-Gm-Gg: AY/fxX42IW+cGK0uceHwMGegAacEdlg3jZCR8edJRPWr1TFKNyru8IHkZj99R+FbIBO qwXZ9SnsWqH7IDwTuSAuOig52jGPNbB+yx2+uv/eqEUbn8U/X5RyEna7ERZv3TNBTEp5Bw7GJLu 2VbIQzC369LRpqto+VaVWvYkO+rxD7S5IRIpznOF3Q/lde04R/ZZ4qP7c2apnSsHVTGlVTbrEhx aJIzOt+qU7DJHveKXZCrZNkMW7pWM5cqFHnSim+1on3fbfnTukV8c5goj3vm6rWLdcW0AR+Id/Z srEQM6ElxWshXIfy049FsS0S8M6qhxXm1wONK/RnW2qwPHbJwPdbS7gMooI7AfEP9cAVgZSLApr l06hrOsmwXf1Lbrfhmleipst5OJ1v499s3v0RuFFPwn2ZMzeleULj+4jRUztPn9YmyD+jT5ZbPs DmE+8ik6A= X-Google-Smtp-Source: AGHT+IEltGLhe2yg4ioG7LN6ksVdU9p/m/3uoHSucm+2yRtJkmtDuPTTmjCVI27o/gGn1BTAX+PVZA== X-Received: by 2002:a17:902:f541:b0:2a0:c933:beed with SMTP id d9443c01a7336-2a3ee413581mr91024725ad.4.1767947224475; Fri, 09 Jan 2026 00:27:04 -0800 (PST) Received: from 7940hx ([160.187.0.149]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a3e3cc7912sm100104695ad.67.2026.01.09.00.26.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Jan 2026 00:27:04 -0800 (PST) From: Menglong Dong X-Google-Original-From: Menglong Dong To: ast@kernel.org, eddyz87@gmail.com Cc: daniel@iogearbox.net, john.fastabend@gmail.com, andrii@kernel.org, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, kpsingh@kernel.org, sdf@fomichev.me, haoluo@google.com, jolsa@kernel.org, bpf@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH bpf-next v3 3/3] selftests/bpf: test the jited inline of bpf_get_current_task Date: Fri, 9 Jan 2026 16:26:31 +0800 Message-ID: <20260109082631.246647-4-dongml2@chinatelecom.cn> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260109082631.246647-1-dongml2@chinatelecom.cn> References: <20260109082631.246647-1-dongml2@chinatelecom.cn> 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" Add the testcase for the jited inline of bpf_get_current_task(). Signed-off-by: Menglong Dong --- .../selftests/bpf/prog_tests/verifier.c | 2 ++ .../selftests/bpf/progs/verifier_jit_inline.c | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 tools/testing/selftests/bpf/progs/verifier_jit_inline.c diff --git a/tools/testing/selftests/bpf/prog_tests/verifier.c b/tools/test= ing/selftests/bpf/prog_tests/verifier.c index 5829ffd70f8f..47eb78c808c0 100644 --- a/tools/testing/selftests/bpf/prog_tests/verifier.c +++ b/tools/testing/selftests/bpf/prog_tests/verifier.c @@ -110,6 +110,7 @@ #include "verifier_xdp_direct_packet_access.skel.h" #include "verifier_bits_iter.skel.h" #include "verifier_lsm.skel.h" +#include "verifier_jit_inline.skel.h" #include "irq.skel.h" =20 #define MAX_ENTRIES 11 @@ -251,6 +252,7 @@ void test_verifier_bits_iter(void) { RUN(verifier_bits_= iter); } void test_verifier_lsm(void) { RUN(verifier_lsm); } void test_irq(void) { RUN(irq); } void test_verifier_mtu(void) { RUN(verifier_mtu); } +void test_verifier_jit_inline(void) { RUN(verifier_jit_inlin= e); } =20 static int init_test_val_map(struct bpf_object *obj, char *map_name) { diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tool= s/testing/selftests/bpf/progs/verifier_jit_inline.c new file mode 100644 index 000000000000..ba37c0841f1b --- /dev/null +++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include +#include +#include "bpf_misc.h" + +#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64) + +SEC("fentry/bpf_fentry_test1") +__description("Jit inline, bpf_get_current_task") +__success __retval(0) +__arch_x86_64 +__jited(" addq %gs:{{.*}}, %rax") +__arch_arm64 +__jited(" mrs x7, SP_EL0") +__kconfig_check("CONFIG_SMP=3Dy") +int inline_bpf_get_current_task(void) +{ + bpf_get_current_task(); + + return 0; +} + +#else + +SEC("kprobe") +__description("Jit inline is not supported, use a dummy test") +__success +int dummy_test(void) +{ + return 0; +} + +#endif + +char _license[] SEC("license") =3D "GPL"; --=20 2.52.0