The function fpu__init_system() is executed before parse_early_param().
This causes wrong fpu configuration. In addition, there are three related
issues:

  1. XGETBV1 is enabled when noxsave is given
  2. MPX is enabled when eagerfpu=off is given
  3. AVX is enabled when eagerfpu=off is given

  Issues 1 and 3 are existing bugs. Issue 2 is a fallout from the
  command-line parsing move.

The following four patches fix these issues.

yu-cheng yu (4):
  x86/fpu: Fix early fpu command-line parsing.
  x86/fpu: Disable XGETBV1 when no XSAVE.
  x86/fpu: Disable MPX when eagerfpu is off.
  x86/fpu: Disable AVX when eagerfpu is off.

 arch/x86/include/asm/fpu/internal.h |   1 +
 arch/x86/include/asm/fpu/xstate.h   |  11 +--
 arch/x86/kernel/fpu/init.c          | 161 +++++++++++++++++++-----------------
 arch/x86/kernel/fpu/xstate.c        |   4 +-
 4 files changed, 92 insertions(+), 85 deletions(-)

Signed-off-by: Yu-cheng Yu <[email protected]>
Cc: [email protected]
Cc: H. Peter Anvin <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Sai Praneeth Prakhya <[email protected]>
Cc: Ravi V. Shankar <[email protected]>
Cc: Fenghua Yu <[email protected]>
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to