On Tue, Jun 2, 2026 at 12:49 AM Yongqiang Sun <[email protected]> wrote:
>
> sysfs_show_gen_prop() accumulated snprintf()'s return value into the
> offset. snprintf() reports bytes that would have been written, not
> bytes actually written, so a truncated sysfs show could over-report
> its length. Use sysfs_emit_at(), which returns only the bytes written.
>
> Signed-off-by: Yongqiang Sun <[email protected]>

Acked-by: Alex Deucher <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c 
> b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> index f57da088f1f8..0ff793a17857 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> @@ -198,8 +198,7 @@ struct kfd_topology_device *kfd_create_topology_device(
>
>
>  #define sysfs_show_gen_prop(buffer, offs, fmt, ...)            \
> -               (offs += snprintf(buffer+offs, PAGE_SIZE-offs,  \
> -                                 fmt, __VA_ARGS__))
> +               (offs += sysfs_emit_at(buffer, offs, fmt, __VA_ARGS__))
>  #define sysfs_show_32bit_prop(buffer, offs, name, value) \
>                 sysfs_show_gen_prop(buffer, offs, "%s %u\n", name, value)
>  #define sysfs_show_64bit_prop(buffer, offs, name, value) \
> --
> 2.43.0
>

Reply via email to