Re: [PATCH v4 06/15] fs,fork,exit: export symbols necessary for KUnit UAPI support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(+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@xxxxxxxxxxxxx/
[1] https://lore.kernel.org/lkml/20250626-kunit-kselftests-v4-0-48760534fef5@xxxxxxxxxxxxx/
[2] https://lwn.net/SubscriberLink/1029077/fa55c3b2d238a6bb/


Thomas




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux