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: <20250714073704-ad146959-da12-4451-be01-819aba61c917@linutronix.de>
Date: Mon, 14 Jul 2025 07:52:27 +0200
From: Thomas Weißschuh <thomas.weissschuh@...utronix.de>
To: Al Viro <viro@...iv.linux.org.uk>, 
	Luis Chamberlain <mcgrof@...nel.org>
Cc: 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

(+Luis for the usermode helper discussion)

On Fri, Jul 11, 2025 at 04:44:23PM +0100, Al Viro wrote:
> On Fri, Jul 11, 2025 at 12:35:59PM +0200, Thomas Weißschuh wrote:
> > Hi Kees, Al, Christian and Honza,
> > 
> > On Thu, Jun 26, 2025 at 08:10:14AM +0200, Thomas Weißschuh wrote:
> > > The KUnit UAPI infrastructure starts userspace processes.
> > > As it should be able to be built as a module, export the necessary symbols.
> 
> What's wrong with kernel/umh.c?

It gets neutered by CONFIG_STATIC_USERMODEHELPER_PATH. That could be worked
around be overriding sub_info->path, but it would be a hack.
It does not allow to implement a custom wait routine to forward the process
output to KUnit as implemented in kunit_uapi_forward_to_printk() [0].
That may be solved by adding another thread, but that would also be hacky.

It would probably be possible to extend kernel/umh.c for my usecase but I
didn't want bloat the core kernel code for my test-only functionality.

> > could you take a look at these new symbol exports?
> 
> > > +EXPORT_SYMBOL_GPL_FOR_MODULES(put_filesystem, "kunit-uapi");
> 
> What's that one for???

What are you referring to?

The macro EXPORT_SYMBOL_GPL_FOR_MODULES() will only export the symbol for one
specific module. Personally I'm also fine with EXPORT_SYMBOL_GPL().

"kunit-uapi" is a new module I am implementing in this patchset. It allows to
run userspace executables as part of KUnit.
Some more information in the cover-letter [1] of the series and the code using
these symbols[0]. Both should also be in your inbox.
There is also an article on LWN [2].

[0] https://lore.kernel.org/lkml/20250626-kunit-kselftests-v4-12-48760534fef5@linutronix.de/
[1] https://lore.kernel.org/lkml/20250626-kunit-kselftests-v4-0-48760534fef5@linutronix.de/
[2] https://lwn.net/SubscriberLink/1029077/fa55c3b2d238a6bb/


Thomas

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ