[PATCH] drm/tiny: pixpaper: add explicit dependency on MMU

LiangCheng Wang posted 1 patch 3 months, 1 week ago
drivers/gpu/drm/tiny/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] drm/tiny: pixpaper: add explicit dependency on MMU
Posted by LiangCheng Wang 3 months, 1 week ago
The DRM_GEM_SHMEM_HELPER helper requires MMU enabled because it uses
vmf_insert_pfn() in its mmap implementation. On NOMMU configurations
(e.g. some RISC-V randconfig builds), this symbol is unavailable and
selecting DRM_GEM_SHMEM_HELPER causes a modpost undefined reference:

    ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!

Normally, Kconfig prevents this helper from being selected when
CONFIG_MMU=n. However, in some randconfig builds (such as those used by
0day CI), select statements can override unmet dependencies, triggering
the issue.

Add an explicit dependency on MMU to DRM_PIXPAPER to prevent this.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202510280213.0rlYA4T3-lkp@intel.com/
Fixes: 0c4932f6ddf8 ("drm/tiny: pixpaper: Fix missing dependency on DRM_GEM_SHMEM_HELPER")
Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
---
This patch fixes a build issue reported by the kernel test robot when
building with CONFIG_MMU=n on RISC-V randconfig.

In such configurations, the DRM_GEM_SHMEM_HELPER helper uses
vmf_insert_pfn(), which is unavailable without MMU support. Although
normal Kconfig rules prevent DRM_GEM_SHMEM_HELPER from being selected
in this case, randconfig builds may forcibly enable it via select,
leading to the following modpost error:

    ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!

The fix is to add an explicit `depends on MMU` to the DRM_PIXPAPER
driver, ensuring it cannot be built for NOMMU systems.

This issue cannot always be reproduced locally because typical builds
do not violate Kconfig dependencies, but it was confirmed that the fix
prevents the reported 0day failure.
---
LiangCheng Wang (1):
  drm/tiny: pixpaper: add explicit dependency on MMU

 drivers/gpu/drm/tiny/Kconfig

Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
---
 drivers/gpu/drm/tiny/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
index 7d9e85e932d7fd7bdb6ad7a4c6ba0f835841f623..f0e72d4b6a4709564e63c758e857bdb4a320dbe7 100644
--- a/drivers/gpu/drm/tiny/Kconfig
+++ b/drivers/gpu/drm/tiny/Kconfig
@@ -85,6 +85,7 @@ config DRM_PANEL_MIPI_DBI
 config DRM_PIXPAPER
         tristate "DRM support for PIXPAPER display panels"
         depends on DRM && SPI
+        depends on MMU
         select DRM_CLIENT_SELECTION
         select DRM_GEM_SHMEM_HELPER
         select DRM_KMS_HELPER

---
base-commit: fd57572253bc356330dbe5b233c2e1d8426c66fd
change-id: 20251028-bar-ae0d85b16f13

Best regards,
-- 
LiangCheng Wang <zaq14760@gmail.com>
Re: [PATCH] drm/tiny: pixpaper: add explicit dependency on MMU
Posted by Thomas Zimmermann 3 months, 1 week ago

Am 28.10.25 um 03:55 schrieb LiangCheng Wang:
> The DRM_GEM_SHMEM_HELPER helper requires MMU enabled because it uses
> vmf_insert_pfn() in its mmap implementation. On NOMMU configurations
> (e.g. some RISC-V randconfig builds), this symbol is unavailable and
> selecting DRM_GEM_SHMEM_HELPER causes a modpost undefined reference:
>
>      ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!
>
> Normally, Kconfig prevents this helper from being selected when
> CONFIG_MMU=n. However, in some randconfig builds (such as those used by
> 0day CI), select statements can override unmet dependencies, triggering
> the issue.
>
> Add an explicit dependency on MMU to DRM_PIXPAPER to prevent this.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202510280213.0rlYA4T3-lkp@intel.com/
> Fixes: 0c4932f6ddf8 ("drm/tiny: pixpaper: Fix missing dependency on DRM_GEM_SHMEM_HELPER")
> Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
> This patch fixes a build issue reported by the kernel test robot when
> building with CONFIG_MMU=n on RISC-V randconfig.
>
> In such configurations, the DRM_GEM_SHMEM_HELPER helper uses
> vmf_insert_pfn(), which is unavailable without MMU support. Although
> normal Kconfig rules prevent DRM_GEM_SHMEM_HELPER from being selected
> in this case, randconfig builds may forcibly enable it via select,
> leading to the following modpost error:
>
>      ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!
>
> The fix is to add an explicit `depends on MMU` to the DRM_PIXPAPER
> driver, ensuring it cannot be built for NOMMU systems.
>
> This issue cannot always be reproduced locally because typical builds
> do not violate Kconfig dependencies, but it was confirmed that the fix
> prevents the reported 0day failure.
> ---
> LiangCheng Wang (1):
>    drm/tiny: pixpaper: add explicit dependency on MMU
>
>   drivers/gpu/drm/tiny/Kconfig
>
> Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
> ---
>   drivers/gpu/drm/tiny/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
> index 7d9e85e932d7fd7bdb6ad7a4c6ba0f835841f623..f0e72d4b6a4709564e63c758e857bdb4a320dbe7 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -85,6 +85,7 @@ config DRM_PANEL_MIPI_DBI
>   config DRM_PIXPAPER
>           tristate "DRM support for PIXPAPER display panels"
>           depends on DRM && SPI
> +        depends on MMU
>           select DRM_CLIENT_SELECTION
>           select DRM_GEM_SHMEM_HELPER
>           select DRM_KMS_HELPER
>
> ---
> base-commit: fd57572253bc356330dbe5b233c2e1d8426c66fd
> change-id: 20251028-bar-ae0d85b16f13
>
> Best regards,

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
Re: [PATCH] drm/tiny: pixpaper: add explicit dependency on MMU
Posted by Thomas Zimmermann 3 months, 1 week ago
Hi

Am 28.10.25 um 03:55 schrieb LiangCheng Wang:
> The DRM_GEM_SHMEM_HELPER helper requires MMU enabled because it uses
> vmf_insert_pfn() in its mmap implementation. On NOMMU configurations
> (e.g. some RISC-V randconfig builds), this symbol is unavailable and
> selecting DRM_GEM_SHMEM_HELPER causes a modpost undefined reference:
>
>      ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!
>
> Normally, Kconfig prevents this helper from being selected when
> CONFIG_MMU=n. However, in some randconfig builds (such as those used by
> 0day CI), select statements can override unmet dependencies, triggering
> the issue.
>
> Add an explicit dependency on MMU to DRM_PIXPAPER to prevent this.
>
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202510280213.0rlYA4T3-lkp@intel.com/
> Fixes: 0c4932f6ddf8 ("drm/tiny: pixpaper: Fix missing dependency on DRM_GEM_SHMEM_HELPER")
> Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
> ---
> This patch fixes a build issue reported by the kernel test robot when
> building with CONFIG_MMU=n on RISC-V randconfig.
>
> In such configurations, the DRM_GEM_SHMEM_HELPER helper uses
> vmf_insert_pfn(), which is unavailable without MMU support. Although
> normal Kconfig rules prevent DRM_GEM_SHMEM_HELPER from being selected
> in this case, randconfig builds may forcibly enable it via select,
> leading to the following modpost error:
>
>      ERROR: modpost: "vmf_insert_pfn" [drivers/gpu/drm/drm_shmem_helper.ko] undefined!
>
> The fix is to add an explicit `depends on MMU` to the DRM_PIXPAPER
> driver, ensuring it cannot be built for NOMMU systems.
>
> This issue cannot always be reproduced locally because typical builds
> do not violate Kconfig dependencies, but it was confirmed that the fix
> prevents the reported 0day failure.

The problem most likely comes from [1]. Is it possible to fix this instead?

[1] https://elixir.bootlin.com/linux/v6.17.5/source/arch/riscv/Kconfig#L1345

Best regards
Thomas

> ---
> LiangCheng Wang (1):
>    drm/tiny: pixpaper: add explicit dependency on MMU
>
>   drivers/gpu/drm/tiny/Kconfig
>
> Signed-off-by: LiangCheng Wang <zaq14760@gmail.com>
> ---
>   drivers/gpu/drm/tiny/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig
> index 7d9e85e932d7fd7bdb6ad7a4c6ba0f835841f623..f0e72d4b6a4709564e63c758e857bdb4a320dbe7 100644
> --- a/drivers/gpu/drm/tiny/Kconfig
> +++ b/drivers/gpu/drm/tiny/Kconfig
> @@ -85,6 +85,7 @@ config DRM_PANEL_MIPI_DBI
>   config DRM_PIXPAPER
>           tristate "DRM support for PIXPAPER display panels"
>           depends on DRM && SPI
> +        depends on MMU
>           select DRM_CLIENT_SELECTION
>           select DRM_GEM_SHMEM_HELPER
>           select DRM_KMS_HELPER
>
> ---
> base-commit: fd57572253bc356330dbe5b233c2e1d8426c66fd
> change-id: 20251028-bar-ae0d85b16f13
>
> Best regards,

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
Re: [PATCH] drm/tiny: pixpaper: add explicit dependency on MMU
Posted by lcwang 3 months, 1 week ago
Hi Thomas,

Thanks for the clarification.

Just to confirm my understanding — are you suggesting that this issue
should ideally be fixed in the RISC-V Kconfig (specifically the PORTABLE
logic that ensures MMU is selected), rather than adding a local
"depends on MMU" here in DRM_PIXPAPER?

If that’s the case and the root cause will be addressed in the RISC-V
side, I’m happy to drop this patch to avoid redundant dependencies.

Best regards,
LiangCheng
Re: [PATCH] drm/tiny: pixpaper: add explicit dependency on MMU
Posted by Thomas Zimmermann 3 months, 1 week ago
Hi

Am 30.10.25 um 03:43 schrieb lcwang:
> Hi Thomas,
>
> Thanks for the clarification.
>
> Just to confirm my understanding — are you suggesting that this issue
> should ideally be fixed in the RISC-V Kconfig (specifically the PORTABLE
> logic that ensures MMU is selected), rather than adding a local
> "depends on MMU" here in DRM_PIXPAPER?
>
> If that’s the case and the root cause will be addressed in the RISC-V
> side, I’m happy to drop this patch to avoid redundant dependencies.

After reconsidering, we can merge your patch. Here's probably no easier 
solution to the problem.

Best regards
Thomas

>
> Best regards,
> LiangCheng

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)