Re: [PATCH] platform/x86: dell-wmi-sysman: Change user experience when Admin/System Password is modified

From: Hans de Goede
Date: Mon Jun 28 2021 - 05:01:48 EST


Hi,

On 6/28/21 10:49 AM, Prasanth KSR wrote:
> Whenever user has changed an Admin/System Password using the sysfs,
> then we are automatically copying the new password to existing
> password field.
>
> Co-developed-by: Divya Bharathi <divya.bharathi@xxxxxxxx>
> Signed-off-by: Divya Bharathi <divya.bharathi@xxxxxxxx>
> Signed-off-by: Prasanth KSR <prasanth.ksr@xxxxxxxx>

Thank you.

I assume this was tested? The reason I'm asking because in the
Lenovo Think* case it turned out that the modified password only
becomes active after a reboot, so the right thing to do there was
to just keep current_password as is.

Regards,

Hans



> ---
> .../x86/dell/dell-wmi-sysman/passwordattr-interface.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c b/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c
> index 339a082d6c18..86ec962aace9 100644
> --- a/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c
> +++ b/drivers/platform/x86/dell/dell-wmi-sysman/passwordattr-interface.c
> @@ -95,9 +95,9 @@ int set_new_password(const char *password_type, const char *new)
>
> print_hex_dump_bytes("set new password data: ", DUMP_PREFIX_NONE, buffer, buffer_size);
> ret = call_password_interface(wmi_priv.password_attr_wdev, buffer, buffer_size);
> - /* clear current_password here and use user input from wmi_priv.current_password */
> + /* on success copy the new password to current password */
> if (!ret)
> - memset(current_password, 0, MAX_BUFF);
> + strscpy(current_password, new, MAX_BUFF);
> /* explain to user the detailed failure reason */
> else if (ret == -EOPNOTSUPP)
> dev_err(&wmi_priv.password_attr_wdev->dev, "admin password must be configured\n");
>