Message ID | 1554696437-9593-1-git-send-email-zhongjiang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESENT] mm/memory_hotplug: Do not unlock when fails to take the device_hotplug_lock | expand |
On Mon 08-04-19 12:07:17, zhong jiang wrote: > When adding the memory by probing memory block in sysfs interface, there is an > obvious issue that we will unlock the device_hotplug_lock when fails to takes it. > > That issue was introduced in Commit 8df1d0e4a265 > ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > > We should drop out in time when fails to take the device_hotplug_lock. > > Fixes: 8df1d0e4a265 ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > Reported-by: Yang yingliang <yangyingliang@huawei.com> > Signed-off-by: zhong jiang <zhongjiang@huawei.com> Acked-by: Michal Hocko <mhocko@suse.com> > --- > drivers/base/memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/memory.c b/drivers/base/memory.c > index d9ebb89..0c9e22f 100644 > --- a/drivers/base/memory.c > +++ b/drivers/base/memory.c > @@ -507,7 +507,7 @@ static ssize_t probe_store(struct device *dev, struct device_attribute *attr, > > ret = lock_device_hotplug_sysfs(); > if (ret) > - goto out; > + return ret; > > nid = memory_add_physaddr_to_nid(phys_addr); > ret = __add_memory(nid, phys_addr, > -- > 1.7.12.4 >
On 08.04.19 06:07, zhong jiang wrote: > When adding the memory by probing memory block in sysfs interface, there is an > obvious issue that we will unlock the device_hotplug_lock when fails to takes it. > > That issue was introduced in Commit 8df1d0e4a265 > ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > > We should drop out in time when fails to take the device_hotplug_lock. > > Fixes: 8df1d0e4a265 ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > Reported-by: Yang yingliang <yangyingliang@huawei.com> > Signed-off-by: zhong jiang <zhongjiang@huawei.com> > --- > drivers/base/memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/memory.c b/drivers/base/memory.c > index d9ebb89..0c9e22f 100644 > --- a/drivers/base/memory.c > +++ b/drivers/base/memory.c > @@ -507,7 +507,7 @@ static ssize_t probe_store(struct device *dev, struct device_attribute *attr, > > ret = lock_device_hotplug_sysfs(); > if (ret) > - goto out; > + return ret; > > nid = memory_add_physaddr_to_nid(phys_addr); > ret = __add_memory(nid, phys_addr, > Indeed Reviewed-by: David Hildenbrand <david@redhat.com>
On Mon, Apr 08, 2019 at 12:07:17PM +0800, zhong jiang wrote: > When adding the memory by probing memory block in sysfs interface, there is an > obvious issue that we will unlock the device_hotplug_lock when fails to takes it. > > That issue was introduced in Commit 8df1d0e4a265 > ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > > We should drop out in time when fails to take the device_hotplug_lock. > > Fixes: 8df1d0e4a265 ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") > Reported-by: Yang yingliang <yangyingliang@huawei.com> > Signed-off-by: zhong jiang <zhongjiang@huawei.com> Reviewed-by: Oscar Salvador <osalvador@suse.de>
diff --git a/drivers/base/memory.c b/drivers/base/memory.c index d9ebb89..0c9e22f 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -507,7 +507,7 @@ static ssize_t probe_store(struct device *dev, struct device_attribute *attr, ret = lock_device_hotplug_sysfs(); if (ret) - goto out; + return ret; nid = memory_add_physaddr_to_nid(phys_addr); ret = __add_memory(nid, phys_addr,
When adding the memory by probing memory block in sysfs interface, there is an obvious issue that we will unlock the device_hotplug_lock when fails to takes it. That issue was introduced in Commit 8df1d0e4a265 ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") We should drop out in time when fails to take the device_hotplug_lock. Fixes: 8df1d0e4a265 ("mm/memory_hotplug: make add_memory() take the device_hotplug_lock") Reported-by: Yang yingliang <yangyingliang@huawei.com> Signed-off-by: zhong jiang <zhongjiang@huawei.com> --- drivers/base/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)