Re: [PATCH v11 04/15] platform/x86: lenovo-wmi-other: Zero initialize WMI arguments

From: Ilpo Järvinen

Date: Fri May 08 2026 - 10:24:46 EST


On Thu, 7 May 2026, Derek J. Clark wrote:

> Adds explicit initialization of wmi_method_args_32 declarations with
> zero values to prevent uninitialized data from being sent to the device
> BIOS when passed.
>
> No functional change intended.

Missing empty line.

> Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
> Fixes: 22024ac5366f ("platform/x86: Add Lenovo Gamezone WMI Driver")
> Fixes: edc4b183b794 ("platform/x86: Add Lenovo Other Mode WMI Driver")
> Reported-by: Rong Zhang <i@xxxxxxxx>
> Closes: https://lore.kernel.org/platform-driver-x86/95c7e7b539dd0af41189c754fcd35cec5b6fe182.camel@xxxxxxxx/
> Cc: stable@xxxxxxxxxxxxxxx
> Reviewed-by: Rong Zhang <i@xxxxxxxx>
> Tested-by: Rong Zhang <i@xxxxxxxx>
> Signed-off-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
> ---
> v7:
> - Include lwmi_gz_profile_set() fix as well.
> ---
> drivers/platform/x86/lenovo/wmi-gamezone.c | 2 +-
> drivers/platform/x86/lenovo/wmi-other.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/platform/x86/lenovo/wmi-gamezone.c b/drivers/platform/x86/lenovo/wmi-gamezone.c
> index 381836d29a96..ca559e6c031d 100644
> --- a/drivers/platform/x86/lenovo/wmi-gamezone.c
> +++ b/drivers/platform/x86/lenovo/wmi-gamezone.c
> @@ -203,7 +203,7 @@ static int lwmi_gz_profile_set(struct device *dev,
> enum platform_profile_option profile)
> {
> struct lwmi_gz_priv *priv = dev_get_drvdata(dev);
> - struct wmi_method_args_32 args;
> + struct wmi_method_args_32 args = {};
> enum thermal_mode mode;
> int ret;
>
> diff --git a/drivers/platform/x86/lenovo/wmi-other.c b/drivers/platform/x86/lenovo/wmi-other.c
> index a6be3463341c..1e06b894cfcc 100644
> --- a/drivers/platform/x86/lenovo/wmi-other.c
> +++ b/drivers/platform/x86/lenovo/wmi-other.c
> @@ -166,7 +166,7 @@ MODULE_PARM_DESC(relax_fan_constraint,
> */
> static int lwmi_om_fan_get_set(struct lwmi_om_priv *priv, int channel, u32 *val, bool set)
> {
> - struct wmi_method_args_32 args;
> + struct wmi_method_args_32 args = {};
> u32 method_id, retval;
> int err;
>
> @@ -773,7 +773,7 @@ static ssize_t attr_current_value_store(struct kobject *kobj,
> struct tunable_attr_01 *tunable_attr)
> {
> struct lwmi_om_priv *priv = dev_get_drvdata(tunable_attr->dev);
> - struct wmi_method_args_32 args;
> + struct wmi_method_args_32 args = {};
> struct capdata01 capdata;
> enum thermal_mode mode;
> u32 attribute_id;
> @@ -836,7 +836,7 @@ static ssize_t attr_current_value_show(struct kobject *kobj,
> struct tunable_attr_01 *tunable_attr)
> {
> struct lwmi_om_priv *priv = dev_get_drvdata(tunable_attr->dev);
> - struct wmi_method_args_32 args;
> + struct wmi_method_args_32 args = {};
> enum thermal_mode mode;
> u32 attribute_id;
> int retval;
>

--
i.