Re: [GIT PULL] Kselftest update for Linux 5.2-rc1

From: Shuah Khan
Date: Thu May 09 2019 - 18:42:20 EST


On 5/9/19 4:20 PM, Alexei Starovoitov wrote:
On Mon, May 06, 2019 at 10:56:56AM -0600, Shuah Khan wrote:
Hi Linus,

Please pull the following Kselftest update for Linux 5.2-rc1

This Kselftest update for Linux 5.2-rc1 consists of

- fixes to seccomp test, and kselftest framework
- cleanups to remove duplicate header defines
- fixes to efivarfs "make clean" target
- cgroup cleanup path
- Moving the IMA kexec_load selftest to selftests/kexec work from
Mimi Johar and Petr Vorel
- A framework to kselftest for writing kernel test modules addition
from Tobin C. Harding

diff is attached.

thanks,
-- Shuah


----------------------------------------------------------------
The following changes since commit 15ade5d2e7775667cf191cf2f94327a4889f8b9d:

Linux 5.1-rc4 (2019-04-07 14:09:59 -1000)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
tags/linux-kselftest-5.2-rc1

for you to fetch changes up to d917fb876f6eaeeea8a2b620d2a266ce26372f4d:

selftests: build and run gpio when output directory is the src dir
(2019-04-22 17:02:26 -0600)

----------------------------------------------------------------
linux-kselftest-5.2-rc1

This Kselftest update for Linux 5.2-rc1 consists of

- fixes to seccomp test, and kselftest framework
- cleanups to remove duplicate header defines
- fixes to efivarfs "make clean" target
- cgroup cleanup path
- Moving the IMA kexec_load selftest to selftests/kexec work from
Mimi Johar and Petr Vorel
- A framework to kselftest for writing kernel test modules addition
from Tobin C. Harding

----------------------------------------------------------------
Kees Cook (3):
selftests/seccomp: Handle namespace failures gracefully
selftests/harness: Add 30 second timeout per test
selftests/ipc: Fix msgque compiler warnings

Mathieu Desnoyers (1):
rseq/selftests: Adapt number of threads to the number of detected cpus

Mimi Zohar (9):
selftests/kexec: move the IMA kexec_load selftest to selftests/kexec
selftests/kexec: cleanup the kexec selftest
selftests/kexec: define a set of common functions
selftests/kexec: define common logging functions
selftests/kexec: define "require_root_privileges"
selftests/kexec: kexec_file_load syscall test
selftests/kexec: check kexec_load and kexec_file_load are enabled
selftests/kexec: make kexec_load test independent of IMA being enabled
selftests/kexec: update get_secureboot_mode

Petr Vorel (1):
selftests/kexec: Add missing '=y' to config options

Po-Hsu Lin (1):
selftests/efivarfs: clean up test files from test_create*()

Roman Gushchin (1):
selftests: cgroup: fix cleanup path in test_memcg_subtree_control()

Sabyasachi Gupta (4):
selftest/x86/mpx-dig.c: Remove duplicate header
selftest/timers: Remove duplicate header
selftest/rseq: Remove duplicate header
selftest/gpio: Remove duplicate header

Shuah Khan (2):
selftests: fix headers_install circular dependency

Shuah,

the commit 8ce72dc32578 ("selftests: fix headers_install circular dependency")
broke our build/test workflow, since it added:
ifneq ($(KBUILD_OUTPUT),)
OUTPUT := $(KBUILD_OUTPUT)
else

which means that all of selftests/bpf artifacts are now going into
main build directory cluttering it with all sorts of .o, generated files
and executables.
The end result is humans and scripts can no longer find tests.

For now I hacked it as:
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 5979fdc4f36c..caecec7aebde 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -6,12 +6,8 @@ ifeq (0,$(MAKELEVEL))
ifneq ($(O),)
OUTPUT := $(O)
else
- ifneq ($(KBUILD_OUTPUT),)
- OUTPUT := $(KBUILD_OUTPUT)
- else
- OUTPUT := $(shell pwd)
- DEFAULT_INSTALL_HDR_PATH := 1
- endif
+ OUTPUT := $(shell pwd)
+ DEFAULT_INSTALL_HDR_PATH := 1
endif
endif

bpf developers are doing "cd tools/testing/selftests/bpf; make; ./test_verifier; ..."
while KBUILD_OUTPUT is also set.
Sorry about that. I tested several use-cases, and missed this one. :(
This patch was in next for a while before I sent the pull request.

I don't quite get this 'circular dependency' issue that your commit suppose to address
but please fix it differently, so bpf developer's workflow is restored and buildbots work again.
People and scripts depend on it.
It's even described in Documentation/bpf/bpf_devel_QA.rst


You won't see the circular dependency with your use-case. I will try
to get the fix in.

thanks,
-- Shuah