Nathan Lynch
482d990a5d
powerpc/rtas: avoid scheduling in rtas_os_term()
...
[ Upstream commit 6c606e57eecc37d6b36d732b1ff7e55b7dc32dd4 ]
It's unsafe to use rtas_busy_delay() to handle a busy status from
the ibm,os-term RTAS function in rtas_os_term():
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
BUG: sleeping function called from invalid context at arch/powerpc/kernel/rtas.c:618
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 1, name: swapper/0
preempt_count: 2, expected: 0
CPU: 7 PID: 1 Comm: swapper/0 Tainted: G D 6.0.0-rc5-02182-gf8553a572277-dirty #9
Call Trace:
[c000000007b8f000] [c000000001337110] dump_stack_lvl+0xb4/0x110 (unreliable)
[c000000007b8f040] [c0000000002440e4] __might_resched+0x394/0x3c0
[c000000007b8f0e0] [c00000000004f680] rtas_busy_delay+0x120/0x1b0
[c000000007b8f100] [c000000000052d04] rtas_os_term+0xb8/0xf4
[c000000007b8f180] [c0000000001150fc] pseries_panic+0x50/0x68
[c000000007b8f1f0] [c000000000036354] ppc_panic_platform_handler+0x34/0x50
[c000000007b8f210] [c0000000002303c4] notifier_call_chain+0xd4/0x1c0
[c000000007b8f2b0] [c0000000002306cc] atomic_notifier_call_chain+0xac/0x1c0
[c000000007b8f2f0] [c0000000001d62b8] panic+0x228/0x4d0
[c000000007b8f390] [c0000000001e573c] do_exit+0x140c/0x1420
[c000000007b8f480] [c0000000001e586c] make_task_dead+0xdc/0x200
Use rtas_busy_delay_time() instead, which signals without side effects
whether to attempt the ibm,os-term RTAS call again.
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221118150751.469393-5-nathanl@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-01-04 11:28:58 +01:00
..
2022-07-25 12:05:15 +10:00
2022-11-01 10:24:09 +11:00
2022-09-28 19:22:12 +10:00
2022-09-30 18:35:52 +10:00
2022-09-26 22:47:37 +10:00
2021-12-09 22:41:21 +11:00
2022-09-26 23:00:13 +10: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
2021-10-27 22:30:32 +11:00
2022-09-26 23:00:14 +10:00
2022-09-26 22:26:49 +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 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
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-09-28 19:22:12 +10:00
2022-09-26 23:00:13 +10:00
2021-12-09 22:41:21 +11:00
2022-10-18 22:46:19 +11:00
2022-10-18 22:46:19 +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-02-07 21:03:10 +11:00
2022-01-14 15:17:26 +01:00
2022-02-07 21:03:10 +11:00
2022-02-07 21:03:10 +11:00
2022-10-10 12:49:34 -07:00
2022-09-26 23:00:13 +10:00
2022-07-27 21:36:05 +10:00
2022-09-26 23:00:14 +10:00
2021-12-09 22:41:21 +11:00
2022-08-30 10:56:23 +02: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
2022-10-27 00:38:35 +11:00
2022-10-18 22:46:19 +11:00
2021-05-28 22:54:27 +10: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-09-05 17:20:55 +02: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-09-26 22:47:37 +10:00
2021-10-27 11:21:49 -04:00
2022-09-28 22:19:52 +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
2021-08-25 13:35:47 +10:00
2022-09-26 23:00:13 +10:00
2021-08-25 13:35:47 +10:00
2022-05-22 15:58:27 +10:00
2022-05-22 15:58:27 +10:00
2022-05-19 23:11:29 +10:00
2022-05-08 22:15:40 +10:00
2020-07-26 23:34:19 +10:00
2022-09-28 19:22:12 +10:00
2021-12-09 22:41:21 +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
2022-05-08 22:15:40 +10:00
2022-10-16 15:27:07 -07: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
2023-01-04 11:28:58 +01: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
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-09-28 19:22:14 +10:00
2021-09-30 21:24:06 -04:00
2021-10-22 15:22:05 +11: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
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-09-28 19:22:09 +10:00
2022-03-16 11:59:24 +11:00
2022-09-28 19:22:13 +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