BACKPORT: arm64: fix R/O permissions of FDT mapping
The mapping permissions of the FDT are set to 'PAGE_KERNEL | PTE_RDONLY' in an attempt to map the FDT as read-only. However, not only does this break at build time under STRICT_MM_TYPECHECKS (since the two terms are of different types in that case), it also results in both the PTE_WRITE and PTE_RDONLY attributes to be set, which means the region is still writable under ARMv8.1 DBM (and an attempted write will simply clear the PT_RDONLY bit). So instead, define PAGE_KERNEL_RO (which already has an established meaning across architectures) and use that instead. Signed-off-by:Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com> (cherry picked from commit fb226c3d7c77b4f99cee675795cc0e70937c56ee) Change-Id: I3ab7382c7e5539d93b21dd262e0f7f128330722a [ghackmann@google.com: only take the PAGE_KERNEL_RO definition, since the FDT mapping code in question doesn't exist in 3.18] Signed-off-by:
Greg Hackmann <ghackmann@google.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@google.com>
Loading
Please register or sign in to comment