[PATCH] powerpc/pseries hotplug: prevent the reserved mem from removing
Pingfan Liu
piliu at redhat.com
Thu Apr 27 17:43:08 AEST 2017
E.g after fadump reserves mem regions, these regions should not be removed
before fadump explicitly free them.
Signed-off-by: Pingfan Liu <piliu at redhat.com>
---
arch/powerpc/platforms/pseries/hotplug-memory.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index e104c71..201be23 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -346,6 +346,8 @@ static int pseries_remove_memblock(unsigned long base, unsigned int memblock_siz
if (!pfn_valid(start_pfn))
goto out;
+ if (memblock_is_reserved(base))
+ return -EINVAL;
block_sz = pseries_memory_block_size();
sections_per_block = block_sz / MIN_MEMORY_BLOCK_SIZE;
@@ -388,8 +390,7 @@ static int pseries_remove_mem_node(struct device_node *np)
base = be64_to_cpu(*(unsigned long *)regs);
lmb_size = be32_to_cpu(regs[3]);
- pseries_remove_memblock(base, lmb_size);
- return 0;
+ return pseries_remove_memblock(base, lmb_size);
}
static bool lmb_is_removable(struct of_drconf_cell *lmb)
--
2.7.4
More information about the Linuxppc-dev
mailing list