lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aJRxpUrUJwn0lyOY@krava>
Date: Thu, 7 Aug 2025 11:28:05 +0200
From: Jiri Olsa <olsajiri@...il.com>
To: Yonghong Song <yonghong.song@...ux.dev>
Cc: Jiawei Zhao <phoenix500526@....com>, ast@...nel.org,
	daniel@...earbox.net, andrii@...nel.org, bpf@...r.kernel.org,
	linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v7 2/2] selftests/bpf: Force -O2 for USDT selftests to
 cover SIB handling logic

On Wed, Aug 06, 2025 at 11:17:34AM -0700, Yonghong Song wrote:

SNIP

> > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> > index 910d8d6402ef..68cf6a9cf05f 100644
> > --- a/tools/testing/selftests/bpf/Makefile
> > +++ b/tools/testing/selftests/bpf/Makefile
> > @@ -759,6 +759,14 @@ TRUNNER_BPF_BUILD_RULE := $$(error no BPF objects should be built)
> >   TRUNNER_BPF_CFLAGS :=
> >   $(eval $(call DEFINE_TEST_RUNNER,test_maps))
> > +# Use -O2 optimization to generate SIB addressing usdt argument spec
> > +# Only apply on x86 architecture where SIB addressing is relevant
> > +ifeq ($(ARCH), x86)
> > +$(OUTPUT)/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS))
> > +$(OUTPUT)/cpuv4/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS))
> > +$(OUTPUT)/no_alu32/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS))
> > +endif
> 
> I tried your selftest with gcc14 and llvm20 in my environment. See below:
> 
> llvm20:
> Displaying notes found in: .note.stapsdt
>   Owner                Data size        Description
>   stapsdt              0x0000002f       NT_STAPSDT (SystemTap probe descriptors)
>     Provider: test
>     Name: usdt1
>     Location: 0x00000000000003ac, Base: 0x0000000000000000, Semaphore: 0x0000000000000000
>     Arguments: 8@-64(%rbp)
> 
> gcc14:
> Displaying notes found in: .note.stapsdt
>   Owner                Data size        Description
>   stapsdt              0x00000034       NT_STAPSDT (SystemTap probe descriptors)
>     Provider: test
>     Name: usdt1
>     Location: 0x0000000000000334, Base: 0x0000000000000000, Semaphore: 0x0000000000000000
>     Arguments: 8@...ay(,%rax,8)
> 
> llvm20 and gcc14 generate different usdt patterns. '8@-64(%rbp)' already supports so
> with SIB support, the test should pass CI, I think.

I see the same with gcc 15 and clang 20

    Arguments: 8@...ay(,%rax,8)


jirka

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ