Re: [PATCH v3 00/10] iov_iter: kunit: Cleanup, abstraction and more tests

From: Linus Torvalds
Date: Wed Nov 15 2023 - 11:05:02 EST


On Wed, 15 Nov 2023 at 10:50, David Howells <dhowells@xxxxxxxxxx> wrote:
>
> (3) Add a function to set up a userspace VM, attach the VM to the kunit
> testing thread, create an anonymous file, stuff some pages into the
> file and map the file into the VM to act as a buffer that can be used
> with UBUF/IOVEC iterators.
>
> I map an anonymous file with pages attached rather than using MAP_ANON
> so that I can check the pages obtained from iov_iter_extract_pages()
> without worrying about them changing due to swap, migrate, etc..
>
> [?] Is this the best way to do things? Mirroring execve, it requires
> a number of extra core symbols to be exported. Should this be done in
> the core code?

Do you really need to do this as a kunit test in the kernel itself?

Why not just make it a user-space test as part of tools/testing/selftests?

That's what it smells like to me. You're doing user-level tests, but
you're doing them in the wrong place, so you need to jump through all
these hoops that you really shouldn't.

Linus