Hari Bathini
cb5b691f82
powerpc64/ftrace: fix clobbered r15 during livepatching
While r15 is clobbered always with PPC_FTRACE_OUT_OF_LINE, it is
not restored in livepatch sequence leading to not so obvious fails
like below:
BUG: Unable to handle kernel data access on write at 0xc0000000000f9078
Faulting instruction address: 0xc0000000018ff958
Oops: Kernel access of bad area, sig: 11 [#1]
...
NIP: c0000000018ff958 LR: c0000000018ff930 CTR: c0000000009c0790
REGS: c00000005f2e7790 TRAP: 0300 Tainted: G K (6.14.0+)
MSR: 8000000000009033 <SF,EE,ME,IR,DR,RI,LE> CR: 2822880b XER: 20040000
CFAR: c0000000008addc0 DAR: c0000000000f9078 DSISR: 0a000000 IRQMASK: 1
GPR00: c0000000018f2584 c00000005f2e7a30 c00000000280a900 c000000017ffa488
GPR04: 0000000000000008 0000000000000000 c0000000018f24fc 000000000000000d
GPR08: fffffffffffe0000 000000000000000d 0000000000000000 0000000000008000
GPR12: c0000000009c0790 c000000017ffa480 c00000005f2e7c78 c0000000000f9070
GPR16: c00000005f2e7c90 0000000000000000 0000000000000000 0000000000000000
GPR20: 0000000000000000 c00000005f3efa80 c00000005f2e7c60 c00000005f2e7c88
GPR24: c00000005f2e7c60 0000000000000001 c0000000000f9078 0000000000000000
GPR28: 00007fff97960000 c000000017ffa480 0000000000000000 c0000000000f9078
...
Call Trace:
check_heap_object+0x34/0x390 (unreliable)
__mutex_unlock_slowpath.isra.0+0xe4/0x230
seq_read_iter+0x430/0xa90
proc_reg_read_iter+0xa4/0x200
vfs_read+0x41c/0x510
ksys_read+0xa4/0x190
system_call_exception+0x1d0/0x440
system_call_vectored_common+0x15c/0x2ec
Fix it by restoring r15 always.
Fixes: eec37961a5 ("powerpc64/ftrace: Move ftrace sequence out of line")
Reported-by: Viktor Malik <vmalik@redhat.com>
Closes: https://lore.kernel.org/lkml/1aec4a9a-a30b-43fd-b303-7a351caeccb7@redhat.com
Cc: stable@vger.kernel.org # v6.13+
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Tested-by: Viktor Malik <vmalik@redhat.com>
Acked-by: Naveen N Rao (AMD) <naveen@kernel.org>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/20250416191227.201146-1-hbathini@linux.ibm.com
2025-04-29 11:03:07 +05:30
..
2025-02-10 09:26:22 -08:00
2025-02-12 12:12:28 +01:00
2025-04-29 11:03:07 +05:30
2025-02-21 09:54:02 +01:00
2025-02-21 09:54:02 +01:00
2023-08-02 22:22:19 +10:00
2023-08-02 22:22:19 +10:00
2023-10-01 23:09:02 +11:00
2024-09-05 22:25:36 +10:00
2023-08-02 22:22:19 +10:00
2024-05-08 00:25:00 +10:00
2022-11-18 19:00:06 +11:00
2023-06-19 17:36:25 +10:00
2024-02-21 23:11:00 +11:00
2024-02-14 14:24:06 +11:00
2024-06-28 22:28:47 +10:00
2023-11-27 22:01:14 +11:00
2024-11-07 14:25:15 -08:00
2023-01-30 20:07:42 +11:00
2024-05-06 22:04:31 +10:00
2025-02-26 21:15:07 +05:30
2023-07-31 17:54:28 +02:00
2025-01-25 20:22:38 -08:00
2024-04-29 23:51:15 +10:00
2024-06-23 11:54:27 +10:00
2024-09-20 19:06:25 +10:00
2024-06-28 22:28:48 +10:00
2024-06-28 22:28:48 +10:00
2024-11-07 14:25:15 -08:00
2024-07-12 15:52:15 -07:00
2025-02-26 21:15:07 +05:30
2025-04-16 22:25:22 +05:30
2024-01-01 11:47:38 -05:00
2023-11-28 23:04:43 +11:00
2024-10-11 15:53:06 +11:00
2024-06-28 22:28:47 +10:00
2023-10-19 17:12:46 +11:00
2024-06-23 11:54:13 +10:00
2024-07-12 15:52:18 -07:00
2024-08-30 21:29:55 +10:00
2024-06-28 22:28:47 +10:00
2023-09-18 12:23:47 +10:00
2023-09-18 12:23:47 +10:00
2025-01-28 13:48:37 +01:00
2023-08-01 08:17:25 -04:00
2024-02-05 22:43:19 +11:00
2025-04-16 22:30:22 +05:30
2025-02-26 21:15:09 +05:30
2025-01-11 10:39:10 +05:30
2024-02-09 15:57:48 -08:00
2024-11-10 22:33:52 +11:00
2024-03-11 16:58:10 +01:00
2024-11-07 14:25:15 -08:00
2024-11-07 14:25:15 -08:00
2024-05-16 07:23:30 +09:00
2024-11-23 10:44:31 -08:00
2023-08-02 22:22:19 +10:00
2025-02-26 21:15:08 +05:30
2023-02-10 22:17:34 +11:00
2024-12-10 08:15:30 +05:30
2024-10-29 23:01:52 +11:00
2023-08-16 23:54:48 +10:00
2024-11-07 14:25:15 -08:00
2025-01-11 01:25:26 +09:00
2024-05-17 09:05:46 -07:00
2024-07-17 12:35:24 +02:00
2022-12-02 17:54:08 +11:00
2024-11-07 14:25:15 -08:00
2023-10-10 13:35:55 -06:00
2025-01-25 20:22:38 -08:00
2023-03-14 23:36:27 +11:00
2024-05-03 17:07:50 +02:00
2024-07-04 23:10:40 +10:00
2023-08-23 15:55:21 +10:00
2023-06-19 17:37:14 +10:00
2024-11-02 12:37:36 +01:00
2024-12-18 13:41:57 +05:30
2023-06-15 14:04:19 +10:00
2023-03-23 17:18:33 -07:00
2025-03-07 19:08:38 +05:30
2025-03-16 22:30:48 -07:00
2024-09-05 22:25:36 +10:00
2024-07-04 22:39:20 +10:00
2023-11-28 21:49:45 +11:00
2023-11-07 13:13:45 +11:00
2023-02-13 22:35:03 +11:00
2025-04-17 11:42:30 +05:30
2023-02-13 22:35:03 +11:00
2024-11-05 20:48:20 +11:00
2024-11-07 14:25:15 -08:00
2023-02-12 22:12:36 +11:00
2025-02-21 09:20:32 +01:00
2025-01-25 20:22:38 -08:00
2025-02-26 21:15:08 +05:30
2025-03-17 22:06:52 -07:00
2024-06-28 22:28:48 +10:00
2023-06-09 23:29:51 +10:00
2023-09-19 20:05:58 +10:00
2023-09-19 20:05:58 +10:00
2024-11-02 12:37:36 +01:00
2024-09-05 22:25:36 +10:00
2025-02-26 21:09:43 +05:30
2025-03-10 10:00:17 +05:30
2022-11-18 19:00:06 +11:00
2023-11-30 13:15:49 +11:00
2022-11-01 10:24:09 +11:00
2024-07-29 07:33:10 +05:30
2024-10-29 23:01:05 +11:00
2023-05-08 13:52:27 -10:00
2025-03-27 19:39:08 -07:00
2023-08-16 23:54:48 +10:00
2025-03-17 11:23:39 +01:00
2023-08-16 23:54:48 +10:00
2024-10-29 23:01:52 +11:00
2025-02-26 21:15:09 +05:30
2024-12-18 13:46:38 +05:30
2024-12-18 13:46:38 +05:30
2025-02-21 09:54:02 +01:00
2023-11-28 23:04:43 +11:00
2025-02-24 12:26:21 +05:30
2025-02-18 10:32:31 +01:00