Re: [for 4.4 PATCH] memremap: fix highmem support

From: Dan Williams
Date: Tue Oct 27 2015 - 22:06:48 EST


On Wed, Oct 28, 2015 at 10:39 AM, Dan Williams <dan.j.williams@xxxxxxxxx> wrote:
> Currently memremap checks if the range is "System RAM" and returns the
> kernel linear address. This is broken for highmem platforms where a
> range may be "System RAM", but is not part of the kernel linear mapping.
> Similar to acpi_map(), use kmap() for PAGE_SIZE memremap() requests for
> highmem, and fall back to ioremap_cache() otherwise.
>
> The impact of this bug is low for now since the pmem driver is the only
> user of memremap(), but this is important to fix before more conversions
> to memremap arrive in 4.4.
>
> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
> Reported-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
> ---
> Russell,
>
> I question whether the kmap fallback is needed. This is borrowed from
> the current implementation of acpi_map(), and I added it since arm
> ioremap warns if passed pfn_valid() addresses.

I flubbed the subject line... this is for 4.3-final.
--
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/