summaryrefslogtreecommitdiff
path: root/firmware/myricom
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2016-01-05 18:36:59 +0300
committerWill Deacon <will.deacon@arm.com>2016-01-05 18:43:10 +0300
commit39b5be9b4233a9f212b98242bddf008f379b5122 (patch)
treea43438246dfcc4d0deca54c2823904faac99f94b /firmware/myricom
parentf930896967fa3f9ab16a6f87267b92798308d48f (diff)
downloadlinux-39b5be9b4233a9f212b98242bddf008f379b5122.tar.xz
arm64: mm: move pgd_cache initialisation to pgtable_cache_init
Initialising the suppport for EFI runtime services requires us to allocate a pgd off the back of an early_initcall. On systems where the PGD_SIZE is smaller than PAGE_SIZE (e.g. 64k pages and 48-bit VA), the pgd_cache isn't initialised at this stage, and we panic with a NULL dereference during boot: Unable to handle kernel NULL pointer dereference at virtual address 00000000 __create_mapping.isra.5+0x84/0x350 create_pgd_mapping+0x20/0x28 efi_create_mapping+0x5c/0x6c arm_enable_runtime_services+0x154/0x1e4 do_one_initcall+0x8c/0x190 kernel_init_freeable+0x84/0x1ec kernel_init+0x10/0xe0 ret_from_fork+0x10/0x50 This patch fixes the problem by initialising the pgd_cache earlier, in the pgtable_cache_init callback, which sounds suspiciously like what it was intended for. Reported-by: Dennis Chen <dennis.chen@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'firmware/myricom')
0 files changed, 0 insertions, 0 deletions