On 05/09/2016 01:46 PM, Yu-cheng Yu wrote:
> Add a warning in case a disabled (not existing) xstate component offset
> is requested.
...
> diff --git a/arch/x86/kernel/fpu/xstate.c b/arch/x86/kernel/fpu/xstate.c
> index 350814c..2e6dbfe 100644
> --- a/arch/x86/kernel/fpu/xstate.c
> +++ b/arch/x86/kernel/fpu/xstate.c
> @@ -756,6 +756,7 @@ void *__raw_xsave_addr(struct xregs_state *xsave, int 
> xstate_feature_mask)
>  {
>       int feature_nr = fls64(xstate_feature_mask) - 1;
>  
> +     WARN_ON_FPU(using_compacted_format() && !xfeature_enabled(feature_nr));
>       return (void *)xsave + xstate_comp_offsets[feature_nr];
>  }

Why the using_compacted_format()?  Shouldn't this be an error, regardless.

Also, what is xstate_comp_offsets[feature_nr] in this case?  Isn't it
-1?  Should we be returning NULL along with WARN()ing?

Reply via email to