From 962c388fe368737977b7b634dde5484fe3a2190e Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 25 Nov 2023 16:41:54 +0100 Subject: [PATCH] Patch kernel stack check instead of the whole error_handler --- source/ios_kernel/source/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/ios_kernel/source/main.c b/source/ios_kernel/source/main.c index eac1c6b..2f1a2d1 100644 --- a/source/ios_kernel/source/main.c +++ b/source/ios_kernel/source/main.c @@ -74,8 +74,9 @@ int _main() { /* Save the request handle so we can reply later */ *(volatile u32 *) 0x0012F000 = *(volatile u32 *) 0x1016AD18; - /* Patch kernel_error_handler to BX LR immediately */ - *(volatile u32 *) 0x08129A24 = 0xE12FFF1E; + // patch kernel thread stack check + *(volatile uint32_t *) 0x0812c138 = 0xe3a00000; // mov r0, #0 + *(volatile uint32_t *) 0x0812c13c = 0xe12fff1e; // bx lr void *pset_fault_behavior = (void *) 0x081298BC; kernel_memcpy(pset_fault_behavior, (void *) repairData_set_fault_behavior, sizeof(repairData_set_fault_behavior));