Re: [RFC/RFT PATCH 3/6] ACPI / APEI: Replace ioremap_page_range() with fixmap

From: Borislav Petkov
Date: Wed Nov 01 2017 - 09:34:45 EST


On Tue, Oct 31, 2017 at 03:38:29PM +0000, James Morse wrote:
> Replace ghes_io{re,un}map_pfn_{nmi,irq}()s use of ioremap_page_range()
> with __set_fixmap() as ioremap_page_range() may sleep to allocate a new
> level of page-table, even if its passed an existing final-address to
> use in the mapping.
>
> clear_fixmap() does the TLB invalidation in __set_fixmap() for arm64
> and __set_pte_vaddr() for x86. In each case its the same as the
> respective arch_apei_flush_tlb_one().
>
> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: James Morse <james.morse@xxxxxxx>
> CC: Tyler Baicar <tbaicar@xxxxxxxxxxxxxx>
> CC: Dongjiu Geng <gengdongjiu@xxxxxxxxxx>
> CC: Xie XiuQi <xiexiuqi@xxxxxxxxxx>
>
> ---
> CC'd people I've seen posting CPER log fragments, could you give this a
> test on your platforms?
>
> drivers/acpi/apei/ghes.c | 45 +++++++++++++++------------------------------
> 1 file changed, 15 insertions(+), 30 deletions(-)

Reviewed-by: Borislav Petkov <bp@xxxxxxx>

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--