On 10/15/2018 05:39 PM, Michael Ellerman wrote:
> Michael Bringmann <m...@linux.vnet.ibm.com> writes:
>> diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c 
>> b/arch/powerpc/platforms/pseries/hotplug-memory.c
>> index 2b796da..9c76345 100644
>> --- a/arch/powerpc/platforms/pseries/hotplug-memory.c
>> +++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
>> @@ -541,6 +549,23 @@ static int dlpar_memory_readd_by_index(u32 drc_index)
>>      return rc;
>>  }
>>
>> +static int dlpar_memory_readd_multiple(void)
>> +{
>> +    struct drmem_lmb *lmb;
>> +    int rc;
>> +
>> +    pr_info("Attempting to update multiple LMBs\n");
>> +
>> +    for_each_drmem_lmb(lmb) {
>> +            if (drmem_lmb_update(lmb)) {
>> +                    rc = dlpar_memory_readd_helper(lmb);
>> +                    drmem_remove_lmb_update(lmb);
>> +            }
>> +    }
>> +
>> +    return rc;
>> +}
> 
> This leaves rc potentially uninitialised.
> 
> What should the result be in that case, -EINVAL ?

On another note if there are multiple LMBs to update the value of rc only 
reflects the final dlpar_memory_readd_helper() call.

-Tyrel

> 
> cheers
> 

Reply via email to