Re: [PATCH] powerpc/pseries: fix oops in hotplug memory notifier
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2019-06-07 13:11:10
Nathan Lynch [off-list ref] writes:
During post-migration device tree updates, we can oops in pseries_update_drconf_memory if the source device tree has an ibm,dynamic-memory-v2 property and the destination has a ibm,dynamic_memory (v1) property. The notifier processes an "update" for the ibm,dynamic-memory property but it's really an add in this scenario. So make sure the old property object is there before dereferencing it. Signed-off-by: Nathan Lynch <redacted>
Can you pinpoint a commit that introduced the bug? Should we backport
this to stable?
Perhaps?
Fixes: 2b31e3aec1db ("powerpc/drmem: Add support for ibm, dynamic-memory-v2 property")
cheers
quoted hunk ↗ jump to hunk
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c index 47087832f8b2..e6bd172bcf30 100644 --- a/arch/powerpc/platforms/pseries/hotplug-memory.c +++ b/arch/powerpc/platforms/pseries/hotplug-memory.c@@ -980,6 +980,9 @@ static int pseries_update_drconf_memory(struct of_reconfig_data *pr) if (!memblock_size) return -EINVAL; + if (!pr->old_prop) + return 0; + p = (__be32 *) pr->old_prop->value; if (!p) return -EINVAL;-- 2.20.1