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(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to