From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dl1-f41.google.com (mail-dl1-f41.google.com [74.125.82.41]) (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 125523242D9 for ; Tue, 2 Jun 2026 00:45:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780361108; cv=none; b=AQ00Fm5prq9U6O66H1x+wGf01Ucjv9JHR78moGpzPwqTGfrvVn9P3je7iNpeAywwJ5BBe6TTDJHZU5/ytTNCiOTvA0XjeYDBtXF2DrlOfhYc0RFgPLgM1tP/VBpvP1u2kyJv72JolL8pqEvHEFNdkkBUb6n8BlXuPxPSdhai+UI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780361108; c=relaxed/simple; bh=Eg3Sf5jtbOOaNhYf44G6lZBmpK3xwTpVVZA1xoYG/Ho=; h=Mime-Version:Content-Type:Date:Message-Id:Cc:Subject:From:To: References:In-Reply-To; b=Q0J3luaZ6YQlPMOSLxx+RQsPe8z43e9v5GleaQavmErwVbjV7eyoE9xzNBllRMQAeU+Imq3VHFX8XwU9UagYG66YBPbLyJtZhYUQ03nDlydH44JWJq/h+kk/mjUpJTLIgcpb2GF7l4706aBuwg1gfWwXHo+0l+Fqh5MNf/+k9ZA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=etsalapatis.com; spf=pass smtp.mailfrom=etsalapatis.com; dkim=pass (2048-bit key) header.d=etsalapatis-com.20251104.gappssmtp.com header.i=@etsalapatis-com.20251104.gappssmtp.com header.b=sz+SsyI5; arc=none smtp.client-ip=74.125.82.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=etsalapatis.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=etsalapatis.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=etsalapatis-com.20251104.gappssmtp.com header.i=@etsalapatis-com.20251104.gappssmtp.com header.b="sz+SsyI5" Received: by mail-dl1-f41.google.com with SMTP id a92af1059eb24-1370417c01cso10414011c88.1 for ; Mon, 01 Jun 2026 17:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=etsalapatis-com.20251104.gappssmtp.com; s=20251104; t=1780361105; x=1780965905; darn=vger.kernel.org; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=y+bPqt2VFnGfSWYj8U3E7M7ga6i72nvLLb6jzjJnAdw=; b=sz+SsyI5zN6IIsfMkBRzEWaWWhGhQV80rbI9Z6Gvu4NnnhU4zo59rU+WbZyEW57cym 73uLGk3Mn2f1JM/bYE/imYqvpiB0/iuep667iR2Qh4SEb0lhHZm6ICQ8ehJiCqIe32D6 Eyc8oBSHnUJzdLgbQzpk1mM9oZTOVLiYdPd8axUVb+VRBkslFMwogQLJxx9fcODXMQgC OfVBM7m1lwSIoefbPfPt/xzDD00/TU+QfleIGnivQjyUxm+YsqeJHVrrKuayK/qqBMdZ 5zAmBbvLu/dCIF4VCCE1nWTr+CVybXEe3xohV1EWOtV79gQpImY/zr1r0kUABn5lgAob fn7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780361105; x=1780965905; h=in-reply-to:references:to:from:subject:cc:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=y+bPqt2VFnGfSWYj8U3E7M7ga6i72nvLLb6jzjJnAdw=; b=mZB1au7a9QTJ9AmtzBmEH6qhZYKtQtfPJwJ+KNvok6sZenDCzjIEsfaouiQG9lGa0J Rkyg5pk0LVwp+WYmqwaIpZNbwsb60WJZEkoMMG3ogpTnvOHAKOoYmHvjmyDua5D4/yTd TbU0lTX7RBSFN9XnclZ48VZnDmWp+aGSlkNOeSEiSCypKO7eoIVLf2CT2wo1mCejHKOv OOqBAII8+hZYQ/W74cJhM/YTgqPGgab4ZZpXhUYQmmeCw4ZTPA6YbDUUIWXYpLoXpqRg VyubNEIKJq34k/2SufdUHbvfmGHlMq4lo3cUIip2Aqqkq9AVygloMoEYiHLvZh31VEWy MiHQ== X-Forwarded-Encrypted: i=1; AFNElJ/OnnO5SDKud5frO96GnziWz6QuWiFtgdJL/YlfZLyu+BoXrFRXck764k5oP2vsRZ8ELGnkCkxLmBacpP8=@vger.kernel.org X-Gm-Message-State: AOJu0YwMdIOld9sTa3aNw/526fPhZFSIcHX96IDv0q8TL6gL/Nc5qIUZ jzznUSZFrhMMHiSWGUXYRpiLr4MFn0X1X0Bc9nlBiNQ53sLom/wzb4Nz6oEYshVRHYN4DM3JVoo lrG9458HlMfYE X-Gm-Gg: Acq92OHNYgn7zqigc+TFQW7/l27ChmXKc2DwGLAGW4K3UMJnfRFE+KNk/32ZeKsCHo+ VeuoNE9iRWMVUOkKqvSkaEjoPBskHu2SVbExUTfg8rFiJJQGlVGoLE2ebrvqwY2XKBeux6Co/H1 IyTTU6X7BpVYw+0HuXFOktM5imLmZnNfM2uXeET9n53Dd+fHREdtSrazmCsBXD2yyDZPNP9XcqN e0g7dStJQNdIbvf+MLE0yW4dk/TXO7nO6uQiJlnbxulhNJuPFkx2HkxVSlesK5S0uu52Gdn7qJ2 W2vjgdj+4E81QxdFHhyj8v4bLZU3OmWjL30JbcDOkTYrHX+z+5RsOqm0px1S3vaexlX82wCSV6y n1ooKSAKrym0n5Xp5zhcNgFkKKWYT3iu44RzWoULwhXz9qZ8jZ/Cjyg5YTm/GMSvgh16U129svg JYBGmTc0LAcJdC/5M= X-Received: by 2002:a05:7022:2528:b0:137:9399:fc59 with SMTP id a92af1059eb24-137d425fd46mr5259764c88.21.1780361104925; Mon, 01 Jun 2026 17:45:04 -0700 (PDT) Received: from localhost ([2620:10d:c090:600::4f12]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-137b3c7fd47sm8651123c88.14.2026.06.01.17.45.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Jun 2026 17:45:04 -0700 (PDT) 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 Date: Mon, 01 Jun 2026 20:45:01 -0400 Message-Id: Cc: , "Bastien Curutchet" , "Thomas Petazzoni" , , , Subject: Re: [PATCH bpf-next] selftests/bpf: ignore call depth accounting for retbleed in verifier tests From: "Emil Tsalapatis" To: =?utf-8?b?QWxleGlzIExvdGhvcsOpIChlQlBGIEZvdW5kYXRpb24p?= , "Andrii Nakryiko" , "Eduard Zingerman" , "Alexei Starovoitov" , "Daniel Borkmann" , "Martin KaFai Lau" , "Kumar Kartikeya Dwivedi" , "Song Liu" , "Yonghong Song" , "Jiri Olsa" , "Shuah Khan" X-Mailer: aerc 0.21.0-0-g5549850facc2 References: <20260528-fix_tests_for_retbleed_stuff-v1-1-c2022a1f3bee@bootlin.com> In-Reply-To: <20260528-fix_tests_for_retbleed_stuff-v1-1-c2022a1f3bee@bootlin.com> On Thu May 28, 2026 at 9:27 AM EDT, Alexis Lothor=C3=A9 (eBPF Foundation) w= rote: > When running the selftests on a retbleed-affected platform (eg: > Skylake), with call depth accounting enabled > (CONFIG_CALL_DEPTH_TRACKING=3Dy) _and_ with retbleed=3Dstuff, some verifi= er > selftests fail to validate the jited instructions. For example: > > MATCHED SUBSTR: ' endbr64' > MATCHED SUBSTR: ' nopl (%rax,%rax)' > MATCHED SUBSTR: ' xorq %rax, %rax' > MATCHED SUBSTR: ' pushq %rbp' > MATCHED SUBSTR: ' movq %rsp, %rbp' > MATCHED SUBSTR: ' endbr64' > MATCHED SUBSTR: ' cmpq $0x21, %rax' > MATCHED SUBSTR: ' ja L0' > MATCHED SUBSTR: ' pushq %rax' > MATCHED SUBSTR: ' movq %rsp, %rax' > MATCHED SUBSTR: ' jmp L1' > MATCHED SUBSTR: 'L0: pushq %rax' > MATCHED SUBSTR: 'L1: pushq %rax' > MATCHED SUBSTR: ' movq -0x10(%rbp), %rax' > WRONG LINE REGEX: ' callq 0x{{.*}}' > > Those affected selftests allways fail on some call instruction: this > failure is due to the JIT compiler emitting call depth accounting for > retbleed mitigation (see x86_call_depth_emit_accounting calls in > bpf_jit_comp.c), resulting in an additional instruction being inserted > in front of every call instruction, similar to this one: > > sarq $0x5, %gs:-0x39882741(%rip) > > Fix those selftests by allowing them to ignore this possibly present > call depth accounting instruction. > > Signed-off-by: Alexis Lothor=C3=A9 (eBPF Foundation) Makes sense. Reviewed-by: Emil Tsalapatis > --- > tools/testing/selftests/bpf/progs/verifier_private_stack.c | 5 +++++ > tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c | 1 + > 2 files changed, 6 insertions(+) > > diff --git a/tools/testing/selftests/bpf/progs/verifier_private_stack.c b= /tools/testing/selftests/bpf/progs/verifier_private_stack.c > index 046f7445a458..bb8206e10880 100644 > --- a/tools/testing/selftests/bpf/progs/verifier_private_stack.c > +++ b/tools/testing/selftests/bpf/progs/verifier_private_stack.c > @@ -94,6 +94,7 @@ __jited(" addq %gs:{{.*}}, %r9") > __jited(" movl $0x2a, %edi") > __jited(" movq %rdi, -0x200(%r9)") > __jited(" pushq %r9") > +__jited("...") > __jited(" callq 0x{{.*}}") > __jited(" popq %r9") > __jited(" xorl %eax, %eax") > @@ -153,11 +154,13 @@ __jited(" endbr64") > __jited(" movabsq $0x{{.*}}, %r9") > __jited(" addq %gs:{{.*}}, %r9") > __jited(" pushq %r9") > +__jited("...") > __jited(" callq") > __jited(" popq %r9") > __jited(" movl $0x2a, %edi") > __jited(" movq %rdi, -0x200(%r9)") > __jited(" pushq %r9") > +__jited("...") > __jited(" callq") > __jited(" popq %r9") > __arch_arm64 > @@ -199,6 +202,7 @@ __description("Private stack, exception in main prog"= ) > __success __retval(0) > __arch_x86_64 > __jited(" pushq %r9") > +__jited("...") > __jited(" callq") > __jited(" popq %r9") > __arch_arm64 > @@ -246,6 +250,7 @@ __success __retval(0) > __arch_x86_64 > __jited(" movq %rdi, -0x200(%r9)") > __jited(" pushq %r9") > +__jited("...") > __jited(" callq") > __jited(" popq %r9") > __arch_arm64 > diff --git a/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c b/= tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c > index 8d60c634a114..48fa34d2959f 100644 > --- a/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c > +++ b/tools/testing/selftests/bpf/progs/verifier_tailcall_jit.c > @@ -56,6 +56,7 @@ __jited("L1: pushq %rax") /* rbp[-16] =3D rax = */ > * (cause original rax might be clobbered by this point) > */ > __jited(" movq -0x10(%rbp), %rax") > +__jited("...") > __jited(" callq 0x{{.*}}") /* call to sub() */ > __jited(" xorl %eax, %eax") > __jited(" leave") > > --- > base-commit: 4a8eaccfdd6f4ae4b0e8735664e9d3e5ce826329 > change-id: 20260528-fix_tests_for_retbleed_stuff-c3c89b738e70 > > Best regards, > -- =20 > Alexis Lothor=C3=A9 (eBPF Foundation)