Pawan Gupta
d405b9c03f
x86/rfds: Mitigate Register File Data Sampling (RFDS)
...
commit 8076fcde016c9c0e0660543e67bff86cb48a7c9c upstream.
RFDS is a CPU vulnerability that may allow userspace to infer kernel
stale data previously used in floating point registers, vector registers
and integer registers. RFDS only affects certain Intel Atom processors.
Intel released a microcode update that uses VERW instruction to clear
the affected CPU buffers. Unlike MDS, none of the affected cores support
SMT.
Add RFDS bug infrastructure and enable the VERW based mitigation by
default, that clears the affected buffers just before exiting to
userspace. Also add sysfs reporting and cmdline parameter
"reg_file_data_sampling" to control the mitigation.
For details see:
Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-03-15 10:48:21 -04:00
..
2022-08-30 11:12:52 +01:00
2022-09-19 12:59:33 +03:00
2023-07-19 16:21:11 +02:00
2024-03-15 10:48:13 -04:00
2022-10-16 11:08:19 -07:00
2024-03-06 14:45:14 +00:00
2022-08-23 13:14:02 +02:00
2022-09-04 22:49:35 +05:30
2023-07-19 16:22:06 +02:00
2022-09-20 08:33:04 -07:00
2023-06-28 11:12:35 +02:00
2024-02-23 09:12:40 +01:00
2022-09-16 06:38:50 -07:00
2023-03-30 12:49:23 +02:00
2023-05-11 23:03:40 +09:00
2023-03-11 13:55:28 +01:00
2023-11-20 11:52:08 +01:00
2023-03-10 09:33:08 +01:00
2024-01-01 12:38:55 +00:00
2024-02-23 09:12:48 +01:00
2023-01-18 11:58:24 +01:00
2024-02-23 09:12:49 +01:00
2022-08-23 18:23:15 +02:00
2022-10-10 09:27:46 -07:00
2022-10-07 16:48:26 -07:00
2023-02-01 08:34:33 +01:00
2023-05-30 14:03:21 +01:00
2022-10-03 21:52:33 -07:00
2023-10-10 22:00:40 +02:00
2024-02-23 09:12:51 +01:00
2023-06-21 16:00:51 +02:00
2022-10-07 16:13:55 -07:00
2024-01-05 15:18:40 +01:00
2023-11-28 17:07:04 +00:00
2024-03-06 14:45:05 +00:00
2023-09-23 11:11:00 +02:00
2023-03-30 12:49:05 +02:00
2022-10-10 13:28:06 -07:00
2022-09-17 01:40:11 +09:00
2022-10-05 11:05:17 -06:00
2023-02-01 08:34:46 +01:00
2023-05-30 14:03:22 +01:00
2023-09-13 09:43:03 +02:00
2023-05-24 17:32:36 +01:00
2024-01-31 16:17:00 -08:00
2022-09-21 11:18:28 +09:00
2022-08-04 08:33:54 -06:00
2022-09-29 16:38:05 -07:00
2024-01-25 15:27:42 -08:00
2023-07-19 16:21:58 +02:00
2022-10-12 11:00:22 -07:00
2022-09-20 08:24:38 -06:00
2022-09-26 19:17:28 -06:00
2023-07-23 13:49:21 +02:00
2023-05-11 23:03:00 +09:00
2022-08-22 10:07:53 -06:00
2022-08-22 10:07:53 -06:00
2022-08-22 10:07:53 -06:00
2023-07-19 16:20:55 +02:00
2024-01-25 15:27:30 -08:00
2023-07-19 16:22:15 +02:00
2022-08-11 16:14:29 -07:00
2023-03-11 13:55:32 +01:00
2023-07-19 16:21:17 +02:00
2022-09-05 15:33:07 +02:00
2022-09-21 16:24:17 -07:00
2024-01-10 17:10:29 +01:00
2022-08-23 16:08:21 -07:00
2024-02-23 09:12:51 +01:00
2022-08-04 16:57:43 -07:00
2022-08-17 11:49:23 +01:00
2023-10-06 14:57:04 +02:00
2022-09-21 17:32:48 -07:00
2022-10-10 17:53:04 -07:00
2024-03-06 14:45:19 +00:00
2022-09-26 19:46:29 -07:00
2022-09-26 10:13:13 -07:00
2022-09-26 10:13:13 -07:00
2022-10-14 13:03:00 -07:00
2022-12-09 18:41:17 -08:00
2024-02-23 09:12:51 +01:00
2024-01-25 15:27:37 -08:00
2023-08-30 16:11:12 +02:00
2022-09-30 14:50:11 -07:00
2024-02-23 09:12:51 +01:00
2024-02-23 09:12:28 +01:00
2024-02-23 09:12:51 +01:00
2024-02-23 09:12:28 +01:00
2022-09-26 10:13:14 -07:00
2022-09-07 21:53:49 +02:00
2023-03-30 12:49:13 +02:00
2023-03-30 12:49:13 +02:00
2022-08-31 10:56:36 -06:00
2022-10-17 09:51:29 -04:00
2024-03-15 10:48:21 -04:00
2023-12-13 18:39:03 +01:00
2022-10-16 10:45:17 -07:00
2023-08-30 16:11:10 +02:00
2023-12-20 17:00:20 +01:00
2023-05-17 11:53:40 +02:00
2024-01-01 12:39:08 +00:00
2022-10-10 19:45:17 -07:00
2022-12-31 13:31:58 +01:00
2022-09-26 19:46:07 -07:00
2023-01-07 11:11:40 +01:00
2023-04-13 16:55:17 +02:00
2024-02-23 09:12:51 +01:00
2023-05-24 17:32:31 +01:00
2022-08-23 15:02:47 -05:00
2024-01-01 12:39:05 +00:00
2023-04-13 16:55:17 +02:00
2023-04-13 16:55:17 +02:00
2023-04-13 16:55:17 +02:00
2023-04-13 16:55:17 +02:00
2023-09-23 11:11:08 +02:00
2023-12-08 08:51:15 +01:00
2022-08-08 15:16:29 -07:00
2022-09-07 10:38:28 +02:00
2024-02-16 19:06:24 +01:00
2022-09-21 10:22:54 +02:00
2022-09-07 17:04:49 +02:00
2022-09-01 05:15:51 +02:00
2024-03-06 14:45:18 +00:00
2023-01-18 11:58:12 +01:00
2022-10-11 18:51:11 -07:00
2022-08-29 12:57:38 +01:00
2023-11-28 17:07:18 +00:00
2023-01-04 11:28:48 +01:00
2024-01-05 15:18:38 +01:00
2024-01-10 17:10:30 +01:00
2022-11-22 18:50:44 -08:00
2023-03-22 13:34:04 +01:00
2024-02-23 09:12:51 +01:00
2022-09-26 20:40:43 -07:00
2022-10-06 05:57:36 -07:00
2022-12-31 13:32:31 +01:00
2023-10-25 12:03:12 +02:00
2022-09-07 21:53:50 +02:00
2023-01-07 11:11:59 +01:00
2024-03-06 14:45:16 +00:00
2022-11-23 10:31:13 -08:00
2022-10-19 20:54:43 -07:00
2022-09-26 12:27:55 +02:00
2023-04-13 16:55:32 +02:00
2023-03-10 09:33:37 +01:00
2022-08-22 17:16:24 -07:00
2023-11-28 17:06:54 +00:00
2022-08-29 12:47:15 +01:00
2022-08-07 17:52:35 -07:00
2022-11-30 14:49:40 -08:00
2024-01-10 17:10:33 +01:00
2022-09-04 15:31:59 +03:00
2023-12-03 07:32:07 +01:00
2023-02-09 11:28:23 +01:00
2023-07-01 13:16:22 +02:00
2024-01-25 15:27:22 -08:00
2022-09-13 14:04:34 +02:00
2024-02-16 19:06:30 +01:00
2022-09-28 16:17:40 +01:00
2022-10-03 14:02:45 -07:00
2022-09-11 20:25:53 -07:00
2023-12-13 18:39:20 +01:00
2022-08-30 10:56:22 +02:00
2023-11-20 11:52:04 +01:00
2022-12-31 13:32:56 +01:00
2022-08-16 12:46:26 +02:00
2023-11-20 11:52:16 +01:00
2024-01-20 11:50:03 +01:00
2023-09-13 09:43:03 +02:00
2022-09-20 08:59:18 -07:00
2022-09-20 08:59:18 -07:00
2023-10-06 14:56:41 +02:00
2023-12-20 17:00:16 +01:00
2022-09-02 20:34:31 -07:00
2023-03-10 09:34:15 +01:00
2024-02-23 09:12:38 +01:00
2023-09-23 11:11:09 +02:00
2022-10-03 14:03:21 -07:00
2023-03-22 13:33:57 +01:00
2023-10-06 14:57:03 +02:00
2022-10-12 16:30:56 -06:00
2023-04-06 12:10:51 +02:00
2022-09-26 15:52:31 +02:00
2022-09-01 18:04:43 +02:00
2022-08-11 13:11:49 -07:00
2023-12-13 18:39:17 +01:00
2023-08-23 17:52:20 +02:00
2023-09-13 09:42:46 +02:00
2022-08-10 09:15:16 +02:00
2022-09-08 12:59:00 -06:00
2022-09-26 13:31:20 +02:00
2023-07-19 16:22:00 +02:00
2022-10-03 14:21:44 -07:00
2023-10-10 22:00:37 +02:00
2024-02-05 20:12:49 +00:00
2023-12-08 08:51:20 +01:00
2022-09-28 14:21:53 +01:00
2022-09-19 15:08:38 +02:00
2024-02-23 09:12:51 +01:00
2022-09-15 10:28:18 +02:00
2022-10-03 14:21:43 -07:00
2024-01-20 11:50:06 +01:00
2023-10-25 12:03:16 +02:00
2024-01-01 12:38:52 +00:00
2023-03-10 09:32:51 +01:00
2023-09-13 09:42:53 +02:00
2022-09-11 21:55:06 -07:00
2024-01-01 12:38:58 +00:00
2022-09-21 17:32:48 -07:00
2022-10-03 14:03:33 -07:00
2022-10-28 13:37:23 -07:00
2022-10-03 14:03:19 -07:00
2022-10-03 14:03:21 -07:00
2023-04-26 14:28:41 +02:00
2023-03-10 09:33:29 +01:00
2023-12-13 18:39:17 +01:00
2022-10-03 14:02:43 -07:00
2022-11-17 10:50:07 -05:00
2023-10-19 23:08:50 +02:00
2023-03-10 09:34:20 +01:00
2022-11-30 14:49:42 -08:00
2022-09-16 22:27:19 +02:00
2024-01-31 16:17:00 -08:00
2022-10-03 17:51:52 -07:00
2022-11-08 15:57:22 -08:00
2023-01-07 11:12:02 +01:00
2024-01-31 16:17:01 -08:00
2023-10-19 23:08:56 +02:00
2022-10-04 12:06:58 -06:00
2022-09-12 15:23:11 +03:00
2024-03-01 13:26:36 +01:00
2023-10-06 14:57:03 +02:00
2022-10-03 14:03:29 -07:00
2022-09-26 19:46:12 -07:00
2022-09-11 20:25:50 -07:00
2022-10-12 18:51:49 -07:00
2023-03-17 08:50:19 +01:00
2023-09-19 12:28:02 +02:00
2022-10-12 18:51:49 -07:00
2023-12-20 17:00:26 +01:00
2022-09-26 19:46:18 -07:00
2023-04-13 16:55:40 +02:00
2023-10-10 22:00:35 +02:00
2022-09-19 14:35:08 +02:00
2024-02-05 20:13:02 +00:00
2024-01-05 15:18:40 +01:00
2023-09-02 09:16:18 +02:00
2022-09-02 20:34:31 -07:00
2022-09-02 20:34:31 -07:00
2023-05-30 14:03:22 +01:00
2024-02-23 09:12:51 +01:00
2024-01-05 15:18:29 +01:00
2024-01-10 17:10:27 +01:00
2023-11-20 11:51:55 +01:00
2024-01-25 15:27:51 -08:00
2022-08-22 14:26:30 +01:00
2024-03-06 14:45:08 +00:00
2022-08-30 12:20:43 +02:00
2024-03-06 14:45:17 +00:00
2023-10-06 14:56:31 +02:00
2022-08-13 13:02:14 -04:00
2023-10-15 18:32:41 +02:00
2023-03-10 09:33:24 +01:00
2023-09-13 09:42:48 +02:00
2023-09-13 09:42:22 +02:00
2023-07-19 16:21:08 +02:00
2022-10-03 14:03:15 -07:00
2022-10-11 17:42:55 -06:00
2023-02-25 11:25:41 +01:00
2023-11-20 11:51:50 +01:00
2023-03-30 12:49:09 +02:00
2023-07-23 13:49:25 +02:00
2023-02-09 11:28:24 +01:00
2022-08-25 14:00:31 -05:00
2022-09-28 14:11:28 +01:00
2023-03-30 12:49:05 +02:00
2024-01-25 15:27:20 -08:00
2022-10-03 17:34:32 -07:00
2022-09-26 19:46:27 -07:00
2022-10-25 14:57:42 -07:00
2022-09-26 19:46:29 -07:00
2022-09-11 20:26:02 -07:00
2022-09-11 20:25:57 -07:00
2022-09-26 19:46:09 -07:00
2023-06-14 11:15:29 +02:00
2022-10-03 14:03:04 -07:00
2024-01-10 17:10:32 +01:00
2022-08-05 16:32:45 -07:00
2022-09-11 20:26:00 -07:00
2023-01-24 07:24:41 +01:00
2024-02-05 20:12:55 +00:00
2023-04-13 16:55:24 +02:00
2023-09-13 09:42:46 +02:00
2022-09-05 10:16:53 +01:00
2022-09-06 11:19:34 +02:00
2022-10-03 14:21:43 -07:00
2022-08-30 10:56:23 +02:00
2024-02-23 09:12:51 +01:00
2023-10-25 12:03:15 +02:00
2022-11-30 14:49:41 -08:00
2022-10-03 17:33:57 -07:00
2023-04-13 16:55:20 +02:00
2024-01-31 16:17:09 -08:00
2023-05-24 17:32:43 +01:00
2022-10-04 20:52:38 +02:00
2022-10-04 20:52:38 +02:00
2023-03-10 09:33:46 +01:00
2022-08-31 16:37:58 +02:00
2023-05-11 23:03:00 +09:00
2023-11-08 14:11:02 +01:00
2023-01-07 11:11:39 +01:00
2024-02-23 09:12:51 +01:00
2022-10-04 15:55:55 +02:00
2022-12-31 13:32:09 +01:00
2024-01-05 15:18:40 +01:00
2023-07-27 08:50:38 +02:00
2023-07-27 08:50:38 +02:00
2023-11-28 17:07:03 +00:00
2023-10-19 23:08:50 +02:00
2023-10-19 23:08:50 +02:00
2022-08-14 13:31:03 -07:00
2023-08-30 16:11:12 +02:00
2023-07-19 16:22:11 +02:00
2023-02-25 11:25:39 +01:00
2024-02-23 09:12:51 +01:00
2022-08-31 05:09:22 -07:00
2022-08-31 05:09:22 -07:00
2022-10-04 15:59:36 +02:00
2022-08-17 13:00:31 +01:00
2022-09-28 10:46:21 -06:00
2022-09-23 14:25:05 +02:00
2023-10-06 14:57:03 +02:00
2023-12-13 18:39:17 +01:00
2022-11-16 17:13:04 -05:00
2024-01-31 16:17:02 -08:00
2022-09-15 16:14:02 +02:00
2024-02-23 09:12:51 +01:00
2023-03-10 09:32:42 +01:00
2023-08-30 16:11:11 +02:00
2022-08-22 18:01:45 +01:00
2024-01-31 16:17:00 -08:00
2022-08-22 07:52:51 -06:00
2023-10-06 14:56:41 +02:00
2022-09-09 10:44:35 +02:00
2023-07-23 13:49:43 +02:00
2024-01-31 16:17:12 -08:00
2022-10-03 11:08:32 +01:00
2023-07-19 16:21:54 +02:00
2022-10-03 14:03:33 -07:00
2023-02-22 12:59:46 +01:00
2024-01-25 15:27:51 -08:00
2024-01-31 16:17:04 -08:00
2022-10-15 21:42:05 +02:00
2024-02-23 09:12:51 +01:00
2024-03-01 13:26:36 +01:00
2022-09-02 20:34:30 -07:00
2022-09-15 16:14:02 +02:00
2022-09-15 16:14:02 +02:00
2022-09-15 16:14:02 +02:00
2022-09-15 16:14:02 +02:00
2024-02-23 09:12:51 +01:00
2024-01-10 17:10:27 +01:00
2024-02-23 09:12:51 +01:00
2022-08-31 05:10:15 -07:00
2022-10-03 14:03:18 -07:00
2022-09-11 19:47:04 -05:00
2023-12-13 18:39:08 +01:00
2022-10-08 08:56:37 -07:00
2023-11-28 17:06:57 +00:00
2022-10-10 09:10:28 -07:00
2022-09-07 12:42:25 +01:00
2022-10-03 14:03:36 -07:00
2024-03-01 13:26:32 +01:00
2022-09-26 19:46:05 -07:00
2022-12-09 18:41:16 -08:00
2024-01-31 16:17:12 -08:00
2023-11-28 17:07:08 +00:00
2023-03-30 12:49:22 +02:00
2022-09-29 15:20:29 +02:00
2023-09-19 12:27:59 +02:00
2023-07-27 08:50:49 +02:00
2022-09-09 10:44:35 +02:00
2023-02-01 08:34:26 +01:00
2022-08-31 14:05:12 +01:00
2023-05-11 23:03:01 +09:00
2022-08-09 20:02:13 +02:00
2022-12-31 13:31:56 +01:00
2022-09-02 14:44:54 +02:00
2023-01-18 11:58:10 +01:00
2023-08-16 18:27:20 +02:00
2023-11-28 17:07:23 +00:00
2023-04-20 12:35:12 +02:00
2023-03-22 13:33:59 +01:00
2023-03-10 09:33:34 +01:00
2022-09-22 16:12:34 +02:00
2022-08-30 14:22:34 +02:00
2022-09-22 16:12:34 +02:00
2022-09-19 14:35:08 +02:00
2023-03-10 09:33:52 +01:00
2022-08-31 13:37:32 +02:00
2024-01-10 17:10:28 +01:00
2023-02-09 11:28:04 +01:00
2022-09-07 21:53:48 +02:00
2022-08-28 16:52:28 +01:00
2023-05-30 14:03:20 +01:00
2022-09-29 10:17:37 -04:00
2022-10-28 13:37:22 -07:00
2023-02-09 11:28:01 +01:00
2022-10-23 12:01:01 -07:00
2022-10-07 09:32:40 -04:00
2023-11-20 11:52:04 +01:00
2022-09-21 14:15:10 -06:00
2022-11-10 12:03:36 -07:00
2022-08-16 01:40:24 -04:00
2023-08-23 17:52:35 +02:00
2022-10-07 09:32:40 -04:00
2022-08-11 04:06:40 -04:00
2022-08-11 04:06:38 -04:00
2023-11-20 11:52:17 +01:00
2022-08-16 01:40:24 -04:00
2022-09-26 19:46:18 -07:00
2022-09-26 19:46:18 -07:00
2023-05-11 23:03:28 +09:00
2022-09-01 16:55:35 +02:00
2022-08-26 09:30:25 -07:00
2023-03-10 09:34:34 +01:00
2023-07-19 16:22:10 +02:00
2022-10-07 15:00:25 +02:00
2023-11-28 17:06:55 +00:00
2022-10-03 14:03:08 -07:00
2022-08-31 16:38:07 +02:00