arm64/fpsimd: Make kernel_neon_ API _GPL
authorMark Brown <broonie@kernel.org>
Mon, 7 Nov 2022 17:07:47 +0000 (17:07 +0000)
committerWill Deacon <will@kernel.org>
Tue, 8 Nov 2022 16:07:36 +0000 (16:07 +0000)
Currently for reasons lost in the mists of time the kernel_neon_ APIs are
EXPORT_SYMBOL() but the general policy for floating point usage is that it
should be GPL only given the non-standard runtime environment that holds
while it is in use and PCS impacts when code is compiled for FP usage.

Given the limited existing deployment of non-GPL modules for arm64 and the
fact that other architectures like x86 already make their equivalent
functions GPL only this is not expected to be disruptive to existing users.

Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20221107170747.276910-1-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/kernel/fpsimd.c

index 23834d96d1e781d16e34e760f5a7e72af7422525..1fe7d65096ac661bae204a23b936ed69b7e89ae2 100644 (file)
@@ -1838,7 +1838,7 @@ void kernel_neon_begin(void)
        /* Invalidate any task state remaining in the fpsimd regs: */
        fpsimd_flush_cpu_state();
 }
-EXPORT_SYMBOL(kernel_neon_begin);
+EXPORT_SYMBOL_GPL(kernel_neon_begin);
 
 /*
  * kernel_neon_end(): give the CPU FPSIMD registers back to the current task
@@ -1856,7 +1856,7 @@ void kernel_neon_end(void)
 
        put_cpu_fpsimd_context();
 }
-EXPORT_SYMBOL(kernel_neon_end);
+EXPORT_SYMBOL_GPL(kernel_neon_end);
 
 #ifdef CONFIG_EFI