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]
Date: Fri, 22 Dec 2023 08:50:56 -0300
From: Antonio Terceiro <antonio.terceiro@...aro.org>
To: Shuah Khan <skhan@...uxfoundation.org>
Cc: Shuah Khan <shuah@...nel.org>, linux-kselftest@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] selftests: uevent: use shared makefile library

On Thu, Dec 21, 2023 at 02:44:52PM -0700, Shuah Khan wrote:
> On 12/21/23 13:49, Antonio Terceiro wrote:
> > This makes the uevent selftests build not write to the source tree
> > unconditionally, as that breaks out of tree builds when the source tree
> > is read-only. It also avoids leaving a git repository in a dirty state
> > after a build.
> > 
> 
> Why can't you do that using make O= directive.

That's what I meant by out of tree builds. When using O=, the uevent
selftests build still writes to the source directory. Maybe my wording
in the commit message is not clear enough, I will try to improve it.

> > v2: drop spurious extra SPDX-License-Identifier
> > 
> > Signed-off-by: Antonio Terceiro <antonio.terceiro@...aro.org>
> > ---
> >   tools/testing/selftests/uevent/Makefile | 15 +++------------
> >   1 file changed, 3 insertions(+), 12 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/uevent/Makefile b/tools/testing/selftests/uevent/Makefile
> > index f7baa9aa2932..872969f42694 100644
> > --- a/tools/testing/selftests/uevent/Makefile
> > +++ b/tools/testing/selftests/uevent/Makefile
> > @@ -1,17 +1,8 @@
> >   # SPDX-License-Identifier: GPL-2.0
> >   all:
> > -include ../lib.mk
> > -
> > -.PHONY: all clean
> > -
> > -BINARIES := uevent_filtering
> > -CFLAGS += -Wl,-no-as-needed -Wall
> > +CFLAGS += -Wl,-no-as-needed -Wall $(KHDR_INCLUDES)
> > -uevent_filtering: uevent_filtering.c ../kselftest.h ../kselftest_harness.h
> > -	$(CC) $(CFLAGS) $< -o $@
> > +TEST_GEN_PROGS = uevent_filtering
> > -TEST_PROGS += $(BINARIES)
> > -EXTRA_CLEAN := $(BINARIES)
> > -
> > -all: $(BINARIES)
> > +include ../lib.mk
> 
> This change doesn't get the intended result of not writing to
> source tree. Binaries will still be written to the source
> tree unless O= is specified.

It does in my tests. Maybe I am missing something.

mainline without the patch:

----------------8<----------------8<----------------8<-----------------
$ make -s defconfig O=/tmp/output && make -s kselftest-all TARGETS=uevent O=/tmp/output
make[4]: Entrando no diretório '/home/terceiro/src/linaro/linux/tools/testing/selftests/uevent'

make[4]: Nada a ser feito para 'all'.
make[4]: Saindo do diretório '/home/terceiro/src/linaro/linux/tools/testing/selftests/uevent'

$ git status --ignored
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	tools/testing/selftests/uevent/uevent_filtering

nothing added to commit but untracked files present (use "git add" to track)
$ git clean -dxf
Removing tools/testing/selftests/uevent/uevent_filtering
----------------8<----------------8<----------------8<-----------------

mainline with the patch:

----------------8<----------------8<----------------8<-----------------
$ git branch -m kselftest-uvent kselftest-uvent-o
$ rm -rf /tmp/output/
$ make -s defconfig O=/tmp/output && make -s kselftest-all TARGETS=uevent O=/tmp/output
make[4]: Entrando no diretório '/home/terceiro/src/linaro/linux/tools/testing/selftests/uevent'

gcc -Wl,-no-as-needed -Wall -isystem /tmp/output/usr/include     uevent_filtering.c  -o /tmp/output/kselftest/uevent/uevent_filtering
make[4]: Saindo do diretório '/home/terceiro/src/linaro/linux/tools/testing/selftests/uevent'

$ git status --ignored
On branch kselftest-uvent-o
nothing to commit, working tree clean
$ git clean -dxf
$
----------------8<----------------8<----------------8<-----------------

Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ