Borislav Petkov
ecec31ce4f
x86/microcode, cpuhotplug: Add a microcode loader CPU hotplug callback
...
commit 78f4e932f7 upstream.
Adric Blake reported the following warning during suspend-resume:
Enabling non-boot CPUs ...
x86: Booting SMP configuration:
smpboot: Booting Node 0 Processor 1 APIC 0x2
unchecked MSR access error: WRMSR to 0x10f (tried to write 0x0000000000000000) \
at rIP: 0xffffffff8d267924 (native_write_msr+0x4/0x20)
Call Trace:
intel_set_tfa
intel_pmu_cpu_starting
? x86_pmu_dead_cpu
x86_pmu_starting_cpu
cpuhp_invoke_callback
? _raw_spin_lock_irqsave
notify_cpu_starting
start_secondary
secondary_startup_64
microcode: sig=0x806ea, pf=0x80, revision=0x96
microcode: updated to revision 0xb4, date = 2019-04-01
CPU1 is up
The MSR in question is MSR_TFA_RTM_FORCE_ABORT and that MSR is emulated
by microcode. The log above shows that the microcode loader callback
happens after the PMU restoration, leading to the conjecture that
because the microcode hasn't been updated yet, that MSR is not present
yet, leading to the #GP.
Add a microcode loader-specific hotplug vector which comes before
the PERF vectors and thus executes earlier and makes sure the MSR is
present.
Fixes: 400816f60c ("perf/x86/intel: Implement support for TSX Force Abort")
Reported-by: Adric Blake <promarbler14@gmail.com >
Signed-off-by: Borislav Petkov <bp@suse.de >
Reviewed-by: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: <stable@vger.kernel.org >
Cc: x86@kernel.org
Link: https://bugzilla.kernel.org/show_bug.cgi?id=203637
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-06-19 08:18:06 +02:00
..
2019-01-22 21:40:33 +01:00
2018-12-01 09:37:29 +01:00
2019-03-27 14:14:39 +09:00
2017-11-02 11:10:55 +01:00
2018-09-30 08:49:55 -07:00
2019-02-12 19:46:57 +01:00
2019-05-31 06:46:24 -07:00
2019-03-13 14:02:35 -07:00
2019-05-22 07:37:41 +02:00
2019-04-17 08:38:42 +02:00
2019-02-20 10:25:46 +01:00
2018-11-27 16:13:05 +01:00
2019-04-17 08:38:46 +02:00
2019-05-08 07:21:54 +02:00
2019-02-27 10:08:52 +01:00
2019-05-04 09:20:22 +02:00
2019-02-15 08:10:13 +01:00
2019-01-26 09:32:34 +01:00
2017-11-02 11:10:55 +01:00
2018-07-23 12:44:52 +02:00
2017-11-02 11:10:55 +01:00
2018-06-02 19:29:27 -05:00
2012-10-13 10:46:48 +01:00
2018-05-26 09:16:44 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2015-03-27 13:44:43 +00:00
2018-01-10 23:25:08 -05:00
2019-04-20 09:16:05 +02:00
2018-06-19 10:43:55 -04:00
2017-11-02 11:10:55 +01:00
2017-11-07 10:32:44 +01:00
2019-03-05 17:58:50 +01:00
2018-08-22 10:52:46 -07:00
2018-07-04 10:32:48 +01:00
2017-11-02 11:10:55 +01:00
2011-03-11 14:25:50 +00:00
2018-05-23 13:23:39 -04:00
2019-05-31 06:46:00 -07:00
2018-08-01 15:49:40 -07:00
2019-06-09 09:17:11 +02:00
2019-04-17 08:38:51 +02:00
2018-06-21 12:52:11 +02:00
2018-09-11 10:59:53 -06:00
2013-02-15 18:52:45 -08:00
2019-01-31 08:14:41 +01:00
2019-05-25 18:23:48 +02:00
2018-08-07 15:48:38 -07:00
2017-11-02 11:10:55 +01:00
2018-05-29 13:00:25 -06:00
2018-05-09 17:25:13 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 16:10:01 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2009-07-31 12:28:46 +02:00
2017-08-04 09:27:41 +08:00
2018-08-02 15:22:13 -06:00
2019-05-31 06:46:19 -07:00
2019-06-19 08:18:00 +02:00
2019-04-05 22:33:03 +02:00
2018-06-19 10:06:29 -07:00
2018-01-04 15:13:29 -08:00
2018-07-19 17:08:52 -07:00
2018-11-13 11:08:25 -08:00
2019-06-09 09:17:23 +02:00
2019-02-27 10:08:53 +01:00
2019-06-09 09:17:23 +02:00
2019-02-27 10:08:53 +01:00
2019-06-04 08:02:34 +02:00
2017-11-02 11:10:55 +01:00
2008-04-30 08:29:54 -07:00
2017-11-02 11:10:55 +01:00
2018-05-14 08:57:47 +02:00
2019-06-11 12:20:52 +02:00
2019-03-10 07:17:15 +01:00
2019-06-19 08:18:06 +02:00
2018-08-13 09:05:05 -07:00
2018-02-06 18:32:47 -08:00
2017-11-02 11:10:55 +01:00
2014-06-25 16:04:00 -07:00
2018-03-26 15:09:38 +02:00
2018-08-22 10:52:48 -07:00
2018-07-18 07:27:22 -04:00
2017-11-02 11:10:55 +01:00
2012-05-07 15:02:26 +02:00
2017-11-02 11:10:55 +01:00
2017-11-13 21:05:31 -08:00
2018-07-23 10:38:06 -07:00
2015-11-16 09:27:32 +05:30
2019-05-25 18:23:26 +02:00
2017-11-02 11:10:55 +01:00
2017-11-28 15:24:02 +01:00
2017-11-02 11:10:55 +01:00
2016-09-06 13:08:40 +09:00
2017-10-26 17:08:40 +09:00
2019-03-23 20:10:09 +01:00
2019-04-03 06:26:30 +02:00
2012-02-20 19:46:36 +11:00
2017-11-02 11:10:55 +01:00
2012-11-19 14:32:13 +01:00
2016-10-28 08:48:16 -06:00
2018-08-17 16:20:32 -07:00
2018-05-08 13:02:42 +02:00
2018-05-19 08:46:12 +02:00
2017-11-21 22:37:05 +05:30
2018-07-25 13:32:58 +02:00
2018-03-16 19:58:27 +01:00
2018-07-06 14:43:47 +02:00
2017-11-02 11:10:55 +01:00
2019-06-04 08:02:34 +02:00
2017-11-02 11:10:55 +01:00
2018-03-14 12:32:06 +01:00
2019-05-16 19:41:22 +02:00
2019-05-16 19:41:17 +02:00
2012-10-16 18:49:15 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-01 12:40:27 -07:00
2018-06-26 11:33:04 +09:00
2018-04-27 11:53:02 -04:00
2018-07-26 19:38:03 -07:00
2017-07-12 16:26:01 -07:00
2017-10-23 14:07:58 +09:00
2019-04-05 22:32:59 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-07-24 19:11:26 +02:00
2017-08-07 17:22:14 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-10-20 14:51:10 -04:00
2014-12-31 13:06:50 -05:00
2018-07-12 10:04:29 -04:00
2019-05-31 06:46:12 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2013-02-23 17:50:12 -08:00
2015-03-02 14:50:06 -03:00
2017-11-02 11:10:55 +01:00
2017-08-28 16:24:22 +02:00
2014-10-09 11:35:48 +03:00
2017-11-13 01:41:20 +01:00
2017-11-02 11:10:55 +01:00
2019-05-08 07:21:51 +02:00
2018-12-17 09:24:38 +01:00
2018-04-06 14:05:14 +01:00
2018-01-11 23:30:08 -05:00
2014-10-15 21:31:27 +05:30
2018-12-01 09:37:31 +01:00
2018-07-18 15:44:44 +02:00
2018-12-05 19:32:10 +01:00
2018-07-23 12:44:52 +02:00
2017-11-02 11:10:55 +01:00
2017-11-17 16:10:02 -08:00
2019-05-31 06:46:18 -07:00
2019-02-12 19:47:14 +01:00
2018-08-23 18:48:43 -07:00
2018-06-28 20:32:51 +09:00
2018-08-02 10:24:51 +02:00
2019-03-23 20:10:08 +01:00
2016-05-28 15:48:31 -04:00
2016-10-20 14:51:09 -04:00
2018-11-13 11:08:54 -08:00
2019-02-12 19:47:24 +01:00
2018-12-05 19:32:13 +01:00
2019-05-31 06:46:28 -07:00
2017-03-21 15:24:01 +01:00
2013-08-26 21:40:24 +02:00
2018-03-18 07:38:48 -07:00
2017-11-02 11:10:55 +01:00
2016-10-20 14:51:10 -04:00
2019-01-13 09:51:04 +01:00
2017-11-02 11:10:55 +01:00
2018-04-26 14:53:32 +02:00
2017-11-02 11:10:55 +01:00
2019-05-22 07:37:40 +02:00
2019-05-22 07:37:40 +02:00
2018-07-18 10:01:46 +09:00
2018-06-26 13:46:28 -07:00
2019-01-31 08:14:36 +01:00
2019-05-08 07:21:43 +02:00
2016-07-27 14:20:09 -07:00
2018-11-21 09:19:20 +01:00
2012-10-13 10:46:48 +01:00
2017-11-02 11:10:55 +01:00
2018-06-04 10:58:12 -07:00
2018-08-26 11:48:42 -07:00
2019-03-05 17:58:51 +01:00
2018-07-16 11:20:06 -07:00
2017-11-02 11:10:55 +01:00
2018-08-15 10:25:26 -07:00
2018-03-26 08:53:43 -06:00
2018-08-22 10:52:47 -07:00
2017-10-19 16:54:49 -07:00
2018-07-18 07:27:22 -04:00
2018-05-14 11:25:28 +02:00
2016-08-24 09:43:49 +02:00
2017-07-18 11:38:02 +02:00
2017-11-02 11:10:55 +01:00
2017-10-12 14:18:02 +02:00
2012-12-09 00:20:28 -05:00
2018-06-22 13:43:27 +09:00
2018-02-27 07:42:51 -06:00
2017-12-21 13:07:20 -05:00
2019-03-05 17:58:45 +01:00
2015-10-01 02:18:38 +02:00
2019-04-05 22:33:09 +02:00
2018-08-10 15:11:25 -04:00
2014-03-13 12:11:00 +10:30
2016-01-28 14:19:12 -08:00
2018-02-01 08:15:25 -05:00
2019-05-22 07:37:44 +02:00
2018-07-26 17:04:37 -07:00
2019-06-04 08:02:34 +02:00
2019-06-04 08:02:34 +02:00
2018-08-17 16:20:30 -07:00
2017-11-02 11:10:55 +01:00
2019-04-20 09:15:59 +02:00
2017-11-02 11:10:55 +01:00
2016-12-14 16:04:08 -08:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-05-10 17:54:08 +02:00
2017-11-02 11:10:55 +01:00
2018-04-13 17:10:28 -07:00
2019-03-23 20:09:48 +01:00
2017-11-15 16:38:45 +00:00
2014-10-22 16:14:04 -06:00
2017-09-08 18:26:51 -07:00
2018-08-18 11:44:53 -07:00
2019-04-27 09:36:37 +02:00
2017-05-08 17:15:14 -07:00
2018-06-07 17:34:36 -07:00
2018-07-03 09:17:30 +02:00
2018-07-12 21:35:28 +02:00
2019-05-16 19:41:22 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-07-05 23:21:11 +02:00
2018-08-24 13:20:33 -07:00
2018-01-11 14:39:07 -06:00
2017-12-01 13:09:40 -08:00
2018-04-07 07:53:23 -07:00
2018-02-02 16:50:28 -08:00
2018-06-01 07:43:53 -06:00
2019-06-09 09:17:19 +02:00
2012-10-13 10:46:48 +01:00
2018-08-10 15:11:25 -04:00
2018-04-12 09:41:19 -07:00
2017-11-02 11:10:55 +01:00
2017-02-24 17:46:57 -08:00
2018-12-29 13:37:59 +01:00
2017-11-02 11:10:55 +01:00
2017-10-12 15:01:30 +02:00
2017-11-02 11:10:55 +01:00
2017-08-28 20:51:22 +02:00
2017-01-04 13:22:38 -07:00
2018-06-05 08:50:16 -04:00
2018-08-02 12:17:28 -06:00
2019-04-17 08:38:51 +02:00
2017-11-02 11:10:55 +01:00
2018-05-14 13:14:23 -06:00
2019-01-13 09:51:04 +01:00
2009-01-09 16:54:41 -08:00
2018-04-21 16:32:48 -04:00
2018-04-11 10:28:32 -07:00
2017-11-02 11:10:55 +01:00
2017-11-17 20:21:44 -08:00
2017-06-16 11:48:37 -04:00
2019-05-04 09:20:11 +02:00
2018-03-18 07:38:47 -07:00
2018-04-05 21:36:27 -07:00
2018-10-09 08:30:51 +02:00
2019-06-09 09:17:23 +02:00
2017-11-02 11:10:55 +01:00
2017-11-15 13:46:33 -08:00
2019-05-31 06:46:05 -07:00
2018-06-07 17:34:39 -07:00
2018-03-26 13:14:43 -04:00
2018-03-24 11:25:35 -05:00
2019-01-09 17:38:42 +01:00
2018-05-15 08:11:15 +02:00
2018-06-15 15:27:09 +01:00
2018-03-15 07:17:21 -07:00
2018-12-05 19:31:59 +01:00
2018-07-31 12:40:22 -07:00
2019-02-23 09:07:25 +01:00
2019-04-27 09:36:30 +02:00
2019-06-04 08:02:34 +02:00
2019-06-04 08:02:34 +02:00
2018-07-24 10:04:49 -07:00
2018-09-23 21:55:24 -07:00
2018-08-23 16:03:58 -07:00
2016-04-25 15:09:11 -04:00
2017-11-02 11:10:55 +01:00
2018-11-21 09:19:20 +01:00
2018-08-17 16:20:29 -07:00
2018-08-22 10:52:45 -07:00
2018-05-05 00:51:44 +02:00
2018-05-30 10:11:34 +02:00
2018-01-28 22:17:24 -05:00
2017-11-02 11:10:55 +01:00
2018-11-13 11:08:24 -08:00
2017-08-28 17:33:23 +02:00
2018-05-14 16:20:48 +02:00
2017-11-02 11:10:55 +01:00
2019-06-09 09:17:24 +02:00
2017-11-02 11:10:55 +01:00
2014-06-10 14:35:22 -07:00
2018-08-23 18:48:44 -07:00
2018-07-08 11:13:25 +09:00
2019-05-31 06:46:30 -07:00
2017-11-02 11:10:55 +01:00
2018-04-11 10:28:32 -07:00
2018-01-31 17:18:37 -08:00
2017-02-03 16:35:42 -05:00
2017-11-02 11:10:55 +01:00
2017-11-09 10:23:28 +01:00
2019-05-25 18:23:38 +02:00
2017-04-04 17:49:49 +01:00
2018-03-19 10:09:44 -07:00
2018-05-16 11:45:16 +02:00
2018-08-22 10:52:45 -07:00
2019-04-05 22:33:11 +02:00
2017-11-02 11:10:55 +01:00
2018-12-01 09:37:34 +01:00
2018-07-25 13:41:22 -07:00
2018-08-09 11:08:19 -07:00
2017-11-02 11:10:55 +01:00
2019-05-04 09:20:11 +02:00
2018-05-09 11:51:46 +10:00
2018-05-30 15:33:32 -06:00
2017-11-02 11:10:55 +01:00
2017-12-16 02:05:48 +01:00
2017-06-11 17:08:19 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-06-28 10:40:47 -07:00
2017-11-27 16:19:52 -05:00
2012-10-13 10:46:48 +01:00
2017-09-08 18:26:51 -07:00
2017-11-02 11:10:55 +01:00
2018-07-31 11:32:27 -04:00
2018-08-14 13:36:15 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-03-23 20:10:04 +01:00
2018-02-06 22:54:11 +00:00
2019-06-11 12:20:52 +02:00
2019-01-09 17:38:33 +01:00
2018-12-05 19:32:03 +01:00
2019-06-15 11:54:10 +02:00
2018-08-22 18:17:29 +02:00
2018-04-02 20:15:46 +02:00
2018-04-11 10:28:39 -07:00
2017-11-02 11:10:55 +01:00
2018-08-02 17:33:06 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-06-11 12:20:50 +02:00
2018-05-22 16:12:26 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-17 16:10:04 -08:00
2018-07-17 09:27:43 +02:00
2017-11-03 15:24:11 +00:00
2019-04-05 22:32:56 +02:00
2018-06-26 14:09:12 -07:00
2018-03-27 10:39:47 +02:00
2018-06-22 13:43:28 +09:00
2019-04-05 22:32:56 +02:00
2016-08-02 19:35:37 -04:00
2017-11-02 11:10:55 +01:00
2018-06-03 17:37:11 -07:00
2018-04-24 19:50:10 -07:00
2018-08-02 17:16:05 +02:00
2018-03-29 13:47:53 -04:00
2017-10-10 11:50:19 +02:00
2017-11-02 11:10:55 +01:00
2018-07-10 22:42:47 -04:00
2019-04-05 22:33:12 +02:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-08-15 10:25:26 -07:00
2017-02-23 11:55:41 -07:00
2018-03-22 21:30:56 -05:00
2018-02-01 09:46:00 -08:00
2012-10-13 10:46:48 +01:00
2017-03-25 10:37:26 -07:00
2016-07-13 09:24:51 +02:00
2015-08-05 08:48:00 +05:30
2018-03-28 13:29:57 -05:00
2018-08-22 10:52:43 -07:00
2018-11-13 11:08:45 -08:00
2019-06-04 08:02:30 +02:00
2019-05-25 18:23:20 +02:00
2019-04-03 06:26:28 +02:00
2018-07-07 17:25:23 +02:00
2011-03-22 17:16:34 +09:00
2017-11-02 11:10:55 +01:00
2019-05-31 06:46:16 -07:00
2017-11-02 11:10:55 +01:00
2012-10-13 10:46:48 +01:00
2018-01-11 17:05:23 +01:00
2017-11-02 11:10:55 +01:00
2015-09-20 19:32:02 -07:00
2018-05-30 10:11:34 +02:00
2016-03-25 16:37:42 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-01-15 12:07:46 -08:00
2018-03-28 18:47:17 +03:00
2019-03-13 14:02:35 -07:00
2019-04-17 08:38:45 +02:00
2013-04-30 15:50:12 +05:30
2018-10-12 12:35:02 +02:00
2017-11-02 11:10:55 +01:00
2019-04-20 09:16:05 +02:00
2018-06-20 19:10:01 +02:00
2018-03-20 10:01:59 +01:00
2018-06-29 20:16:44 -05:00
2017-11-02 11:10:55 +01:00
2018-02-06 18:32:47 -08:00
2017-11-02 11:10:55 +01:00
2018-12-29 13:37:55 +01:00
2018-11-13 11:08:51 -08:00
2019-06-17 19:51:56 +02:00
2018-04-16 18:53:13 -04:00
2017-11-02 11:10:55 +01:00
2018-03-09 12:54:11 +03:00
2018-04-09 11:54:56 +02:00
2018-08-22 15:11:35 +02:00
2019-05-31 06:46:29 -07:00
2016-12-25 11:04:12 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2015-10-01 09:57:59 -07:00
2018-07-28 17:03:11 +03:00
2015-02-03 12:48:43 -05:00
2018-12-08 12:59:07 +01:00
2018-12-13 09:16:15 +01:00
2018-01-15 12:07:48 -08:00
2018-06-26 11:33:04 +09:00
2019-05-08 07:21:44 +02:00
2017-11-02 11:10:55 +01:00
2018-04-11 10:28:35 -07:00
2018-08-16 09:57:20 -07:00
2018-01-24 09:00:05 -08:00
2017-12-20 09:53:54 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2019-02-27 10:09:01 +01:00
2019-04-17 08:38:52 +02:00
2018-04-25 20:33:19 +03:00
2011-10-31 19:32:32 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2018-11-13 11:08:42 -08:00
2017-11-02 11:10:55 +01:00
2017-11-03 16:34:00 -07:00
2017-11-21 15:46:44 -08:00
2018-04-11 10:28:39 -07:00
2017-08-15 09:02:07 -07:00
2013-10-17 15:53:09 -04:00
2017-11-02 11:10:55 +01:00
2006-06-22 15:05:58 -07:00
2014-08-08 15:57:26 -07:00
2018-01-31 17:18:39 -08:00
2018-04-05 21:36:26 -07:00
2015-11-06 17:50:42 -08:00