linux-next: manual merge of the akpm tree with the pm tree
Hi Andrew, Today's linux-next merge of the akpm tree got a conflict in: fs/exec.c between commit: 67fe1224adc5 ("Revert "exec: make de_thread() freezable"") from the pm tree and patch: "fs/: remove caller signal_pending branch predictions" from the akpm tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc fs/exec.c index ea7d439cf79e,044e296f2381.. --- a/fs/exec.c +++ b/fs/exec.c @@@ -1086,8 -1087,8 +1086,8 @@@ static int de_thread(struct task_struc while (sig->notify_count) { __set_current_state(TASK_KILLABLE); spin_unlock_irq(lock); - freezable_schedule(); + schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; spin_lock_irq(lock); } @@@ -1114,8 -1115,8 +1114,8 @@@ __set_current_state(TASK_KILLABLE); write_unlock_irq(_lock); cgroup_threadgroup_change_end(tsk); - freezable_schedule(); + schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; } pgpyJkxHzU7jW.pgp Description: OpenPGP digital signature
linux-next: manual merge of the akpm tree with the pm tree
Hi Andrew, Today's linux-next merge of the akpm tree got a conflict in: fs/exec.c between commit: 67fe1224adc5 ("Revert "exec: make de_thread() freezable"") from the pm tree and patch: "fs/: remove caller signal_pending branch predictions" from the akpm tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc fs/exec.c index ea7d439cf79e,044e296f2381.. --- a/fs/exec.c +++ b/fs/exec.c @@@ -1086,8 -1087,8 +1086,8 @@@ static int de_thread(struct task_struc while (sig->notify_count) { __set_current_state(TASK_KILLABLE); spin_unlock_irq(lock); - freezable_schedule(); + schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; spin_lock_irq(lock); } @@@ -1114,8 -1115,8 +1114,8 @@@ __set_current_state(TASK_KILLABLE); write_unlock_irq(_lock); cgroup_threadgroup_change_end(tsk); - freezable_schedule(); + schedule(); - if (unlikely(__fatal_signal_pending(tsk))) + if (__fatal_signal_pending(tsk)) goto killed; } pgpyJkxHzU7jW.pgp Description: OpenPGP digital signature
linux-next: manual merge of the akpm tree with the pm tree
Hi Andrew, Today's linux-next merge of the akpm tree got a conflict in drivers/acpi/acpi_memhotplug.c between commits 85fcb3758c10 ("ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device") and d0fbb400b6f3 ("ACPI / memory-hotplug: add memory offline code to acpi_memory_device_remove()") from the pm tree and commit "acpi_memhotplug.c: fix memory leak when memory device is unbound from the module acpi_memhotplug" from the akpm tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/acpi/acpi_memhotplug.c index 92c973a,62c2c74..000 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c @@@ -131,6 -125,16 +131,18 @@@ acpi_memory_get_resource(struct acpi_re return AE_OK; } + static void + acpi_memory_free_device_resources(struct acpi_memory_device *mem_device) + { + struct acpi_memory_info *info, *n; + ++ mutex_lock(_device->list_lock); + list_for_each_entry_safe(info, n, _device->res_list, list) + kfree(info); + INIT_LIST_HEAD(_device->res_list); ++ mutex_unlock(_device->list_lock); + } + static int acpi_memory_get_device_resources(struct acpi_memory_device *mem_device) { @@@ -504,13 -490,7 +519,13 @@@ static int acpi_memory_device_remove(st if (!device || !acpi_driver_data(device)) return -EINVAL; - acpi_memory_device_free(acpi_driver_data(device)); + mem_device = acpi_driver_data(device); + + result = acpi_memory_remove_memory(mem_device); + if (result) + return result; + - kfree(mem_device); ++ acpi_memory_device_free(mem_device); return 0; } pgp9hVTKAnCDQ.pgp Description: PGP signature
linux-next: manual merge of the akpm tree with the pm tree
Hi Andrew, Today's linux-next merge of the akpm tree got a conflict in drivers/acpi/acpi_memhotplug.c between commits 85fcb3758c10 (ACPI / memory-hotplug: introduce a mutex lock to protect the list in acpi_memory_device) and d0fbb400b6f3 (ACPI / memory-hotplug: add memory offline code to acpi_memory_device_remove()) from the pm tree and commit acpi_memhotplug.c: fix memory leak when memory device is unbound from the module acpi_memhotplug from the akpm tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwells...@canb.auug.org.au diff --cc drivers/acpi/acpi_memhotplug.c index 92c973a,62c2c74..000 --- a/drivers/acpi/acpi_memhotplug.c +++ b/drivers/acpi/acpi_memhotplug.c @@@ -131,6 -125,16 +131,18 @@@ acpi_memory_get_resource(struct acpi_re return AE_OK; } + static void + acpi_memory_free_device_resources(struct acpi_memory_device *mem_device) + { + struct acpi_memory_info *info, *n; + ++ mutex_lock(mem_device-list_lock); + list_for_each_entry_safe(info, n, mem_device-res_list, list) + kfree(info); + INIT_LIST_HEAD(mem_device-res_list); ++ mutex_unlock(mem_device-list_lock); + } + static int acpi_memory_get_device_resources(struct acpi_memory_device *mem_device) { @@@ -504,13 -490,7 +519,13 @@@ static int acpi_memory_device_remove(st if (!device || !acpi_driver_data(device)) return -EINVAL; - acpi_memory_device_free(acpi_driver_data(device)); + mem_device = acpi_driver_data(device); + + result = acpi_memory_remove_memory(mem_device); + if (result) + return result; + - kfree(mem_device); ++ acpi_memory_device_free(mem_device); return 0; } pgp9hVTKAnCDQ.pgp Description: PGP signature