Nathan Lynch <nath...@linux.ibm.com> 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 <nath...@linux.ibm.com>
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 > 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