On Sun, 5 May 2019, Rik van Riel wrote:
Using fpu code in kernel space in a kernel module is a derived work of the kernel itself? dont get me wrong, but this is absurd. i mean you limit the use of cpu instructions. the use of cpu instructions should be free of any licensing issue. i would even argument you are violating the license of the cpu ower given to the kernel by executing it, by restricting its use for no reason
Using FPU code in kernel space in a kernel module does not require the use of kernel_fpu_begin/end().
The kernel module could simply disable preemption, save the FPU registers, use the FPU, restore the FPU registers, and reenable preemption.
That means the module basically reimplemented kernel_fpu_begin/end() in its whole (not getting the further optimizations implemented by the kernel, sure). And therefore I sort of don't see the point of "hiding" it.
Thanks,