Message ID | 20200430203845.582900-3-ira.weiny@intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Headers | show |
Series | Remove duplicated kmap code | expand |
On Thu, Apr 30, 2020 at 01:38:37PM -0700, ira.weiny@intel.com wrote: > @@ -88,6 +88,11 @@ void __init kmap_init(void) > { > unsigned long kmap_vstart; > > + /* Check if this memory layout is broken because PKMAP overlaps > + * page table. > + */ > + BUILD_BUG_ON(PKMAP_BASE < > + TLBTEMP_BASE_1 + TLBTEMP_SIZE); This can fit on a single line. Otherwise looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
diff --git a/arch/xtensa/include/asm/highmem.h b/arch/xtensa/include/asm/highmem.h index 413848cc1e56..a9587c85be85 100644 --- a/arch/xtensa/include/asm/highmem.h +++ b/arch/xtensa/include/asm/highmem.h @@ -68,11 +68,6 @@ void kunmap_high(struct page *page); static inline void *kmap(struct page *page) { - /* Check if this memory layout is broken because PKMAP overlaps - * page table. - */ - BUILD_BUG_ON(PKMAP_BASE < - TLBTEMP_BASE_1 + TLBTEMP_SIZE); might_sleep(); if (!PageHighMem(page)) return page_address(page); diff --git a/arch/xtensa/mm/highmem.c b/arch/xtensa/mm/highmem.c index 184ceadccc1a..711641c4d214 100644 --- a/arch/xtensa/mm/highmem.c +++ b/arch/xtensa/mm/highmem.c @@ -88,6 +88,11 @@ void __init kmap_init(void) { unsigned long kmap_vstart; + /* Check if this memory layout is broken because PKMAP overlaps + * page table. + */ + BUILD_BUG_ON(PKMAP_BASE < + TLBTEMP_BASE_1 + TLBTEMP_SIZE); /* cache the first kmap pte */ kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN); kmap_pte = kmap_get_fixmap_pte(kmap_vstart);