Rohan McLure
efe1691ac8
powerpc/64e: Clear gprs on interrupt routine entry on Book3E
...
Zero GPRS r14-r31 on entry into the kernel for interrupt sources to
limit influence of user-space values in potential speculation gadgets.
Prior to this commit, all other GPRS are reassigned during the common
prologue to interrupt handlers and so need not be zeroised explicitly.
This may be done safely, without loss of register state prior to the
interrupt, as the common prologue saves the initial values of
non-volatiles, which are unconditionally restored in interrupt_64.S.
Mitigation defaults to enabled by INTERRUPT_SANITIZE_REGISTERS.
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221201071019.1953023-6-rmclure@linux.ibm.com
2022-12-02 20:46:08 +11:00
..
2022-07-25 12:05:15 +10:00
2022-11-01 10:24:09 +11:00
2022-12-02 17:54:08 +11:00
2022-09-30 18:35:52 +10:00
2020-03-25 11:50:48 +01:00
2022-09-26 22:47:37 +10:00
2021-12-09 22:41:21 +11:00
2022-12-02 17:54:08 +11:00
2021-10-27 22:30:32 +11:00
2022-07-25 12:05:15 +10:00
2022-05-08 22:15:04 +10:00
2019-06-15 16:52:06 +10:00
2021-10-27 22:30:32 +11:00
2020-06-02 20:59:11 +10:00
2019-05-30 11:26:32 -07:00
2022-09-26 23:00:14 +10:00
2019-06-05 17:37:06 +02:00
2022-09-26 22:26:49 +10:00
2019-05-30 11:26:32 -07:00
2022-09-26 22:47:13 +10:00
2022-09-26 22:47:13 +10:00
2022-09-26 22:47:13 +10:00
2022-09-26 22:47:13 +10:00
2022-09-26 23:00:05 +10:00
2022-09-26 22:47:13 +10:00
2022-09-26 22:47:13 +10:00
2022-09-26 23:00:05 +10:00
2022-09-26 23:00:05 +10:00
2022-09-26 22:47:13 +10:00
2022-05-28 11:27:17 -07:00
2022-06-29 16:45:05 +10:00
2021-12-16 21:31:45 +11:00
2021-09-30 17:10:17 +10:00
2019-02-18 22:41:03 +11:00
2022-04-18 07:21:12 +02:00
2022-08-26 11:02:20 +10:00
2022-03-08 22:06:25 +11:00
2021-12-23 22:33:10 +11:00
2022-07-25 12:05:15 +10:00
2022-05-05 22:12:44 +10:00
2022-05-22 15:59:43 +10:00
2022-05-08 22:15:40 +10:00
2022-05-05 22:12:44 +10:00
2022-12-02 17:54:08 +11:00
2022-09-26 23:00:13 +10:00
2019-05-30 11:26:32 -07:00
2021-12-09 22:41:21 +11:00
2022-12-02 20:46:08 +11:00
2022-12-02 20:46:05 +11:00
2022-05-28 11:27:17 -07:00
2021-10-09 00:15:59 +11:00
2021-12-16 21:31:45 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:08 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:08 +11:00
2021-12-09 22:41:21 +11:00
2022-11-24 23:31:49 +11:00
2021-12-23 22:35:13 +11:00
2022-09-28 19:22:10 +10:00
2022-09-26 23:00:14 +10:00
2021-10-20 21:37:58 +11:00
2022-05-04 19:37:46 +10:00
2020-05-07 17:25:54 +10:00
2022-12-02 20:46:05 +11:00
2022-10-18 22:46:19 +11:00
2021-05-28 22:54:27 +10:00
2019-05-30 11:26:32 -07:00
2020-12-04 01:01:09 +11:00
2022-07-28 16:22:13 +10:00
2022-09-28 19:22:11 +10:00
2022-12-02 17:54:09 +11:00
2022-05-08 22:15:40 +10:00
2021-06-17 00:09:00 +10:00
2021-08-13 22:04:26 +10:00
2022-12-02 17:54:08 +11:00
2021-10-27 11:21:49 -04:00
2022-11-24 23:31:49 +11:00
2019-09-14 00:04:40 +10:00
2022-09-26 23:00:14 +10:00
2021-12-23 22:35:13 +11:00
2022-09-05 17:28:26 +10:00
2022-10-13 00:49:58 +11:00
2021-12-09 22:41:21 +11:00
2022-07-27 21:36:04 +10:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2021-08-25 13:35:47 +10:00
2022-05-22 15:58:27 +10:00
2022-12-02 17:54:07 +11:00
2022-05-19 23:11:29 +10:00
2019-05-30 11:26:32 -07:00
2019-08-30 09:40:15 +10:00
2022-05-08 22:15:40 +10:00
2020-07-26 23:34:19 +10:00
2022-12-02 17:54:08 +11:00
2022-11-24 23:31:49 +11:00
2022-09-26 23:00:13 +10:00
2022-08-25 17:47:08 +10:00
2022-07-27 21:36:03 +10:00
2022-09-05 17:30:25 +10:00
2022-05-08 22:15:40 +10:00
2022-09-05 17:30:29 +10:00
2022-05-08 22:15:40 +10:00
2019-05-30 11:26:32 -07:00
2022-12-02 17:54:08 +11:00
2022-05-08 22:15:40 +10:00
2022-12-02 17:54:09 +11:00
2022-09-26 20:58:16 +10:00
2022-09-26 20:58:18 +10:00
2022-09-30 18:35:53 +10:00
2021-08-25 13:35:47 +10:00
2022-09-28 19:22:13 +10:00
2022-08-26 08:41:54 +10:00
2022-05-05 22:12:44 +10:00
2022-05-08 22:15:40 +10:00
2022-05-08 22:15:40 +10:00
2022-05-08 22:15:04 +10:00
2022-09-28 19:22:14 +10:00
2022-05-08 22:15:04 +10:00
2020-07-16 14:49:53 +10:00
2022-09-26 23:00:13 +10:00
2019-11-13 00:33:22 +11:00
2022-03-08 22:07:41 +11:00
2022-09-26 23:00:13 +10:00
2022-09-28 19:22:13 +10:00
2022-09-30 18:35:52 +10:00
2022-09-26 23:00:13 +10:00
2022-09-28 19:22:08 +10:00
2022-07-28 16:22:14 +10:00
2022-05-19 23:11:26 +10:00
2022-10-07 00:59:54 +11:00
2022-12-02 17:54:09 +11:00
2022-12-02 17:54:09 +11:00
2021-10-22 15:22:05 +11:00
2019-06-14 10:48:56 +02:00
2021-12-23 22:35:13 +11:00
2021-10-22 15:22:05 +11:00
2022-09-26 22:47:37 +10:00
2022-09-28 19:22:12 +10:00
2019-05-30 11:26:32 -07:00
2022-11-01 10:24:09 +11:00
2022-09-28 19:22:09 +10:00
2022-09-28 19:22:08 +10:00
2022-09-26 23:00:13 +10:00
2022-10-07 00:59:54 +11:00
2022-03-08 22:06:25 +11:00
2022-11-24 23:31:48 +11:00
2022-12-02 17:54:08 +11:00
2022-09-28 19:22:13 +10:00
2019-08-30 09:40:15 +10:00
2022-09-28 19:22:09 +10:00
2022-09-28 19:22:09 +10:00
2022-05-06 00:00:20 +10:00
2022-02-12 22:47:43 +11:00
2022-02-12 22:47:43 +11:00
2022-10-10 17:53:04 -07:00
2021-12-09 22:41:21 +11:00
2022-09-28 19:22:12 +10:00
2022-11-16 21:37:14 +11:00
2022-07-27 21:36:02 +10:00