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) [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> Change-Id: I9c0e0e342f94bd76cff34643aa9f9a9327b43fb5 Git-Commit: e906a210 Git-repo: git://android.googlesource.com/kernel/common.git Signed-off-by:
Vinayak Menon <vinmenon@codeaurora.org>
Loading
Please register or sign in to comment