On 3/28/24 8:34 AM, John Hubbard wrote:
Hi,
As mentioned in each patch, this implements the solution that we discussed in December 2023, in [1]. This turned out to be very clean and easy. It should also be quite easy to maintain.
There is another way. The headers should be built automatically by make dependency. The topmost make file always builds headers before building kselftest i.e., make kselftest
The tools/testing/selftests/Makefile and others Makefiles in test suites should be updated to build the headers as well. This used to be the behavior until there were un-resolvable bugs in the Makefiles and it was reverted: https://lore.kernel.org/all/cover.1657614127.git.guillaume.tucker@collabora....
We should come up with the revert of this series such that all the different scenarios are covered instead of yet again a new solution; resorting to the duplication of header files or any sort of duplication.
This should also make Peter Zijlstra happy, because it directly addresses the root cause of his "NAK NAK NAK" reply [2]. :)
I haven't done much build testing, because selftests are not so easy to build with a cross-compiler. So it's just tested on x86 64-bit so far.
[1] https://lore.kernel.org/all/783a4178-1dec-4e30-989a-5174b8176b09@redhat.com/ [2] https://lore.kernel.org/lkml/20231103121652.GA6217@noisy.programming.kicks-a...
Cc: David Hildenbrand david@redhat.com Cc: Mark Brown broonie@kernel.org Cc: Muhammad Usama Anjum usama.anjum@collabora.com Cc: Suren Baghdasaryan surenb@google.com Cc: Peter Zijlstra peterz@infradead.org
John Hubbard (2): selftests: break the dependency upon local header files selftests/mm: fix additional build errors for selftests
tools/include/uapi/linux/memfd.h | 39 +++ tools/include/uapi/linux/userfaultfd.h | 386 +++++++++++++++++++++++++ tools/testing/selftests/lib.mk | 9 + tools/testing/selftests/mm/Makefile | 2 +- 4 files changed, 435 insertions(+), 1 deletion(-) create mode 100644 tools/include/uapi/linux/memfd.h create mode 100644 tools/include/uapi/linux/userfaultfd.h
base-commit: 98560e9019851bf55b8a4073978a623a3bcf98c0