diff options
| author | Fushuai Wang <[email protected]> | 2025-08-11 18:50:44 +0000 |
|---|---|---|
| committer | Dave Hansen <[email protected]> | 2025-08-11 20:28:07 +0000 |
| commit | 31cd31c9e17ece125aad27259501a2af69ccb020 (patch) | |
| tree | fe5893926a0cf05ad3cf0bf42792da827db9635c /drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | |
| parent | x86/bugs: Select best SRSO mitigation (diff) | |
| download | kernel-31cd31c9e17ece125aad27259501a2af69ccb020.tar.gz kernel-31cd31c9e17ece125aad27259501a2af69ccb020.zip | |
x86/fpu: Fix NULL dereference in avx512_status()
Problem
-------
With CONFIG_X86_DEBUG_FPU enabled, reading /proc/[kthread]/arch_status
causes a warning and a NULL pointer dereference.
This is because the AVX-512 timestamp code uses x86_task_fpu() but
doesn't check it for NULL. CONFIG_X86_DEBUG_FPU addles that function
for kernel threads (PF_KTHREAD specifically), making it return NULL.
The point of the warning was to ensure that kernel threads only access
task->fpu after going through kernel_fpu_begin()/_end(). Note: all
kernel tasks exposed in /proc have a valid task->fpu.
Solution
--------
One option is to silence the warning and check for NULL from
x86_task_fpu(). However, that warning is fairly fresh and seems like a
defense against misuse of the FPU state in kernel threads.
Instead, stop outputting AVX-512_elapsed_ms for kernel threads
altogether. The data was garbage anyway because avx512_timestamp is
only updated for user threads, not kernel threads.
If anyone ever wants to track kernel thread AVX-512 use, they can come
back later and do it properly, separate from this bug fix.
[ dhansen: mostly rewrite changelog ]
Fixes: 22aafe3bcb67 ("x86/fpu: Remove init_task FPU state dependencies, add debugging warning for PF_KTHREAD tasks")
Co-developed-by: Sohil Mehta <[email protected]>
Signed-off-by: Sohil Mehta <[email protected]>
Signed-off-by: Fushuai Wang <[email protected]>
Signed-off-by: Dave Hansen <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/all/20250811185044.2227268-1-sohil.mehta%40intel.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c')
0 files changed, 0 insertions, 0 deletions
