From: David Laight <david.laight.linux@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
"Rafael J. Wysocki" <rafael@kernel.org>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Zhang Rui <rui.zhang@intel.com>,
Lukasz Luba <lukasz.luba@arm.com>
Subject: Re: [PATCH v1 1/1] thermal: sysfs: switch to use scnprintf() to suppress truncation warning
Date: Sat, 5 Sep 2026 10:58:32 +0100 [thread overview]
Message-ID: <20260905105832.12192997@pumpkin> (raw)
In-Reply-To: <20260817103324.1020212-1-andriy.shevchenko@linux.intel.com>
On Mon, 17 Aug 2026 12:33:24 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> Switch the sysfs code to use scnprintf() to avoid warnings about potential
> truncation of the names of the sysfs attributes.
It has to be a 'bug' that 'format overflow' warnings are generated for
snprintf() but not for scnprintf().
They really shouldn't behave differently.
I did some tests a while back and the warning goes away if you do
'some things' with the result (like comparing against the buffer size),
but even explicitly ignoring it with a (void) cast isn't enough.
Using OPTIMIZER_HIDE_VAR() (or an _VAL variant) on the buffer size does
stop the error, but I expect gcc to start checking sizeof(buf) as well.
So both arguments might need hiding to get the warning ignored.
David
> We can't increase the buffer
> size because the size is the part of an ABI for some reason. Note, with
> the current size of buffer the affected attributes have a room for up to
> 1000 names, which ought to be enough for all cases. There is no functional
> change, as the same limitation was implied before.
>
> Fixes: c56f5c0342df ("Thermal: Make Thermal trip points writeable")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
> drivers/thermal/thermal_sysfs.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/thermal/thermal_sysfs.c b/drivers/thermal/thermal_sysfs.c
> index b44abfc997ed..44bd7c50e4ac 100644
> --- a/drivers/thermal/thermal_sysfs.c
> +++ b/drivers/thermal/thermal_sysfs.c
> @@ -400,8 +400,8 @@ static int create_trip_attrs(struct thermal_zone_device *tz)
> struct thermal_trip_attrs *trip_attrs = &td->trip_attrs;
>
> /* create trip type attribute */
> - snprintf(trip_attrs->type.name, THERMAL_NAME_LENGTH,
> - "trip_point_%d_type", i);
> + scnprintf(trip_attrs->type.name, sizeof(trip_attrs->type.name),
> + "trip_point_%d_type", i);
>
> sysfs_attr_init(&trip_attrs->type.attr.attr);
> trip_attrs->type.attr.attr.name = trip_attrs->type.name;
> @@ -410,8 +410,8 @@ static int create_trip_attrs(struct thermal_zone_device *tz)
> attrs[i] = &trip_attrs->type.attr.attr;
>
> /* create trip temp attribute */
> - snprintf(trip_attrs->temp.name, THERMAL_NAME_LENGTH,
> - "trip_point_%d_temp", i);
> + scnprintf(trip_attrs->temp.name, sizeof(trip_attrs->temp.name),
> + "trip_point_%d_temp", i);
>
> sysfs_attr_init(&trip_attrs->temp.attr.attr);
> trip_attrs->temp.attr.attr.name = trip_attrs->temp.name;
> @@ -423,8 +423,8 @@ static int create_trip_attrs(struct thermal_zone_device *tz)
> }
> attrs[i + tz->num_trips] = &trip_attrs->temp.attr.attr;
>
> - snprintf(trip_attrs->hyst.name, THERMAL_NAME_LENGTH,
> - "trip_point_%d_hyst", i);
> + scnprintf(trip_attrs->hyst.name, sizeof(trip_attrs->hyst.name),
> + "trip_point_%d_hyst", i);
>
> sysfs_attr_init(&trip_attrs->hyst.attr.attr);
> trip_attrs->hyst.attr.attr.name = trip_attrs->hyst.name;
next prev parent reply other threads:[~2026-09-05 9:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-17 10:33 [PATCH v1 1/1] thermal: sysfs: switch to use scnprintf() to suppress truncation warning Andy Shevchenko
2026-09-03 11:41 ` Andy Shevchenko
2026-09-04 8:01 ` Lukasz Luba
2026-09-04 13:54 ` Rafael J. Wysocki (Intel)
2026-09-05 9:58 ` David Laight [this message]
2026-09-07 4:21 ` Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260905105832.12192997@pumpkin \
--to=david.laight.linux@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=daniel.lezcano@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=lukasz.luba@arm.com \
--cc=rafael@kernel.org \
--cc=rui.zhang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.