x86: potential ioremap() issues

From: Jan Beulich
Date: Thu Feb 28 2008 - 07:59:09 EST


Ingo,

with the new ioremap() implementation I see a couple of (potential)
issues:
- When ioremap_page_range() fails, remove_vm_area() is used rather
than vunmap() - I think this will cause a 'struct vm_struct' leak.
- While ioremap() continues to happily map RAM pages (with a bogus
[see below] WARN_ON_ONCE()), cacheability of the memory is not
being restored in iounmap().
- The check for RAM pages (except for the WARN_ON_ONCE())
continues to be applied only to lowmem pages.
- The WARN_ON_ONCE() itself is applied to the pfn after the
preceding loop finished, i.e. to a pfn that doesn't actually participate
in the operation. Shouldn't it be moved inside the loop?

Thanks for any clarification,
Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/