Re: [PATCH 04/10] x86/xsaves: Introduce a new check that allows correct xstates copy from kernel to user directly

From: Andy Lutomirski
Date: Mon Feb 22 2016 - 18:36:58 EST


On Mon, Feb 22, 2016 at 3:27 PM, Yu-cheng Yu <yu-cheng.yu@xxxxxxxxx> wrote:
> On Mon, Feb 22, 2016 at 02:42:54PM -0800, Andy Lutomirski wrote:
>> > +static int should_save_registers_directly(void)
>>
>> I don't like the name of this function because:
>>
>> > +{
>> > + /*
>> > + * In signal handling path, the kernel already checks if
>> > + * FPU instructions have been used before it calls
>> > + * copy_fpstate_to_sigframe(). We check this here again
>> > + * to detect any potential mis-use and saving invalid
>> > + * register values directly to a signal frame.
>> > + */
>> > + WARN_ONCE(!current->thread.fpu.fpstate_active,
>> > + "direct FPU save with no math use\n");
>>
>> ... Here "direct" seems to mean that we're asking whether to directly save ...
>>
>> > +
>> > + /*
>> > + * In the case that we are using a compacted kernel
>> > + * xsave area, we can not copy the thread.fpu.state
>> > + * directly to userspace and *must* save it from the
>> > + * registers directly.
>> > + */
>>
>> ... and here "directly" means *both* copying directly to userspace and
>> saving using xsave directly.
>>
>> So can you rename it to something with an obvious meaning like
>> "may_memcpy_fpu_regs" or similar?
>
> This function determines whether the kernel should do
> copy_fpregs_to_sigframe(). Perhaps we can re-name it to
> may_copy_fpregs_to_sigframe()?
>

Works for me.


> --Yu-cheng
>



--
Andy Lutomirski
AMA Capital Management, LLC