powerpc/pseries: skip reserved LMBs in dlpar_memory_add_by_count()
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Tue, 22 Jun 2021 13:39:21 +0000 (10:39 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 24 Jun 2021 14:07:09 +0000 (00:07 +1000)
The function is counting reserved LMBs as available to be added, but
they aren't. This will cause the function to miscalculate the available
LMBs and can trigger errors later on when executing dlpar_add_lmb().

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210622133923.295373-2-danielhb413@gmail.com
arch/powerpc/platforms/pseries/hotplug-memory.c

index 36f66556a7c6512088e899da2e17f93a2d160104..28a7fd90232faec16d90dd98404dca714c4a732b 100644 (file)
@@ -683,6 +683,9 @@ static int dlpar_memory_add_by_count(u32 lmbs_to_add)
 
        /* Validate that there are enough LMBs to satisfy the request */
        for_each_drmem_lmb(lmb) {
+               if (lmb->flags & DRCONF_MEM_RESERVED)
+                       continue;
+
                if (!(lmb->flags & DRCONF_MEM_ASSIGNED))
                        lmbs_available++;