[PATCH 0/3] mm, x86: Fix ioremap RAM check interfaces

Toshi Kani
2015-06-19T21:44:31Z

ioremap() checks if a target range is RAM and fails the request
if true. There are multiple issues in the iormap RAM check
interfaces.

1. region_is_ram() does not work at all.
2. The RAM checks, region_is_ram() and __ioremap_caller() via
walk_system_ram_range(), are redundant.
3. walk_system_ram_range() requires the RAM ranges page-aligned
in the resource table. This restriction has allowed multiple
ioremap calls to setup_data, which is not page-aligned.

This patchset solves issue 1 and 2. Issue 3 is not addressed in
this patchset, but is taken into the account that ioremap continues
to allow such callers until it is addressed.

---
Toshi Kani (3):
1/3 mm, x86: Fix warning in ioremap RAM check
2/3 mm, x86: Remove region_is_ram() call from ioremap
3/3 mm: Fix bugs in region_is_ram()

---
arch/x86/mm/ioremap.c | 23 ++++++-----------------
kernel/resource.c | 6 +++---
2 files changed, 9 insertions(+), 20 deletions(-)