Re: WARNING: drivers/iommu/io-pgtable-arm.c:639

Chaitanya Kulkarni
2025-12-09T17:29:14Z

On 12/9/25 03:50, Robin Murphy wrote:
> On 2025-12-09 11:43 am, Sebastian Ott wrote:
>> Hi,
>>
>> got the following warning after a kernel update on Thurstday, leading
>> to a
>> panic and fs corruption. I didn't capture the first warning but I'm
>> pretty
>> sure it was the same. It's reproducible but I didn't bisect since it
>> borked my fs. The only hint I can give is that v6.18 worked. Is this a
>> known issue? Anything I should try?
>
> nvme_unmap_data() is attempting to unmap an IOVA that was never
> mapped, or has already been unmapped by someone else. That's a usage bug.
>
> Thanks,
> Robin.

Ankit A. also reported this.

Apart from unmapping, by any chance do we need this ?

diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c
index e6626004b323..05d63fe92e43 100644
--- a/drivers/iommu/io-pgtable-arm.c
+++ b/drivers/iommu/io-pgtable-arm.c
@@ -637,7 +637,7 @@ static size_t __arm_lpae_unmap(struct arm_lpae_io_pgtable *data,
pte = READ_ONCE(*ptep);
if (!pte) {
WARN_ON(!(data->iop.cfg.quirks & IO_PGTABLE_QUIRK_NO_WARN));
- return -ENOENT;
+ return 0;
}

/* If the size matches this level, we're in the right place */
--
2.40.0

disclaimer :-

THIS PATCH IS COMPLETELY UNTESTED AND MAY BE INCORRECT.
PLEASE REVIEW CAREFULLY.

-ck