Re: [PATCH v3 1/4] drivers/iommu: Add page_ext for IOMMU_DEBUG_PAGEALLOC
From: Randy Dunlap
Date: Mon Nov 24 2025 - 20:31:31 EST
I missed one other thing:
On 11/24/25 3:13 PM, Randy Dunlap wrote:
>
>
> 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=
Please note what format the option parameter value takes and possible values,
like iommu.passthrough above here in the kernel-parameters.txt file.
>> + [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