lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250716143500-d42ea724-1bac-476e-80b8-1e033625392a@linutronix.de>
Date: Wed, 16 Jul 2025 14:47:08 +0200
From: Thomas Weißschuh <thomas.weissschuh@...utronix.de>
To: Christoph Hellwig <hch@...radead.org>
Cc: Al Viro <viro@...iv.linux.org.uk>, 
	Luis Chamberlain <mcgrof@...nel.org>, Kees Cook <kees@...nel.org>, 
	Christian Brauner <brauner@...nel.org>, Jan Kara <jack@...e.cz>, linux-mm@...ck.org, 
	linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 06/15] fs,fork,exit: export symbols necessary for
 KUnit UAPI support

On Wed, Jul 16, 2025 at 04:36:38AM -0700, Christoph Hellwig wrote:
> On Wed, Jul 16, 2025 at 01:33:05PM +0200, Thomas Weißschuh wrote:
> > On Wed, Jul 16, 2025 at 04:11:04AM -0700, Christoph Hellwig wrote:
> > > On Wed, Jul 16, 2025 at 10:39:57AM +0200, Thomas Weißschuh wrote:
> > > > Let's take kernel_execve() as example, there is no way around using this
> > > > function in one way or another. It only has two existing callers.
> > > > init/main.c: It is completely unsuitable for this usecase.
> > > > kernel/umh.c: It is also what Al suggested and I am all for it.
> > > > Unfortunately it is missing features. Citation from my response to Al:
> > > 
> > > But why does the code that calls it need to be modular?  I get why
> > > the actual test cases should be modular, but the core test runner is
> > > small and needs a lot of kernel internals.  Just require it to be
> > > built-in and all this mess goes away.
> > 
> > KUnit UAPI calls into KUnit proper which itself is modular.
> > As such it needs to be modular, too.
> 
> Not if you depend on KUNIT=y.

This is exactly what I did in the beginning. Then I got told about the distros
using KUNIT=m [0] and decided that it does make sense to support.
We'd have this discussion sooner or later. But I'm still not sure what
difference an in-tree-module-specific export should make.

> > > That being said some of this stuff, like get_fs_type / put_filesystem
> > > or replace_fd seem like the wrong level of abstractions for something
> > > running tests anyway.
> > 
> > This was modelled after usermode helper and usermode driver.
> > To me it makes sense, and I don't see an obvious way to get rid of these.
> > 
> > Or do you mean to introduce a new in-core helper to abstract this away?
> > Then everybody would need to pay the cost for this helper even if it is only
> > used from some modular code.
> 
> I have no idea what you are doing as you only Cc'ed the exports patch
> but not the actual work to the mailing lists, so I have no way of
> helping you with the actual code.  I can just tell you my gut feeling
> based on the symbols, and they are something that doesn't feel outside
> of very core code.

The actual code using these exports [1] was Cc'ed to both linux-fsdevel and
linux-mm. In addition to the cover-letter and the exports patch.
The rest of the series does not interact with the exports at all.

[0] https://lore.kernel.org/all/CABVgOSmdcOZ0+-k=SM4LibOVMKtcbF27p6N40kuDX_axTPZ=QQ@mail.gmail.com/
[1] https://lore.kernel.org/lkml/20250626-kunit-kselftests-v4-12-48760534fef5@linutronix.de/


Thomas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ