Nathan Lynch
ed2213bfb1
powerpc/rtas: avoid device tree lookups in rtas_os_term()
...
rtas_os_term() is called during panic. Its behavior depends on a couple
of conditions in the /rtas node of the device tree, the traversal of
which entails locking and local IRQ state changes. If the kernel panics
while devtree_lock is held, rtas_os_term() as currently written could
hang.
Instead of discovering the relevant characteristics at panic time,
cache them in file-static variables at boot. Note the lookup for
"ibm,extended-os-term" is converted to of_property_read_bool() since it
is a boolean property, not an RTAS function token.
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>
[mpe: Incorporate suggested change from Nick]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221118150751.469393-4-nathanl@linux.ibm.com
2022-12-07 22:22:22 +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-12-07 20:14:49 +11: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-12-07 22:22:22 +11:00
2022-12-07 22:20:33 +11: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