forked from luck/tmp_suning_uos_patched
mm/memory_hotplug: do not unlock after failing to take the device_hotplug_lock
When adding memory by probing a memory block in the sysfs interface, there is an obvious issue where we will unlock the device_hotplug_lock when we failed to takes it. That issue was introduced in8df1d0e4a2
("mm/memory_hotplug: make add_memory() take the device_hotplug_lock"). We should drop out in time when failing to take the device_hotplug_lock. Link: http://lkml.kernel.org/r/1554696437-9593-1-git-send-email-zhongjiang@huawei.com Fixes:8df1d0e4a2
("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") Signed-off-by: zhong jiang <zhongjiang@huawei.com> Reported-by: Yang yingliang <yangyingliang@huawei.com> Acked-by: Michal Hocko <mhocko@suse.com> Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Oscar Salvador <osalvador@suse.de> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
af53d3e9e0
commit
37803841c9
|
@ -506,7 +506,7 @@ static ssize_t probe_store(struct device *dev, struct device_attribute *attr,
|
||||||
|
|
||||||
ret = lock_device_hotplug_sysfs();
|
ret = lock_device_hotplug_sysfs();
|
||||||
if (ret)
|
if (ret)
|
||||||
goto out;
|
return ret;
|
||||||
|
|
||||||
nid = memory_add_physaddr_to_nid(phys_addr);
|
nid = memory_add_physaddr_to_nid(phys_addr);
|
||||||
ret = __add_memory(nid, phys_addr,
|
ret = __add_memory(nid, phys_addr,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user