Le 29/05/2026 à 03:55, Qiang Yu a écrit :
From: Qiang Yu <[email protected]> This fixes read /sys/class/drm/cardN/device/devcoredump/data return empty content sometimes. amdgpu_devcoredump_format() leaves struct drm_print_iterator's .start field uninitialized on the stack before passing it to drm_coredump_printer(). __drm_puts_coredump() compares the running .offset against .start to decide whether to skip or copy each chunk: if (iterator->offset < iterator->start) { if (iterator->offset + len <= iterator->start) { iterator->offset += len; return; } ... } Fixes: 4f28b4930f8e ("drm/amdgpu: move devcoredump generation to a worker") Signed-off-by: Qiang Yu <[email protected]>
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
--- drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c index 46043a1479e4..63d7ef78c025 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c @@ -219,6 +219,7 @@ amdgpu_devcoredump_format(char *buffer, size_t count, struct amdgpu_coredump_inf u32 ring_idx, off;iter.data = buffer;+ iter.start = 0; iter.offset = 0; iter.remain = count;
