• David Gibson's avatar
    powerpc/mm: Clean up memory hotplug failure paths · 1dace6c6
    David Gibson authored
    This makes a number of cleanups to handling of mapping failures during
    memory hotplug on Power:
    
    For errors creating the linear mapping for the hot-added region:
      * This is now reported with EFAULT which is more appropriate than the
        previous EINVAL (the failure is unlikely to be related to the
        function's parameters)
      * An error in this path now prints a warning message, rather than just
        silently failing to add the extra memory.
      * Previously a failure here could result in the region being partially
        mapped.  We now clean up any partial mapping before failing.
    
    For errors creating the vmemmap for the hot-added region:
       * This is now reported with EFAULT instead of causing a BUG() - this
         could happen for external reason (e.g. full hash table) so it's better
         to handle this non-fatally
       * An error message is also printed, so the failure won't be silent
       * As above a failure could cause a partially mapped region, we now
         clean this up. [mpe: move htab_remove_mapping() out of #ifdef
         CONFIG_MEMORY_HOTPLUG to enable this]
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Reviewed-by: default avatarPaul Mackerras <paulus@samba.org>
    Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    1dace6c6
init_64.c 12.7 KB