Re: acpi_memhotplug.c: don't allow to eject the memory device if it is being used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 11/06/2012 02:11 AM, Dan Carpenter Wrote:
> Hello Wen Congyang,
> 
> The patch 306859f13dc1: "acpi_memhotplug.c: don't allow to eject the
> memory device if it is being used" from Nov 3, 2012, leads to the
> following Smatch warning:
> drivers/acpi/acpi_memhotplug.c:367 acpi_memory_remove_memory()
> 	 warn: inconsistent returns mutex:&mem_device->list_lock:
> 	locked (357,361) unlocked (367)

Thanks for pointing it out.

The patch 306859f13dc1 is in akpm's tree, and it conflicts with another
patch in linux-pm's tree. So Andrew Morton drops them.

I will resend them based on linux-pm's next tree.

Wen Congyang

> 
>    341  static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
>    342  {
>    343          int result;
>    344          struct acpi_memory_info *info, *n;
>    345  
>    346          mutex_lock(&mem_device->list_lock);
>    347          list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
>    348                  if (info->failed)
>    349                          /* The kernel does not use this memory block */
>    350                          continue;
>    351  
>    352                  if (!info->enabled)
>    353                          /*
>    354                           * The kernel uses this memory block, but it may be not
>    355                           * managed by us.
>    356                           */
>    357                          return -EBUSY;
>                                 ^^^^^^^^^^^^^
>    358  
>    359                  result = remove_memory(info->start_addr, info->length);
>    360                  if (result)
>    361                          return result;
>                                 ^^^^^^^^^^^^^^
> Unlock before returning?
> 
>    362                  list_del(&info->list);
>    363                  kfree(info);
>    364          }
>    365          mutex_unlock(&mem_device->list_lock);
>    366  
>    367          return 0;
>    368  }
> 
> 
> 
> 
> regards,
> dan carpenter
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux