mirror of https://gitee.com/openkylin/linux.git
bfb34527a3
When vmemmap_populate() allocates space for the memmap it does so in 2MB
sized chunks. The libnvdimm-pfn driver incorrectly accounts for this
when the alignment of the device is set to 4K. When this happens we
trigger memory allocation failures in altmap_alloc_block_buf() and
trigger warnings of the form:
WARNING: CPU: 0 PID: 3376 at arch/x86/mm/init_64.c:656 arch_add_memory+0xe4/0xf0
[..]
Call Trace:
dump_stack+0x86/0xc3
__warn+0xcb/0xf0
warn_slowpath_null+0x1d/0x20
arch_add_memory+0xe4/0xf0
devm_memremap_pages+0x29b/0x4e0
Fixes:
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
blk.c | ||
btt.c | ||
btt.h | ||
btt_devs.c | ||
bus.c | ||
claim.c | ||
core.c | ||
dax_devs.c | ||
dimm.c | ||
dimm_devs.c | ||
e820.c | ||
label.c | ||
label.h | ||
namespace_devs.c | ||
nd-core.h | ||
nd.h | ||
pfn.h | ||
pfn_devs.c | ||
pmem.c | ||
pmem.h | ||
region.c | ||
region_devs.c |