On 2019-03-31 20:20:25 [+0200], Thomas Gleixner wrote:
> 
> I think this should do the following:
> 
>       fpregs_lock();
>       if (!test_thread_flag(TIF_NEED_FPU_LOAD)) {
>               pagefault_disable();
>               ret = copy_fpu_to_user(...);
>               pagefault_enable();
>               if (!res)
>                       return 0;
>               copy_fpregs_to_fpstate(fpu); 
>       }
>       fpregs_unlock();
> 
> The point is that in most cases the direct store from the FPU registers to
> user space will succeed simply because the stack is accessible and you only
> do the store in kernel memory and copy when that fails.

let me try that.

> Thanks,
> 
>       tglx
> 

Sebastian

Reply via email to