All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] platform/x86: wmi: Call acpi_wmi_init() later
@ 2018-01-08 22:30 Darren Hart
  2018-01-10 12:18 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Darren Hart @ 2018-01-08 22:30 UTC (permalink / raw)
  To: Linux Stable
  Cc: Rafael Wysocki, Andy Shevchenko, Jonathan McDowell, Joonsoo Kim

commit 98b8e4e5c17bf87c1b18ed929472051dab39878c upstream
Please apply to 4.9.x and later stable kernel trees (this is as far back
as 86d9f48534e8 was applied).
This submission should have followed Option 1, but I failed to Cc:
stable in the original commit.

Calling acpi_wmi_init() at the subsys_initcall() level causes ordering
issues to appear on some systems and they are difficult to reproduce,
because there is no guaranteed ordering between subsys_initcall()
calls, so they may occur in different orders on different systems.

In particular, commit 86d9f48534e8 (mm/slab: fix kmemcg cache
creation delayed issue) exposed one of these issues where genl_init()
and acpi_wmi_init() are both called at the same initcall level, but
the former must run before the latter so as to avoid a NULL pointer
dereference.

For this reason, move the acpi_wmi_init() invocation to the
initcall_sync level which should still be early enough for things
to work correctly in the WMI land.

Link: https://marc.info/?t=151274596700002&r=1&w=2
Reported-by: Jonathan McDowell <noodles@earth.li>
Reported-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Tested-by: Jonathan McDowell <noodles@earth.li>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
---
 drivers/platform/x86/wmi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index 791449a..daa68ac 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -1458,5 +1458,5 @@ static void __exit acpi_wmi_exit(void)
 	class_unregister(&wmi_bus_class);
 }
 
-subsys_initcall(acpi_wmi_init);
+subsys_initcall_sync(acpi_wmi_init);
 module_exit(acpi_wmi_exit);
-- 
2.9.4


-- 
Darren Hart
VMware Open Source Technology Center

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] platform/x86: wmi: Call acpi_wmi_init() later
  2018-01-08 22:30 [PATCH] platform/x86: wmi: Call acpi_wmi_init() later Darren Hart
@ 2018-01-10 12:18 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2018-01-10 12:18 UTC (permalink / raw)
  To: Darren Hart
  Cc: Linux Stable, Rafael Wysocki, Andy Shevchenko, Jonathan McDowell,
	Joonsoo Kim

On Mon, Jan 08, 2018 at 02:30:49PM -0800, Darren Hart wrote:
> commit 98b8e4e5c17bf87c1b18ed929472051dab39878c upstream
> Please apply to 4.9.x and later stable kernel trees (this is as far back
> as 86d9f48534e8 was applied).
> This submission should have followed Option 1, but I failed to Cc:
> stable in the original commit.

Now applied, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-01-10 12:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-08 22:30 [PATCH] platform/x86: wmi: Call acpi_wmi_init() later Darren Hart
2018-01-10 12:18 ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.