- if (!thumb_mode( regs )) {
- regs->uregs[15] += 4;
- } else {
- regs->uregs[15] += 2;
- }
- }
-
- DBPRINTF ("regs->uregs[15] = 0x%lx\n", regs->uregs[15]);
-
- if(p) { // ARM, MIPS, X86 user space
- if (thumb_mode(regs) && !(regs->uregs[14] & 0x01)) {
- regs->ARM_cpsr &= 0xFFFFFFDF;
- } else {
- if (user_mode(regs) && (regs->uregs[14] & 0x01)) {
- regs->ARM_cpsr |= 0x20;
- }
- }
-
- if (kcb->kprobe_status == KPROBE_REENTER) {
- restore_previous_kprobe(kcb);
- } else {
- reset_current_kprobe();
- }