drivers/platform/x86/dell/alienware-wmi-wmax.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
Initialize `awcc` with empty quirks to avoid a null pointer dereference
in sleep handlers for devices without the AWCC interface.
This also allows some code simplification in alienware_wmax_wmi_init().
Cc: stable@vger.kernel.org
Reported-by: Gal Hammer <galhammer@gmail.com>
Tested-by: Gal Hammer <galhammer@gmail.com>
Fixes: 07ac275981b1 ("platform/x86: alienware-wmi-wmax: Add support for manual fan control")
Signed-off-by: Kurt Borja <kuurtb@gmail.com>
---
Changes in v2:
- Little logic mistake in the `force_gmode` path... (oops)
- Link to v1: https://lore.kernel.org/r/20251013-sleep-fix-v1-1-92bc11b6ecae@gmail.com
---
drivers/platform/x86/dell/alienware-wmi-wmax.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/drivers/platform/x86/dell/alienware-wmi-wmax.c b/drivers/platform/x86/dell/alienware-wmi-wmax.c
index 31f9643a6a3b5c2eb74b089dc071964bd6df8b43..cefeef84d85d111e9cc15ebed35fb83f03c41c7c 100644
--- a/drivers/platform/x86/dell/alienware-wmi-wmax.c
+++ b/drivers/platform/x86/dell/alienware-wmi-wmax.c
@@ -393,7 +393,7 @@ static const enum platform_profile_option awcc_mode_to_platform_profile[AWCC_PRO
[AWCC_PROFILE_LEGACY_PERFORMANCE] = PLATFORM_PROFILE_PERFORMANCE,
};
-static struct awcc_quirks *awcc;
+static struct awcc_quirks *awcc = &empty_quirks;
/*
* The HDMI mux sysfs node indicates the status of the HDMI input mux.
@@ -1680,22 +1680,14 @@ int __init alienware_wmax_wmi_init(void)
if (id)
awcc = id->driver_data;
- if (force_hwmon) {
- if (!awcc)
- awcc = &empty_quirks;
-
+ if (force_hwmon)
awcc->hwmon = true;
- }
-
- if (force_platform_profile) {
- if (!awcc)
- awcc = &empty_quirks;
+ if (force_platform_profile)
awcc->pprof = true;
- }
if (force_gmode) {
- if (awcc)
+ if (awcc->pprof)
awcc->gmode = true;
else
pr_warn("force_gmode requires platform profile support\n");
---
base-commit: 3ed17349f18774c24505b0c21dfbd3cc4f126518
change-id: 20251012-sleep-fix-5d0596dd92a3
--
~ Kurt
On Mon, 13 Oct 2025 00:26:26 -0500, Kurt Borja wrote:
> Initialize `awcc` with empty quirks to avoid a null pointer dereference
> in sleep handlers for devices without the AWCC interface.
>
> This also allows some code simplification in alienware_wmax_wmi_init().
>
>
Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.
The list of commits applied:
[1/1] platform/x86: alienware-wmi-wmax: Fix null pointer derefence in sleep handlers
commit: 5ae9382ac3c56d044ed065d0ba6d8c42139a8f98
--
i.
On Mon Oct 13, 2025 at 10:10 AM -05, Ilpo Järvinen wrote: > On Mon, 13 Oct 2025 00:26:26 -0500, Kurt Borja wrote: > >> Initialize `awcc` with empty quirks to avoid a null pointer dereference >> in sleep handlers for devices without the AWCC interface. >> >> This also allows some code simplification in alienware_wmax_wmi_init(). >> >> > > > Thank you for your contribution, it has been applied to my local > review-ilpo-fixes branch. Note it will show up in the public > platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my > local branch there, which might take a while. > > The list of commits applied: > [1/1] platform/x86: alienware-wmi-wmax: Fix null pointer derefence in sleep handlers > commit: 5ae9382ac3c56d044ed065d0ba6d8c42139a8f98 > > -- > i. Hi Ilpo, Gal has just noticed this approach prevents the old driver interface from loading, which is a huge regression. Do you prefer to drop this commit or should I submit a revert? Thank you for your patience! -- ~ Kurt
On Tue, 14 Oct 2025, Kurt Borja wrote: > On Mon Oct 13, 2025 at 10:10 AM -05, Ilpo Järvinen wrote: > > On Mon, 13 Oct 2025 00:26:26 -0500, Kurt Borja wrote: > > > >> Initialize `awcc` with empty quirks to avoid a null pointer dereference > >> in sleep handlers for devices without the AWCC interface. > >> > >> This also allows some code simplification in alienware_wmax_wmi_init(). > >> > >> > > > > > > Thank you for your contribution, it has been applied to my local > > review-ilpo-fixes branch. Note it will show up in the public > > platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my > > local branch there, which might take a while. > > > > The list of commits applied: > > [1/1] platform/x86: alienware-wmi-wmax: Fix null pointer derefence in sleep handlers > > commit: 5ae9382ac3c56d044ed065d0ba6d8c42139a8f98 > > > > -- > > i. > > Hi Ilpo, > > Gal has just noticed this approach prevents the old driver interface > from loading, which is a huge regression. > > Do you prefer to drop this commit or should I submit a revert? > > Thank you for your patience! Okay, thanks for the information. I'll drop it, it's very easy to drop as it's the HEAD commit. -- i.
…
> The list of commits applied:
> [1/1] platform/x86: alienware-wmi-wmax: Fix null pointer derefence in sleep handlers
dereference?
> commit: 5ae9382ac3c56d044ed065d0ba6d8c42139a8f98
How do you think about to avoid a typo in the summary phrase?
Regards,
Markus
On Mon, 13 Oct 2025, Markus Elfring wrote: > … > > The list of commits applied: > > [1/1] platform/x86: alienware-wmi-wmax: Fix null pointer derefence in sleep handlers > > dereference? > > > > commit: 5ae9382ac3c56d044ed065d0ba6d8c42139a8f98 > > How do you think about to avoid a typo in the summary phrase? Thanks for noticing it. I've corrected it now. -- i.
© 2016 - 2025 Red Hat, Inc.