2012-11-07 12:38:07

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] ACPI: fix missing unlock on error in acpi_memory_remove_memory()

From: Wei Yongjun <[email protected]>

Add the missing mutex_unlock() before return from function
acpi_memory_remove_memory() in the error handling case.

Introduce by commit 85fcb3758c10e063a2a30dfad75017097999deed
'ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device'

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/acpi/acpi_memhotplug.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
index 92c973a..e573e87 100644
--- a/drivers/acpi/acpi_memhotplug.c
+++ b/drivers/acpi/acpi_memhotplug.c
@@ -325,8 +325,10 @@ static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
if (info->enabled) {
result = remove_memory(info->start_addr, info->length);
- if (result)
+ if (result) {
+ mutex_unlock(&mem_device->list_lock);
return result;
+ }
}

list_del(&info->list);


2012-11-08 01:49:03

by Wen Congyang

[permalink] [raw]
Subject: Re: [PATCH -next] ACPI: fix missing unlock on error in acpi_memory_remove_memory()

Hi, wei

At 11/07/2012 08:38 PM, Wei Yongjun Wrote:
> From: Wei Yongjun <[email protected]>
>
> Add the missing mutex_unlock() before return from function
> acpi_memory_remove_memory() in the error handling case.
>
> Introduce by commit 85fcb3758c10e063a2a30dfad75017097999deed
> 'ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device'
>
> dpatch engine is used to auto generate this patch.
> (https://github.com/weiyj/dpatch)
>
> Signed-off-by: Wei Yongjun <[email protected]>

Thanks for your patch.

Dan Carpenter has told me this problem. I fix it, but don't
resend it because it is in test now.

Thanks
Wen Congyang

> ---
> drivers/acpi/acpi_memhotplug.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/acpi_memhotplug.c b/drivers/acpi/acpi_memhotplug.c
> index 92c973a..e573e87 100644
> --- a/drivers/acpi/acpi_memhotplug.c
> +++ b/drivers/acpi/acpi_memhotplug.c
> @@ -325,8 +325,10 @@ static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
> list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
> if (info->enabled) {
> result = remove_memory(info->start_addr, info->length);
> - if (result)
> + if (result) {
> + mutex_unlock(&mem_device->list_lock);
> return result;
> + }
> }
>
> list_del(&info->list);
>
>
>

2012-11-08 04:31:15

by Wei Yongjun

[permalink] [raw]
Subject: Re: [PATCH -next] ACPI: fix missing unlock on error in acpi_memory_remove_memory()

Hi Wen,

On 11/08/2012 09:31 AM, Wen Congyang wrote:
> Hi, wei
>
> At 11/07/2012 08:38 PM, Wei Yongjun Wrote:
>> From: Wei Yongjun <[email protected]>
>>
>> Add the missing mutex_unlock() before return from function
>> acpi_memory_remove_memory() in the error handling case.
>>
>> Introduce by commit 85fcb3758c10e063a2a30dfad75017097999deed
>> 'ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device'
>>
>> dpatch engine is used to auto generate this patch.
>> (https://github.com/weiyj/dpatch)
>>
>> Signed-off-by: Wei Yongjun <[email protected]>
> Thanks for your patch.
>
> Dan Carpenter has told me this problem. I fix it, but don't
> resend it because it is in test now.

I saw your patchset has already applied to linux-pm.git tree:
http://git.kernel.org/?p=linux/kernel/git/rafael/linux-pm.git;a=shortlog;h=refs/heads/linux-next

So I think what need is to send a new patch to fix it, not
resend the full patchset.

Regards,
Yongjun Wei