mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-16 07:35:14 +00:00
powerpc/mm: remove linear mapping if __add_pages() fails in arch_add_memory()
Let's revert what we did in case something goes wrong and we return an error - as already done on arm64 and s390x. Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Oscar Salvador <osalvador@suse.de> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20201111145322.15793-8-david@redhat.com
This commit is contained in:
parent
d8bd9a121c
commit
ca2c36cae9
1 changed files with 4 additions and 1 deletions
|
@ -170,7 +170,10 @@ int __ref arch_add_memory(int nid, u64 start, u64 size,
|
|||
rc = arch_create_linear_mapping(nid, start, size, params);
|
||||
if (rc)
|
||||
return rc;
|
||||
return __add_pages(nid, start_pfn, nr_pages, params);
|
||||
rc = __add_pages(nid, start_pfn, nr_pages, params);
|
||||
if (rc)
|
||||
arch_remove_linear_mapping(start, size);
|
||||
return rc;
|
||||
}
|
||||
|
||||
void __ref arch_remove_memory(int nid, u64 start, u64 size,
|
||||
|
|
Loading…
Reference in a new issue