[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wgHciqm3iaq6hhtP64+Zsca6Y6z5UfzHzjfhUhA=jP0zA@mail.gmail.com>
Date: Wed, 15 Nov 2023 11:12:17 -0500
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: David Howells <dhowells@...hat.com>
Cc: Christian Brauner <christian@...uner.io>, Jens Axboe <axboe@...nel.dk>,
Al Viro <viro@...iv.linux.org.uk>, Christoph Hellwig <hch@....de>,
David Laight <David.Laight@...lab.com>, Matthew Wilcox <willy@...radead.org>,
Brendan Higgins <brendanhiggins@...gle.com>, David Gow <davidgow@...gle.com>,
linux-fsdevel@...r.kernel.org, linux-block@...r.kernel.org,
linux-mm@...ck.org, netdev@...r.kernel.org, linux-kselftest@...r.kernel.org,
kunit-dev@...glegroups.com, linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>, Christian Brauner <brauner@...nel.org>,
David Hildenbrand <david@...hat.com>, John Hubbard <jhubbard@...dia.com>,
Huacai Chen <chenhuacai@...nel.org>, WANG Xuerui <kernel@...0n.name>,
Heiko Carstens <hca@...ux.ibm.com>, Vasily Gorbik <gor@...ux.ibm.com>,
Alexander Gordeev <agordeev@...ux.ibm.com>, Christian Borntraeger <borntraeger@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>, loongarch@...ts.linux.dev, linux-s390@...r.kernel.org
Subject: Re: [PATCH v3 05/10] iov_iter: Create a function to prepare userspace
VM for UBUF/IOVEC tests
On Wed, 15 Nov 2023 at 10:50, David Howells <dhowells@...hat.com> wrote:
>
> This requires access to otherwise unexported core symbols: mm_alloc(),
> vm_area_alloc(), insert_vm_struct() arch_pick_mmap_layout() and
> anon_inode_getfile_secure(), which I've exported _GPL.
>
> [?] Would it be better if this were done in core and not in a module?
I'm not going to take this, even if it were to be sent to me through Christian.
I think the exports really show that this shouldn't be done. And yes,
doing it in core would avoid the exports, but would be even worse.
Those functions exist for setting up user space. You should be doing
this in user space.
I'm getting really fed up with the problems that ther KUnit tests
cause. We have a long history of self-inflicted pain due to "unit
testing", where it has caused stupid problems like just overflowing
the kernel stack etc.
This needs to stop. And this is where I'm putting my foot down. No
more KUnit tests that make up interfaces - or use interfaces - that
they have absolutely no place using.
>From a quick look, what you were doing was checking that the patterns
you set up in user space came through ok. Dammit, what's wrong with
just using read()/write() on a pipe, or splice, or whatever. It will
test exactly the same iov_iter thing.
Kernel code should do things that can *only* be done in the kernel.
This is not it.
Linus
Powered by blists - more mailing lists