On Tue, Nov 06, 2012 at 10:10:11AM +0800, Wen Congyang wrote: > 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. Ok. Today's linux-next version 85fcb3758c10e "ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device" has a similar problem and should be fixed as well. 319 static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device) 320 { 321 int result; 322 struct acpi_memory_info *info, *n; 323 324 mutex_lock(&mem_device->list_lock); 325 list_for_each_entry_safe(info, n, &mem_device->res_list, list) { 326 if (info->enabled) { 327 result = remove_memory(info->start_addr, info->length); 328 if (result) 329 return result; ^^^^^^^^^^^^^ We are still holding the lock here. 330 } 331 332 list_del(&info->list); 333 kfree(info); 334 } 335 mutex_unlock(&mem_device->list_lock); 336 337 return 0; 338 } 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