Hi Jason,
CC kunit
On Thu, 20 Nov 2025 at 18:07, Jason Gunthorpe jgg@ziepe.ca wrote:
On Thu, Nov 20, 2025 at 12:49:33PM -0400, Jason Gunthorpe wrote:
On Wed, Nov 12, 2025 at 03:08:05PM +0100, Geert Uytterhoeven wrote:
There is no point in asking the user about the Generic Radix Page Table API:
- All IOMMU drivers that use this API already select GENERIC_PT when needed,
- Most users probably do not know what to answer anyway.
Fixes: 7c5b184db7145fd4 ("genpt: Generic Page Table base API") Signed-off-by: Geert Uytterhoeven geert+renesas@glider.be
drivers/iommu/generic_pt/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Jason Gunthorpe jgg@nvidia.com
Actually, it doesn't work :\
$ tools/testing/kunit/kunit.py run --build_dir build_kunit_x86_64 --arch x86_64 --kunitconfig ./drivers/iommu/generic_pt/.kunitconfig [13:01:26] Configuring KUnit Kernel ... [13:01:26] Building KUnit Kernel ... Populating config with: $ make ARCH=x86_64 O=build_kunit_x86_64 olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=x86_64 O=build_kunit_x86_64 --jobs=20 ERROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config. This is probably due to unsatisfied dependencies. Missing: CONFIG_IOMMUFD_TEST=y, CONFIG_DEBUG_GENERIC_PT=y, CONFIG_IOMMU_PT_VTDSS=y, CONFIG_IOMMU_PT=y, CONFIG_IOMMU_PT_AMDV1=y, CONFIG_IOMMU_PT_X86_64=y, CONFIG_GENERIC_PT=y, CONFIG_IOMMU_PT_KUNIT_TEST=y
Can you add this hunk and send a v2?
--- a/drivers/iommu/generic_pt/.kunitconfig +++ b/drivers/iommu/generic_pt/.kunitconfig @@ -1,4 +1,5 @@ CONFIG_KUNIT=y +CONFIG_COMPILE_TEST=y CONFIG_GENERIC_PT=y CONFIG_DEBUG_GENERIC_PT=y CONFIG_IOMMU_PT=y
Do you really want to enable CONFIG_COMPILE_TEST in a .kunitconfig?
Hm, that .kunitconfig already enables IOMMUFD_TEST, which is documented to be dangerous (why?), and already enabled by allyesconfig (except on GENERIC_ATOMIC64 architectures). IOMMUFD_TEST cannot select GENERIC_PT, as that would lead to a recursive dependency (and I am not a huge fan of test code auto-enabling extra attack surfaces^W^W functionality).
Or perhaps:
- bool "Generic Radix Page Table" + bool "Generic Radix Page Table" if COMPILE_TEST || KUNIT
?
Gr{oetje,eeting}s,
Geert
On Thu, Nov 20, 2025 at 07:31:10PM +0100, Geert Uytterhoeven wrote:
Hi Jason,
CC kunit
On Thu, 20 Nov 2025 at 18:07, Jason Gunthorpe jgg@ziepe.ca wrote:
On Thu, Nov 20, 2025 at 12:49:33PM -0400, Jason Gunthorpe wrote:
On Wed, Nov 12, 2025 at 03:08:05PM +0100, Geert Uytterhoeven wrote:
There is no point in asking the user about the Generic Radix Page Table API:
- All IOMMU drivers that use this API already select GENERIC_PT when needed,
- Most users probably do not know what to answer anyway.
Fixes: 7c5b184db7145fd4 ("genpt: Generic Page Table base API") Signed-off-by: Geert Uytterhoeven geert+renesas@glider.be
drivers/iommu/generic_pt/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Jason Gunthorpe jgg@nvidia.com
Actually, it doesn't work :\
$ tools/testing/kunit/kunit.py run --build_dir build_kunit_x86_64 --arch x86_64 --kunitconfig ./drivers/iommu/generic_pt/.kunitconfig [13:01:26] Configuring KUnit Kernel ... [13:01:26] Building KUnit Kernel ... Populating config with: $ make ARCH=x86_64 O=build_kunit_x86_64 olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=x86_64 O=build_kunit_x86_64 --jobs=20 ERROR:root:Not all Kconfig options selected in kunitconfig were in the generated .config. This is probably due to unsatisfied dependencies. Missing: CONFIG_IOMMUFD_TEST=y, CONFIG_DEBUG_GENERIC_PT=y, CONFIG_IOMMU_PT_VTDSS=y, CONFIG_IOMMU_PT=y, CONFIG_IOMMU_PT_AMDV1=y, CONFIG_IOMMU_PT_X86_64=y, CONFIG_GENERIC_PT=y, CONFIG_IOMMU_PT_KUNIT_TEST=y
Can you add this hunk and send a v2?
--- a/drivers/iommu/generic_pt/.kunitconfig +++ b/drivers/iommu/generic_pt/.kunitconfig @@ -1,4 +1,5 @@ CONFIG_KUNIT=y +CONFIG_COMPILE_TEST=y CONFIG_GENERIC_PT=y CONFIG_DEBUG_GENERIC_PT=y CONFIG_IOMMU_PT=y
Do you really want to enable CONFIG_COMPILE_TEST in a .kunitconfig?
IDK, why not?
Hm, that .kunitconfig already enables IOMMUFD_TEST, which is documented to be dangerous (why?)
It builds in a kernel module with a uapi that is kind of unsafe.
Though, hmm, maybe that is some weird a leftover I don't recall that this kunit needed IOMMUFD_TEST stanza at all..
and already enabled by allyesconfig (except on GENERIC_ATOMIC64 architectures).
I guess allyesconfig would do that.
IOMMUFD_TEST cannot select GENERIC_PT, as that would lead to a recursive dependency (and I am not a huge fan of test code auto-enabling extra attack surfaces^W^W functionality).
Yes
Or perhaps:
bool "Generic Radix Page Table"
bool "Generic Radix Page Table" if COMPILE_TEST || KUNIT?
It would work, that does seem like a better choice if someone wants to make the kunit run in a normal disto kernel.
Thanks, Jason
linux-kselftest-mirror@lists.linaro.org