linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: John Hubbard <jhubbard@nvidia.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jeff Xu <jeffxu@chromium.org>, Shuah Khan <shuah@kernel.org>
Cc: Andrei Vagin <avagin@google.com>,
	Axel Rasmussen <axelrasmussen@google.com>,
	Christian Brauner <brauner@kernel.org>,
	Kees Cook <kees@kernel.org>,
	Kent Overstreet <kent.overstreet@linux.dev>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Muhammad Usama Anjum <usama.anjum@collabora.com>,
	Peter Xu <peterx@redhat.com>, Rich Felker <dalias@libc.org>,
	linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/5] cleanups, fixes, and progress towards avoiding "make headers"
Date: Wed, 12 Jun 2024 10:24:22 +0200	[thread overview]
Message-ID: <17b503f8-5d0c-48a3-9eeb-85b01583f9bb@redhat.com> (raw)
In-Reply-To: <c1277bf6-a211-49eb-80af-726f16ca1802@nvidia.com>

On 11.06.24 22:54, John Hubbard wrote:
> On 6/11/24 2:36 AM, David Hildenbrand wrote:
>> On 08.06.24 04:10, John Hubbard wrote:
>>> Eventually, once the build succeeds on a sufficiently old distro, the
>>> idea is to delete $(KHDR_INCLUDES) from the selftests/mm build, and then
>>> after that, from selftests/lib.mk and all of the other selftest builds.
>>>
>>> For now, this series merely achieves a clean build of selftests/mm on a
>>> not-so-old distro: Ubuntu 23.04:
>>
>> Wasn't the plan to rely on the tools/include headers, and pull in there whatever we need?
> 
> Yes, it is. You are correct.
> 
>>
>>>
>>> 1. Add __NR_mseal.
>>>
>>
>> For example, making sure that tools/include/uapi/asm-generic/unistd.h is updated to contain __NR_mseal?
> 
> Well, here it gets less clear cut, because the selftests pull in *lots* of
> system headers. In this case /usr/include/unistd.h gets pulled in. If we
> force tools/include/uapi/asm-generic/unistd.h to be included, then we'll
> get many many warnings of redefinitions of __NR_* items.

I think, there is a difference between unistd.h and linux/unistd.h. We 
want to continue including unistd.h from the distro, but might want to 
stop including the linux one from the distro.

My thinking was that we start maintaining our own linux headers copy 
in-tree, and start converting our tests from including <linux/> supplied 
by the distro to include the in-tree ones.

For mseal_test.c, that might mean stopping including "linux/mman.h", and 
instead including the in-tree one.

> 
> So what's really going on here is that we have this uneasy mix of system
> headers from the test machine, and newer versions of some of those headers
> in the kernel tree. And some of those are easier to combine with system
> headers, than others. unistd.h is clearly not going quietly, which is
> why, I believe, the "#ifndef __NR_* " approach has flowered in the
> selftests.

Right, these mixtures are not what we want I think. But I have no idea 
how easy it would be to convert individual tests.

Maybe all it takes is updating the in-tree headers and then including 
"TBD/linux/whatever.h" instead of <linux/whatever.h>

In QEMU, we maintain some (not all) kernel headers ourselves, and 
include them via

"standard-headers/linux/whatever.h"

> 
>>
>> ... to avoid hand-crafted defines we have to maintain for selftests.
>>
>> But maybe I am remembering something outdated.
>>
> 
> You remembered correctly, but the situation is slighly muddier than
> one would prefer. :)


Absolutely, and I appreciate that you are trying to improve the situation.

-- 
Cheers,

David / dhildenb



  reply	other threads:[~2024-06-12  8:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-08  2:10 John Hubbard
2024-06-08  2:10 ` [PATCH 1/5] selftests/mm: mseal, self_elf: fix missing __NR_mseal John Hubbard
2024-06-11  4:26   ` Jeff Xu
2024-06-08  2:10 ` [PATCH 2/5] selftests/mm: fix vm_util.c build failures: add snapshot of fs.h John Hubbard
2024-06-08  2:10 ` [PATCH 3/5] mm/selftests: kvm, mdwe fixes to avoid requiring "make headers" John Hubbard
2024-06-08  2:15   ` John Hubbard
2024-06-08  2:10 ` [PATCH 4/5] selftests/mm: mseal, self_elf: factor out test macros and other duplicated items John Hubbard
2024-06-11  4:26   ` Jeff Xu
2024-06-08  2:10 ` [PATCH 5/5] selftests/mm: mseal, self_elf: rename TEST_END_CHECK to REPORT_TEST_PASS John Hubbard
2024-06-11  4:27   ` Jeff Xu
2024-06-11  4:34     ` John Hubbard
2024-06-11  4:21 ` [PATCH 0/5] cleanups, fixes, and progress towards avoiding "make headers" Jeff Xu
2024-06-11  4:33   ` John Hubbard
2024-06-11  4:45     ` Jeff Xu
2024-06-11  6:25       ` John Hubbard
2024-06-11  9:31         ` David Hildenbrand
2024-06-11 14:13         ` Jeff Xu
2024-06-11  9:36 ` David Hildenbrand
2024-06-11 20:54   ` John Hubbard
2024-06-12  8:24     ` David Hildenbrand [this message]
2024-06-13  2:11       ` John Hubbard
2024-06-13 21:27         ` John Hubbard
2024-06-14 11:42           ` David Hildenbrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=17b503f8-5d0c-48a3-9eeb-85b01583f9bb@redhat.com \
    --to=david@redhat.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=avagin@google.com \
    --cc=axelrasmussen@google.com \
    --cc=brauner@kernel.org \
    --cc=dalias@libc.org \
    --cc=jeffxu@chromium.org \
    --cc=jhubbard@nvidia.com \
    --cc=kees@kernel.org \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.com \
    --cc=shuah@kernel.org \
    --cc=usama.anjum@collabora.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox