Re: kismet: WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE when selected by IPMMU_VMSA

From: Conor Dooley
Date: Tue Dec 27 2022 - 13:59:25 EST


Hey Randy,

On Thu, Dec 22, 2022 at 05:00:06PM -0800, Randy Dunlap wrote:
> On 12/21/22 20:49, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 9d2f6060fe4c3b49d0cdc1dce1c99296f33379c8
> > commit: 8292493c22c8e28b6e67a01e0f5c6db1cf231eb1 riscv: Kconfig.socs: Add ARCH_RENESAS kconfig option
> > date: 6 weeks ago
> > config: riscv-kismet-CONFIG_IOMMU_IO_PGTABLE_LPAE-CONFIG_IPMMU_VMSA-0-0
> > reproduce:
> > # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8292493c22c8e28b6e67a01e0f5c6db1cf231eb1
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 8292493c22c8e28b6e67a01e0f5c6db1cf231eb1
> > # 1. reproduce by kismet
> > # install kmax per https://github.com/paulgazz/kmax/blob/master/README.md
> > kismet --linux-ksrc=linux --selectees CONFIG_IOMMU_IO_PGTABLE_LPAE --selectors CONFIG_IPMMU_VMSA -a=riscv
> > # 2. reproduce by make
> > # save the config file to linux source tree
> > cd linux
> > make ARCH=riscv olddefconfig
> >
> > If you fix the issue, kindly add following tag where applicable
> > | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > kismet warnings: (new ones prefixed by >>)
> >>> kismet: WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE when selected by IPMMU_VMSA
> > .config:4814:warning: symbol value 'ONFIG_ARCH_MMAP_RND_BITS_MI' invalid for ARCH_MMAP_RND_BITS
> >
> > WARNING: unmet direct dependencies detected for IOMMU_IO_PGTABLE_LPAE
> > Depends on [n]: IOMMU_SUPPORT [=y] && (ARM || ARM64 || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y])
> > Selected by [y]:
> > - IPMMU_VMSA [=y] && IOMMU_SUPPORT [=y] && (ARCH_RENESAS [=y] || COMPILE_TEST [=y] && !GENERIC_ATOMIC64 [=y])
> >
>
> Maybe this:
>
> ---
> drivers/iommu/Kconfig | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff -- a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig
> --- a/drivers/iommu/Kconfig
> +++ b/drivers/iommu/Kconfig
> @@ -32,7 +32,8 @@ config IOMMU_IO_PGTABLE
> config IOMMU_IO_PGTABLE_LPAE
> bool "ARMv7/v8 Long Descriptor Format"
> select IOMMU_IO_PGTABLE
> - depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64)
> + depends on ARM || ARM64 || ARCH_RENESAS || \
> + (COMPILE_TEST && !GENERIC_ATOMIC64)
> help
> Enable support for the ARM long descriptor pagetable format.
> This allocator supports 4K/2M/1G, 16K/32M and 64K/512M page
>
>
> or is way off?

Apologies for the radio silence here..

Palmer initially sent a workaround and there was some discussion there:
https://lore.kernel.org/all/20221214180409.7354-1-palmer@xxxxxxxxxxxx/
Guo sent a patch too:
https://lore.kernel.org/linux-riscv/20221215073212.1966823-1-guoren@xxxxxxxxxx/

I suppose Christmas is doing Christmas things :)

Thanks,
Conor.

Attachment: signature.asc
Description: PGP signature