[PATCH] arm64: Remove fixmap include fragility

Catalin Marinas catalin.marinas at arm.com
Fri Feb 26 07:23:53 PST 2016


On Fri, Feb 26, 2016 at 02:44:58PM +0000, Mark Rutland wrote:
> The asm-generic fixmap.h depends on each architecture's fixmap.h to pull
> in the definition of PAGE_KERNEL_RO, if this exists. In the absence of
> this, FIXMAP_PAGE_RO will not be defined. In mm/early_ioremap.c the
> definition of early_memremap_ro is predicated on FIXMAP_PAGE_RO being
> defined.
> 
> Currently, the arm64 fixmap.h doesn't include pgtable.h for the
> definition of PAGE_KERNEL_RO, and as a knock-on effect early_memremap_ro
> is not always defined, leading to link-time failures when it is used.
> This has been observed with defconfig on next-20160226.
> 
> Unfortunately, as pgtable.h includes fixmap.h, adding the include
> introduces a circular dependency, which is just as fragile.
> 
> Instead, this patch factors out PAGE_KERNEL_RO and other prot
> definitions into a new pgtable-prot header which can be included by poth
> pgtable.h and fixmap.h, avoiding the  circular dependency, and ensuring
> that early_memremap_ro is alwyas defined where it is used.
> 
> Signed-off-by: Mark Rutland <mark.rutland at arm.com>
> Reported-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will.deacon at arm.com>

Applied. Thanks.

-- 
Catalin



More information about the linux-arm-kernel mailing list