Re: [PATCH v3 1/4] drivers/iommu: Add page_ext for IOMMU_DEBUG_PAGEALLOC
From: Randy Dunlap
Date: Mon Nov 24 2025 - 18:13:40 EST
On 11/24/25 12:08 PM, Mostafa Saleh wrote:
> Add a new config IOMMU_DEBUG_PAGEALLOC, which registers new data to
> page_ext.
>
> This config will be used by the IOMMU API to track pages mapped in
> the IOMMU to catch drivers trying to free kernel memory that they
> still map in their domains, causing all types of memory corruption.
>
> This behaviour is disabled by default and can be enabled using
> kernel cmdline iommu.debug_pagealloc.
>
> Signed-off-by: Mostafa Saleh <smostafa@xxxxxxxxxx>
> ---
> .../admin-guide/kernel-parameters.txt | 6 ++++
> drivers/iommu/Kconfig | 19 +++++++++++
> drivers/iommu/Makefile | 1 +
> drivers/iommu/iommu-debug-pagealloc.c | 32 +++++++++++++++++++
> include/linux/iommu-debug-pagealloc.h | 17 ++++++++++
> mm/page_ext.c | 4 +++
> 6 files changed, 79 insertions(+)
> create mode 100644 drivers/iommu/iommu-debug-pagealloc.c
> create mode 100644 include/linux/iommu-debug-pagealloc.h
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 6c42061ca20e..dddf435a1c11 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -2557,6 +2557,12 @@
> 1 - Bypass the IOMMU for DMA.
> unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
>
> + iommu.debug_pagealloc=
> + [KNL,EARLY] When CONFIG_IOMMU_DEBUG_PAGEALLOC is set, this
> + parameter enables the feature at boot time. By default, it
> + is disabled and the system behave the same way as a kernel
behaves
> + built without CONFIG_IOMMU_DEBUG_PAGEALLOC.
> +
> io7= [HW] IO7 for Marvel-based Alpha systems
> See comment before marvel_specify_io7 in
> arch/alpha/kernel/core_marvel.c.
--
~Randy