x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits
authorPawan Gupta <pawan.kumar.gupta@linux.intel.com>
Thu, 10 Mar 2022 22:00:59 +0000 (14:00 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:34:20 +0000 (09:34 +0200)
commitaaf27fcaefc15ea51bb2fef550f17c5b71032041
tree1041dad2d0159800332af248c7ce78c6e9e406e9
parent2dd7d2eddf8e1ff3556e333979af99e4c167a7b5
x86/tsx: Use MSR_TSX_CTRL to clear CPUID bits

commit 258f3b8c3210b03386e4ad92b4bd8652b5c1beb3 upstream.

tsx_clear_cpuid() uses MSR_TSX_FORCE_ABORT to clear CPUID.RTM and
CPUID.HLE. Not all CPUs support MSR_TSX_FORCE_ABORT, alternatively use
MSR_IA32_TSX_CTRL when supported.

  [ bp: Document how and why TSX gets disabled. ]

Fixes: 293649307ef9 ("x86/tsx: Clear CPUID bits when TSX always force aborts")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Neelima Krishnan <neelima.krishnan@intel.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/5b323e77e251a9c8bcdda498c5cc0095be1e1d3c.1646943780.git.pawan.kumar.gupta@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/intel.c
arch/x86/kernel/cpu/tsx.c