• Chen Zhou's avatar
    arm64: replace memblock_alloc_low with memblock_alloc · 9e0a17db
    Chen Zhou authored
    If we use "crashkernel=Y[@X]" and the start address is above 4G,
    the arm64 kdump capture kernel may call memblock_alloc_low() failure
    in request_standard_resources(). Replacing memblock_alloc_low() with
    memblock_alloc().
    
    [    0.000000] MEMBLOCK configuration:
    [    0.000000]  memory size = 0x0000000040650000 reserved size = 0x0000000004db7f39
    [    0.000000]  memory.cnt  = 0x6
    [    0.000000]  memory[0x0]	[0x00000000395f0000-0x000000003968ffff], 0x00000000000a0000 bytes on node 0 flags: 0x4
    [    0.000000]  memory[0x1]	[0x0000000039730000-0x000000003973ffff], 0x0000000000010000 bytes on node 0 flags: 0x4
    [    0.000000]  memory[0x2]	[0x0000000039780000-0x000000003986ffff], 0x00000000000f0000 bytes on node 0 flags: 0x4
    [    0.000000]  memory[0x3]	[0x0000000039890000-0x0000000039d0ffff], 0x0000000000480000 bytes on node 0 flags: 0x4
    [    0.000000]  memory[0x4]	[0x000000003ed00000-0x000000003ed2ffff], 0x0000000000030000 bytes on node 0 flags: 0x4
    [    0.000000]  memory[0x5]	[0x0000002040000000-0x000000207fffffff], 0x0000000040000000 bytes on node 0 flags: 0x0
    [    0.000000]  reserved.cnt  = 0x7
    [    0.000000]  reserved[0x0]	[0x0000002040080000-0x0000002041c4dfff], 0x0000000001bce000 bytes flags: 0x0
    [    0.000000]  reserved[0x1]	[0x0000002041c53000-0x0000002042c203f8], 0x0000000000fcd3f9 bytes flags: 0x0
    [    0.000000]  reserved[0x2]	[0x000000207da00000-0x000000207dbfffff], 0x0000000000200000 bytes flags: 0x0
    [    0.000000]  reserved[0x3]	[0x000000207ddef000-0x000000207fbfffff], 0x0000000001e11000 bytes flags: 0x0
    [    0.000000]  reserved[0x4]	[0x000000207fdf2b00-0x000000207fdfc03f], 0x0000000000009540 bytes flags: 0x0
    [    0.000000]  reserved[0x5]	[0x000000207fdfd000-0x000000207ffff3ff], 0x0000000000202400 bytes flags: 0x0
    [    0.000000]  reserved[0x6]	[0x000000207ffffe00-0x000000207fffffff], 0x0000000000000200 bytes flags: 0x0
    [    0.000000] Kernel panic - not syncing: request_standard_resources: Failed to allocate 384 bytes
    [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.1.0-next-20190321+ #4
    [    0.000000] Call trace:
    [    0.000000]  dump_backtrace+0x0/0x188
    [    0.000000]  show_stack+0x24/0x30
    [    0.000000]  dump_stack+0xa8/0xcc
    [    0.000000]  panic+0x14c/0x31c
    [    0.000000]  setup_arch+0x2b0/0x5e0
    [    0.000000]  start_kernel+0x90/0x52c
    [    0.000000] ---[ end Kernel panic - not syncing: request_standard_resources: Failed to allocate 384 bytes ]---
    
    Link: https://www.spinics.net/lists/arm-kernel/msg715293.htmlSigned-off-by: default avatarChen Zhou <chenzhou10@huawei.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    9e0a17db
setup.c 10.8 KB