Re: [PATCH] platform/x86: think-lmi: Fix certificate thumbprint sysfs output
"Mark Pearson" <[email protected]>
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
Thanks Thorsten,
On Mon, Aug 10, 2026, at 8:05 AM, Thorsten Blum wrote:
> cert_thumbprint() already returns the accumulated output length, but
> certificate_thumbprint_show() adds that value to count again, making the
> next line use the wrong offset. Errors returned by cert_thumbprint() are
> also ignored and their negative values added to count.
>
> Assign the total length to count instead and propagate errors correctly.
>
> Fixes: b49f72e7f96d ("platform/x86: think-lmi: Certificate
> authentication support")
> Cc: [email protected]
> Signed-off-by: Thorsten Blum <[email protected]>
> ---
> drivers/platform/x86/lenovo/think-lmi.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/platform/x86/lenovo/think-lmi.c
> b/drivers/platform/x86/lenovo/think-lmi.c
> index e215e86e3db7..441fca37b523 100644
> --- a/drivers/platform/x86/lenovo/think-lmi.c
> +++ b/drivers/platform/x86/lenovo/think-lmi.c
> @@ -745,6 +745,8 @@ static ssize_t certificate_thumbprint_show(struct
> kobject *kobj, struct kobj_att
> return -EOPNOTSUPP;
>
> for (i = 0; i < ARRAY_SIZE(thumbtypes); i++) {
> + ssize_t ret;
> +
> if (tlmi_priv.pwdcfg.core.password_mode >=
> TLMI_PWDCFG_MODE_MULTICERT) {
> /* Format: 'SVC | SMC, Thumbtype' */
> wmistr = kasprintf(GFP_KERNEL, "%s,%s",
> @@ -756,8 +758,12 @@ static ssize_t certificate_thumbprint_show(struct
> kobject *kobj, struct kobj_att
> }
> if (!wmistr)
> return -ENOMEM;
> - count += cert_thumbprint(buf, wmistr, count);
> +
> + ret = cert_thumbprint(buf, wmistr, count);
> kfree(wmistr);
> + if (ret < 0)
> + return ret;
> + count = ret;
> }
>
> return count;
Looks good to me. Thanks for the fix.
Reviewed-by: Mark Pearson <[email protected]>
Mark