aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-08-06 08:58:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-08-06 08:58:59 -0400
commit194d6ad32e1eef433c61040385dcfd98e6fe2ef9 (patch)
tree4591bc4c5a1eac2196ef905b8f30629a0cb530e6 /arch/arm64/mm
parenta157b3aaa44829998d5a079174df989e5d8c20ff (diff)
parent747a70e60b7234e8fd9c35dd2f2db10ac1db231d (diff)
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Will Deacon: - fix HugeTLB leak due to CoW and PTE_RDONLY mismatch - avoid accessing unmapped FDT fields when checking validity - correctly account for vDSO AUX entry in ARCH_DLINFO - fix kallsyms with absolute expressions in linker script - kill unnecessary symbol-based relocs in vmlinux * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: arm64: Fix copy-on-write referencing in HugeTLB arm64: mm: avoid fdt_check_header() before the FDT is fully mapped arm64: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO arm64: relocatable: suppress R_AARCH64_ABS64 relocations in vmlinux arm64: vmlinux.lds: make __rela_offset and __dynsym_offset ABSOLUTE
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r--arch/arm64/mm/mmu.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
index 51a558195bb9..4989948d1feb 100644
--- a/arch/arm64/mm/mmu.c
+++ b/arch/arm64/mm/mmu.c
@@ -686,9 +686,9 @@ void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
686 /* 686 /*
687 * Check whether the physical FDT address is set and meets the minimum 687 * Check whether the physical FDT address is set and meets the minimum
688 * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be 688 * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be
689 * at least 8 bytes so that we can always access the size field of the 689 * at least 8 bytes so that we can always access the magic and size
690 * FDT header after mapping the first chunk, double check here if that 690 * fields of the FDT header after mapping the first chunk, double check
691 * is indeed the case. 691 * here if that is indeed the case.
692 */ 692 */
693 BUILD_BUG_ON(MIN_FDT_ALIGN < 8); 693 BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
694 if (!dt_phys || dt_phys % MIN_FDT_ALIGN) 694 if (!dt_phys || dt_phys % MIN_FDT_ALIGN)
@@ -716,7 +716,7 @@ void *__init __fixmap_remap_fdt(phys_addr_t dt_phys, int *size, pgprot_t prot)
716 create_mapping_noalloc(round_down(dt_phys, SWAPPER_BLOCK_SIZE), 716 create_mapping_noalloc(round_down(dt_phys, SWAPPER_BLOCK_SIZE),
717 dt_virt_base, SWAPPER_BLOCK_SIZE, prot); 717 dt_virt_base, SWAPPER_BLOCK_SIZE, prot);
718 718
719 if (fdt_check_header(dt_virt) != 0) 719 if (fdt_magic(dt_virt) != FDT_MAGIC)
720 return NULL; 720 return NULL;
721 721
722 *size = fdt_totalsize(dt_virt); 722 *size = fdt_totalsize(dt_virt);