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: <da39f51b76cca54e5304064f7e34a8863442605d.camel@sipsolutions.net>
Date: Fri, 19 Sep 2025 11:38:03 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Hajime Tazaki <thehajime@...il.com>
Cc: linux-um@...ts.infradead.org, ricarkol@...gle.com,
 Liam.Howlett@...cle.com, 	linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND v11 10/13] um: nommu: a work around for MMU
 dependency to PCI driver

On Fri, 2025-09-19 at 18:32 +0900, Hajime Tazaki wrote:
> currently, drivers/pci/Kconfig (CONFIG_PCI) marks as depends on MMU,

Right.

> so we cannot select it when CONFIG_MMU=n.

Actually, I believe that's not true, I think it *can* select something
even if you override the 'depends on' it has, it just causes a warning
in Kconfig.

But I don't think PCI is even selected, UML_PCI is selected, and then
that selects PCI_MSI which should really only be reachable when PCI is
enabled, so this perhaps does nothing? Not sure ...

> but it's different with kunit when using them via kunit.py config,

It really isn't, you just don't see everything because kunit.py hides
the build from you.

> it first adds
> 
>  CONFIG_VIRTIO_UML=y
>  CONFIG_UML_PCI_OVER_VIRTIO=y
> 
> via tools/testing/kunit/configs/arch_uml.config, and then add
> 
>  CONIFG_MMU=n
> 
> via --kconfig_add CONFIG_MMU=n.

Sure. But that should disable CONFIG_UML_PCI_OVER_VIRTIO, and it doesn't
now.

> and then execute make ARCH=um olddefconfig, which in turn enables
> CONFIG_UML_PCI_OVER_VIRTIO.

Keeps it, let's say.

> if we append "--kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=n" to kunit.py,
> it will overwrite the arch_uml.config.

Yeah but that being required doesn't make sense - the Kconfig should
express the correct dependencies.

> # I don't know how kunit handles those appended CONFIG entries, though..

It just puts them into the file and runs oldconfig, I guess?

> my goal is simple; to test !MMU code via kunit.

Sure.

> my original patch or the additional kconfig argument (--kconfig_add)
> satisfies this goal.

Sure. But both are the wrong solution, as I said, the Kconfig should
express the correct dependencies.

> > The problem is probably UML_PCI_OVER_VIRTIO selecting UML_PCI selecting
> > various PCI code, but nothing depends on PCI in the first place. Which
> > it should, then?
> 
> I don't understand the 'nothing depends on PCI...' part.  care to
> elaborate ?

See above, I think?

My gut feeling is that UML_PCI_OVER_VIRTIO should depend on PCI but I
don't know if that then doesn't end up in some kind of circular
dependency.

johannes

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ