]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdkfd: fix sysfs topology prop length on buffer truncation
authorYongqiang Sun <Yongqiang.Sun@amd.com>
Mon, 1 Jun 2026 19:48:44 +0000 (15:48 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 4 Jun 2026 19:27:37 +0000 (15:27 -0400)
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 <Yongqiang.Sun@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index dc1c6bd1252f1b2a89d3e1d6e36f9820f0d9ac25..00517c3d0e6a01640044e93e89efa5445f75fda4 100644 (file)
@@ -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) \