]> Gentwo Git Trees - linux/.git/commit
arm64/fpu: Enforce task-context only for generic kernel mode FPU
authorArd Biesheuvel <ardb@kernel.org>
Wed, 8 Oct 2025 04:22:05 +0000 (06:22 +0200)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 12 Nov 2025 08:52:03 +0000 (09:52 +0100)
commit103728a7162cb5ed22904e31066904375f1fb71e
tree913e8c06648ba88f9c6f699c1aa938479a20008e
parent9dc106fa1e7d074305d415e568e4518174695507
arm64/fpu: Enforce task-context only for generic kernel mode FPU

The generic kernel mode FPU API, which is used by the AMDGPU driver to
perform floating point calculations, is modeled after the most
restrictive architecture that supports it. This means it doesn't support
preemption, and can only be used from task context.

The arm64 implementation is a bit more flexible, but supporting that in
the generic API complicates matters slightly, and for no good reason,
given that the only user does not need it.

So enforce that kernel_fpu_begin() can only be called from task context,
and [redundantly] disable preemption. This removes the need for users of
this API to provide a kernel mode FP/SIMD state after a future patch
that makes that compulsory for preemptible task context.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
arch/arm64/include/asm/fpu.h