Re: [PATCH v4] hwmon: Add thermal sensor driver for Surface Aggregator Module

From: Guenter Roeck
Date: Tue Aug 13 2024 - 14:19:21 EST


On Sun, Aug 11, 2024 at 02:14:41AM +0200, Maximilian Luz wrote:
> Some of the newer Microsoft Surface devices (such as the Surface Book
> 3 and Pro 9) have thermal sensors connected via the Surface Aggregator
> Module (the embedded controller on those devices). Add a basic driver
> to read out the temperature values of those sensors.
>
> The EC can have up to 16 thermal sensors connected via a single
> sub-device, each providing temperature readings and a label string.
>
> Link: https://github.com/linux-surface/surface-aggregator-module/issues/59
> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> Co-developed-by: Ivor Wanders <ivor@xxxxxxxxxxxx>
> Signed-off-by: Ivor Wanders <ivor@xxxxxxxxxxxx>
> Signed-off-by: Maximilian Luz <luzmaximilian@xxxxxxxxx>

Applied. One comment below, though.

> ---
> +
> + /*
> + * This should not fail unless the name in the returned struct is not
> + * null-terminated or someone changed something in the struct
> + * definitions above, since our buffer and struct have the same
> + * capacity by design. So if this fails, log an error message. Since
> + * the more likely cause is that the returned string isn't
> + * null-terminated, we might have received garbage (as opposed to just
> + * an incomplete string), so also fail the function.
> + */
> + status = strscpy(buf, name_rsp.name, buf_len);
> + if (status < 0) {
> + dev_err(&sdev->dev, "received non-null-terminated sensor name string\n");
> + return status;
> + }

If that ever happens, it will likely be permanent and clog the kernel log.
Normally I'd ask you to make it _once, but I am kind of tired right now of
having to explain to people that clogging the kernel log isn't really a
good idea - even more so if the message doesn't provide any real value.

Guenter