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: <ZtWzDZbJDrViFqke@zx2c4.com>
Date: Mon, 2 Sep 2024 14:43:57 +0200
From: "Jason A. Donenfeld" <Jason@...c4.com>
To: LEROY Christophe <christophe.leroy2@...soprasteria.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
	Adhemerval Zanella <adhemerval.zanella@...aro.org>,
	Xi Ruoyao <xry111@...111.site>,
	"broonie@...nel.org" <broonie@...nel.org>
Subject: Re: [PATCH] selftests: vDSO: Do not rely on $ARCH for
 vdso_test_getrandom && vdso_test_chacha

On Mon, Sep 02, 2024 at 12:39:17PM +0000, LEROY Christophe wrote:
> 
> 
> Le 02/09/2024 à 03:20, Jason A. Donenfeld a écrit :
> > On Sun, Sep 01, 2024 at 08:43:10PM +0200, Christophe Leroy wrote:
> >>>> How would this fit in the logic where IIUC you just remove '_64' from
> >>>> 'x86_64' to get 'x86'
> >>>
> >>> Huh? That's not what tools/scripts/Makefile.arch does.
> >>
> >> Hum ... yes sorry I looked at it too quickly and mixed things up with
> >> the other patch.
> >>
> >> Nevertheless, if I understand well what tools/scripts/Makefile.arch does
> >> on an x86_64 for instance:
> >>
> >> uname -m returns x86_64
> >> HOSTARCH = x86 (sed -e s/x86_64/x86)
> >> ARCH = x86
> >> SRCARCH = x86
> >>
> >> If you build with make ARCH=x86_64,
> >> SRCARCH = x86
> >>
> >> So I still can't see how you can use that to know if it is a x86_64 or not.
> > 
> > By the use of CONFIG_X86_32, which is also used elsewhere in that
> > samme makefile for something else (so I assume it's wired up in the
> > context where it counts, and if not, that's a bug that affects both
> > spots and should be fixed)..
> 
> I looks like it is a left-over from the time vDSO selftests were in 
> Documentation/vDSO and were likely built with kernel config.
> 
> CONFIG_X86_32 was brought into tools/testing/selftests/vDSO by commit 
> f9b6b0ef6034 ("selftests: move vDSO tests from Documentation/vDSO") and 
> was meant to pass -lgcc_s when building vdso_standalone_test_x86 for 
> i386, but obviously it doesn't work:
> 
> $ make ARCH=i386 V=1
> gcc -std=gnu99 -O2 -D_GNU_SOURCE=    vdso_test_gettimeofday.c 
> parse_vdso.c  -o 
> /home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_gettimeofday
> gcc -std=gnu99 -O2 -D_GNU_SOURCE=    vdso_test_getcpu.c parse_vdso.c  -o 
> /home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_getcpu
> gcc -std=gnu99 -O2 -D_GNU_SOURCE=    vdso_test_abi.c parse_vdso.c  -o 
> /home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_abi
> gcc -std=gnu99 -O2 -D_GNU_SOURCE=    vdso_test_clock_getres.c  -o 
> /home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_clock_getres
> gcc -std=gnu99 -O2 -D_GNU_SOURCE=  -ldl  vdso_test_correctness.c  -o 
> /home/chleroy/linux-powerpc/tools/testing/selftests/vDSO/vdso_test_correctness
> 
> In another place in selftests (tools/testing/selftests/ipc/), they 
> manually add it:
> 
> ifeq ($(ARCH),i386)
>          ARCH := x86
> 	CFLAGS := -DCONFIG_X86_32 -D__i386__
> endif
> ifeq ($(ARCH),x86_64)
> 	ARCH := x86
> 	CFLAGS := -DCONFIG_X86_64 -D__x86_64__
> endif
> 
> 
> So I think this is a confirmation that CONFIG_X86_32 doesn't exist in 
> selftests.

Interesting... Seems like both sites, then, should be fixed somehow...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ