Hi Amit, Two more questions below... ----- Original Message ----- > > But here's where I'm confused: when an in-kernel exception frame occurs, and the > > processor lays down the full register set on the stack, are both the PC and LR (regs[30]) > > text values written on the stack as obfuscated values? > > > > In arm64 case arch/arm64/include/asm/kexec.h + crash_setup_regs() > function sets up the kernel exception frame. As can be seen PC does not > have obfuscated (PAC) values but LR can be obfuscated. Ok, so that's when it's setting up the registers for a kexec/kdump operation. But what about exceptions that occur during the normal course of events, such as when an interrupt or page fault occurs? > > ... > > > > When it gathers the starting hooks for non-active tasks, it does this: > > > > static int > > arm64_get_stackframe(struct bt_info *bt, struct arm64_stackframe *frame)crash_setup_regs > > { > > if (!fill_task_struct(bt->task)) > > return FALSE; > > > > frame->sp = ULONG(tt->task_struct + OFFSET(task_struct_thread_context_sp)); > > frame->pc = ULONG(tt->task_struct + OFFSET(task_struct_thread_context_pc)); > > frame->fp = ULONG(tt->task_struct + OFFSET(task_struct_thread_context_fp)); > > > > return TRUE; > > } > > > > When a task is put to sleep, is the PC text address in the task's thread_struct.cpu_context > > obfuscated? And again, what happens in this case? Thanks, Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility