/arch/score/kernel/ |
D | ptrace.c | 129 read_tsk_long(struct task_struct *child, in read_tsk_long() argument 134 copied = access_process_vm(child, addr, res, sizeof(*res), 0); in read_tsk_long() 140 read_tsk_short(struct task_struct *child, in read_tsk_short() argument 145 copied = access_process_vm(child, addr, res, sizeof(*res), 0); in read_tsk_short() 151 write_tsk_short(struct task_struct *child, in write_tsk_short() argument 156 copied = access_process_vm(child, addr, &val, sizeof(val), 1); in write_tsk_short() 162 write_tsk_long(struct task_struct *child, in write_tsk_long() argument 167 copied = access_process_vm(child, addr, &val, sizeof(val), 1); in write_tsk_long() 172 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 179 struct pt_regs *regs = task_pt_regs(child); in user_enable_single_step() [all …]
|
/arch/x86/kernel/ |
D | step.c | 9 unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs) in convert_ip_to_linear() argument 32 mutex_lock(&child->mm->context.lock); in convert_ip_to_linear() 33 if (unlikely((seg >> 3) >= child->mm->context.size)) in convert_ip_to_linear() 36 desc = child->mm->context.ldt + seg; in convert_ip_to_linear() 44 mutex_unlock(&child->mm->context.lock); in convert_ip_to_linear() 50 static int is_setting_trap_flag(struct task_struct *child, struct pt_regs *regs) in is_setting_trap_flag() argument 54 unsigned long addr = convert_ip_to_linear(child, regs); in is_setting_trap_flag() 56 copied = access_process_vm(child, addr, opcode, sizeof(opcode), 0); in is_setting_trap_flag() 104 static int enable_single_step(struct task_struct *child) in enable_single_step() argument 106 struct pt_regs *regs = task_pt_regs(child); in enable_single_step() [all …]
|
/arch/mips/kernel/ |
D | ptrace32.c | 42 long compat_arch_ptrace(struct task_struct *child, compat_long_t request, in compat_arch_ptrace() argument 72 if (task_thread_info(child)->vdso_page) { in compat_arch_ptrace() 73 if (((child->mm->context.vdso - sizeof(tmp)) < in compat_arch_ptrace() 75 ((child->mm->context.vdso + PAGE_SIZE) > in compat_arch_ptrace() 77 if ((child->mm->context.vdso + PAGE_SIZE - in compat_arch_ptrace() 82 ret = mips_vdso_ptrace_get(child, (u64)addrOthers, in compat_arch_ptrace() 87 copied = access_process_vm(child, (u64)addrOthers, &tmp, in compat_arch_ptrace() 101 regs = task_pt_regs(child); in compat_arch_ptrace() 109 if (!tsk_used_math(child)) { in compat_arch_ptrace() 114 fregs = get_fpu_regs(child); in compat_arch_ptrace() [all …]
|
D | ptrace.c | 54 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 57 clear_tsk_thread_flag(child, TIF_LOAD_WATCH); in ptrace_disable() 65 int ptrace_getregs(struct task_struct *child, struct user_pt_regs __user *data) in ptrace_getregs() argument 73 regs = task_pt_regs(child); in ptrace_getregs() 92 int ptrace_setregs(struct task_struct *child, struct user_pt_regs __user *data) in ptrace_setregs() argument 100 regs = task_pt_regs(child); in ptrace_setregs() 113 int ptrace_getfpregs(struct task_struct *child, __u32 __user *data) in ptrace_getfpregs() argument 120 if (tsk_used_math(child)) { in ptrace_getfpregs() 121 union fpureg *fregs = get_fpu_regs(child); in ptrace_getfpregs() 130 __put_user(child->thread.fpu.fcr31, data + 64); in ptrace_getfpregs() [all …]
|
/arch/um/kernel/ |
D | ptrace.c | 15 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 17 child->ptrace |= PT_DTRACE; in user_enable_single_step() 18 child->thread.singlestep_syscall = 0; in user_enable_single_step() 21 SUBARCH_SET_SINGLESTEPPING(child, 1); in user_enable_single_step() 25 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 27 child->ptrace &= ~PT_DTRACE; in user_disable_single_step() 28 child->thread.singlestep_syscall = 0; in user_disable_single_step() 31 SUBARCH_SET_SINGLESTEPPING(child, 0); in user_disable_single_step() 38 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 40 user_disable_single_step(child); in ptrace_disable() [all …]
|
/arch/m68k/kernel/ |
D | ptrace.c | 126 static inline void singlestep_disable(struct task_struct *child) in singlestep_disable() argument 128 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in singlestep_disable() 129 put_reg(child, PT_SR, tmp); in singlestep_disable() 130 clear_tsk_thread_flag(child, TIF_DELAYED_TRACE); in singlestep_disable() 136 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 138 singlestep_disable(child); in ptrace_disable() 141 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 143 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in user_enable_single_step() 144 put_reg(child, PT_SR, tmp | T1_BIT); in user_enable_single_step() 145 set_tsk_thread_flag(child, TIF_DELAYED_TRACE); in user_enable_single_step() [all …]
|
/arch/m32r/kernel/ |
D | ptrace.c | 216 check_condition_bit(struct task_struct *child) in check_condition_bit() argument 218 return (int)((get_stack_long(child, PT_PSW) >> 8) & 1); in check_condition_bit() 223 unsigned long regno2, struct task_struct *child) in check_condition_src() argument 227 reg2 = get_stack_long(child, reg_offset[regno2]); in check_condition_src() 231 reg1 = get_stack_long(child, reg_offset[regno1]); in check_condition_src() 234 reg1 = get_stack_long(child, reg_offset[regno1]); in check_condition_src() 257 struct task_struct *child) in compute_next_pc_for_16bit_insn() argument 279 if (!check_condition_bit(child)) { in compute_next_pc_for_16bit_insn() 287 if (check_condition_bit(child)) { in compute_next_pc_for_16bit_insn() 320 *next_pc = get_stack_long(child, PT_BPC); in compute_next_pc_for_16bit_insn() [all …]
|
/arch/powerpc/kernel/ |
D | ptrace32.c | 48 long compat_arch_ptrace(struct task_struct *child, compat_long_t request, in compat_arch_ptrace() argument 77 copied = access_process_vm(child, (u64)addrOthers, &tmp, in compat_arch_ptrace() 96 CHECK_FULL_REGS(child->thread.regs); in compat_arch_ptrace() 98 ret = ptrace_get_reg(child, index, &tmp); in compat_arch_ptrace() 102 flush_fp_to_thread(child); in compat_arch_ptrace() 108 tmp = ((unsigned int *)child->thread.fpr) in compat_arch_ptrace() 146 CHECK_FULL_REGS(child->thread.regs); in compat_arch_ptrace() 148 flush_fp_to_thread(child); in compat_arch_ptrace() 150 tmp = ((u64 *)child->thread.fpr) in compat_arch_ptrace() 154 ret = ptrace_get_reg(child, numReg, &tmp2); in compat_arch_ptrace() [all …]
|
D | ptrace.c | 1072 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 1075 user_disable_single_step(child); in ptrace_disable() 1079 static long set_instruction_bp(struct task_struct *child, in set_instruction_bp() argument 1083 int slot1_in_use = ((child->thread.dbcr0 & DBCR0_IAC1) != 0); in set_instruction_bp() 1084 int slot2_in_use = ((child->thread.dbcr0 & DBCR0_IAC2) != 0); in set_instruction_bp() 1085 int slot3_in_use = ((child->thread.dbcr0 & DBCR0_IAC3) != 0); in set_instruction_bp() 1086 int slot4_in_use = ((child->thread.dbcr0 & DBCR0_IAC4) != 0); in set_instruction_bp() 1088 if (dbcr_iac_range(child) & DBCR_IAC12MODE) in set_instruction_bp() 1090 if (dbcr_iac_range(child) & DBCR_IAC34MODE) in set_instruction_bp() 1105 child->thread.iac1 = bp_info->addr; in set_instruction_bp() [all …]
|
/arch/cris/arch-v32/kernel/ |
D | ptrace.c | 31 static unsigned long get_pseudo_pc(struct task_struct *child); 80 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 88 if (!get_reg(child, PT_SPC)) { in user_enable_single_step() 90 tmp = get_reg(child, PT_ERP) & ~1; in user_enable_single_step() 91 put_reg(child, PT_SPC, tmp); in user_enable_single_step() 93 tmp = get_reg(child, PT_CCS) | SBIT_USER; in user_enable_single_step() 94 put_reg(child, PT_CCS, tmp); in user_enable_single_step() 97 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 99 put_reg(child, PT_SPC, 0); in user_disable_single_step() 101 if (!get_debugreg(child->pid, PT_BP_CTRL)) { in user_disable_single_step() [all …]
|
/arch/alpha/kernel/ |
D | ptrace.c | 174 ptrace_set_bpt(struct task_struct * child) in ptrace_set_bpt() argument 180 pc = get_reg(child, REG_PC); in ptrace_set_bpt() 181 res = read_int(child, pc, (int *) &insn); in ptrace_set_bpt() 196 task_thread_info(child)->bpt_addr[nsaved++] = pc + 4; in ptrace_set_bpt() 198 task_thread_info(child)->bpt_addr[nsaved++] in ptrace_set_bpt() 203 task_thread_info(child)->bpt_addr[nsaved++] = get_reg(child, reg_b); in ptrace_set_bpt() 206 task_thread_info(child)->bpt_addr[nsaved++] = pc + 4; in ptrace_set_bpt() 212 res = read_int(child, task_thread_info(child)->bpt_addr[i], in ptrace_set_bpt() 216 task_thread_info(child)->bpt_insn[i] = insn; in ptrace_set_bpt() 218 task_thread_info(child)->bpt_addr[i])); in ptrace_set_bpt() [all …]
|
/arch/x86/um/ |
D | ptrace_32.c | 72 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument 108 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg() 111 child->thread.regs.regs.syscall = value; in putreg() 116 child->thread.regs.regs.gp[reg_offsets[regno]] = value; in putreg() 120 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument 126 return putreg(child, addr, data); in poke_user() 133 child->thread.arch.debugregs[addr] = data; in poke_user() 139 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument 146 return child->thread.regs.regs.syscall; in getreg() 169 return mask & child->thread.regs.regs.gp[reg_offsets[regno]]; in getreg() [all …]
|
D | ptrace_64.c | 52 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument 59 if (test_tsk_thread_flag(child, TIF_IA32)) in putreg() 102 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg() 109 child->thread.regs.regs.gp[reg_offsets[regno >> 3]] = value; in putreg() 113 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument 119 return putreg(child, addr, data); in poke_user() 126 child->thread.arch.debugregs[addr] = data; in poke_user() 132 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument 136 if (test_tsk_thread_flag(child, TIF_IA32)) in getreg() 173 return mask & child->thread.regs.regs.gp[reg_offsets[regno >> 3]]; in getreg() [all …]
|
/arch/tile/kernel/ |
D | ptrace.c | 31 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 33 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 36 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 38 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 44 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 46 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in ptrace_disable() 52 clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); in ptrace_disable() 62 static char *getregs(struct task_struct *child, struct pt_regs *uregs) in getregs() argument 64 *uregs = *task_pt_regs(child); in getregs() 69 if (task_thread_info(child)->status & TS_COMPAT) in getregs() [all …]
|
/arch/h8300/kernel/ |
D | ptrace.c | 38 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 47 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 49 user_disable_single_step(child); in ptrace_disable() 52 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 72 tmp = h8300_get_reg(child, regno); in arch_ptrace() 76 tmp = child->mm->start_code; in arch_ptrace() 79 tmp = child->mm->start_data; in arch_ptrace() 82 tmp = child->mm->end_code; in arch_ptrace() 85 tmp = child->mm->end_data; in arch_ptrace() 108 ret = h8300_put_reg(child, regno, data); in arch_ptrace() [all …]
|
/arch/frv/kernel/ |
D | ptrace.c | 241 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 243 child->thread.frame0->__status |= REG__STATUS_STEP; in user_enable_single_step() 246 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 248 child->thread.frame0->__status &= ~REG__STATUS_STEP; in user_disable_single_step() 251 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 253 user_disable_single_step(child); in ptrace_disable() 256 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 275 tmp = get_reg(child, regno); in arch_ptrace() 279 tmp = child->mm->end_code - child->mm->start_code; in arch_ptrace() 283 tmp = child->mm->end_data - child->mm->start_data; in arch_ptrace() [all …]
|
/arch/um/sys-ppc/ |
D | ptrace.c | 4 int putreg(struct task_struct *child, unsigned long regno, in putreg() argument 7 child->thread.process_regs.regs[regno >> 2] = value; in putreg() 11 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument 17 return putreg(child, addr, data); in poke_user() 24 child->thread.arch.debugregs[addr] = data; in poke_user() 30 unsigned long getreg(struct task_struct *child, unsigned long regno) in getreg() argument 34 retval &= child->thread.process_regs.regs[regno >> 2]; in getreg() 38 int peek_user(struct task_struct *child, long addr, long data) in peek_user() argument 48 tmp = getreg(child, addr); in peek_user() 54 tmp = child->thread.arch.debugregs[addr]; in peek_user()
|
/arch/avr32/kernel/ |
D | ocd.c | 28 void ocd_enable(struct task_struct *child) in ocd_enable() argument 32 if (child) in ocd_enable() 34 child->comm, child->pid); in ocd_enable() 38 if (!child || !test_and_set_tsk_thread_flag(child, TIF_DEBUG)) { in ocd_enable() 59 void ocd_disable(struct task_struct *child) in ocd_disable() argument 63 if (!child) in ocd_disable() 65 else if (test_tsk_thread_flag(child, TIF_DEBUG)) in ocd_disable() 67 child->comm, child->pid); in ocd_disable() 69 if (!child || test_and_clear_tsk_thread_flag(child, TIF_DEBUG)) { in ocd_disable()
|
/arch/xtensa/kernel/ |
D | ptrace.c | 33 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 35 child->ptrace |= PT_SINGLESTEP; in user_enable_single_step() 38 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 40 child->ptrace &= ~PT_SINGLESTEP; in user_disable_single_step() 47 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 52 int ptrace_getregs(struct task_struct *child, void __user *uregs) in ptrace_getregs() argument 54 struct pt_regs *regs = task_pt_regs(child); in ptrace_getregs() 78 int ptrace_setregs(struct task_struct *child, void __user *uregs) in ptrace_setregs() argument 80 struct pt_regs *regs = task_pt_regs(child); in ptrace_setregs() 127 int ptrace_getxregs(struct task_struct *child, void __user *uregs) in ptrace_getxregs() argument [all …]
|
/arch/cris/arch-v10/kernel/ |
D | ptrace.c | 64 ptrace_disable(struct task_struct *child) in ptrace_disable() argument 67 clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); in ptrace_disable() 78 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 89 ret = generic_ptrace_peekdata(child, addr, data); in arch_ptrace() 100 tmp = get_reg(child, regno); in arch_ptrace() 108 ret = generic_ptrace_pokedata(child, addr, data); in arch_ptrace() 122 data |= get_reg(child, PT_DCCR) & ~DCCR_MASK; in arch_ptrace() 124 if (put_reg(child, regno, data)) in arch_ptrace() 136 tmp = get_reg(child, i); in arch_ptrace() 163 tmp |= get_reg(child, PT_DCCR) & ~DCCR_MASK; in arch_ptrace() [all …]
|
/arch/sh/kernel/ |
D | ptrace_32.c | 114 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 116 unsigned long pc = get_stack_long(child, offsetof(struct pt_regs, pc)); in user_enable_single_step() 118 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 120 if (ptrace_get_breakpoints(child) < 0) in user_enable_single_step() 123 set_single_step(child, pc); in user_enable_single_step() 124 ptrace_put_breakpoints(child); in user_enable_single_step() 127 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 129 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 137 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 139 user_disable_single_step(child); in ptrace_disable() [all …]
|
/arch/x86/crypto/ |
D | fpu.c | 23 struct crypto_blkcipher *child; member 30 struct crypto_blkcipher *child = ctx->child; in crypto_fpu_setkey() local 33 crypto_blkcipher_clear_flags(child, CRYPTO_TFM_REQ_MASK); in crypto_fpu_setkey() 34 crypto_blkcipher_set_flags(child, crypto_tfm_get_flags(parent) & in crypto_fpu_setkey() 36 err = crypto_blkcipher_setkey(child, key, keylen); in crypto_fpu_setkey() 37 crypto_tfm_set_flags(parent, crypto_blkcipher_get_flags(child) & in crypto_fpu_setkey() 48 struct crypto_blkcipher *child = ctx->child; in crypto_fpu_encrypt() local 50 .tfm = child, in crypto_fpu_encrypt() 67 struct crypto_blkcipher *child = ctx->child; in crypto_fpu_decrypt() local 69 .tfm = child, in crypto_fpu_decrypt() [all …]
|
/arch/s390/kernel/ |
D | ptrace.c | 133 static inline unsigned long __peek_user_per(struct task_struct *child, in __peek_user_per() argument 141 PER_EVENT_IFETCH : child->thread.per_user.control; in __peek_user_per() 145 0 : child->thread.per_user.start; in __peek_user_per() 149 PSW_ADDR_INSN : child->thread.per_user.end; in __peek_user_per() 156 return child->thread.per_user.start; in __peek_user_per() 159 return child->thread.per_user.end; in __peek_user_per() 163 child->thread.per_event.cause << (BITS_PER_LONG - 16); in __peek_user_per() 166 return child->thread.per_event.address; in __peek_user_per() 170 child->thread.per_event.paid << (BITS_PER_LONG - 8); in __peek_user_per() 183 static unsigned long __peek_user(struct task_struct *child, addr_t addr) in __peek_user() argument [all …]
|
/arch/blackfin/kernel/ |
D | ptrace.c | 118 is_user_addr_valid(struct task_struct *child, unsigned long start, unsigned long len) in is_user_addr_valid() argument 127 vma = find_vma(child->mm, start); in is_user_addr_valid() 131 for (sraml = child->mm->context.sram_list; sraml; sraml = sraml->next) in is_user_addr_valid() 140 if (child->mm->context.l1_stack_save) in is_user_addr_valid() 227 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 229 struct pt_regs *regs = task_pt_regs(child); in user_enable_single_step() 232 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 235 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 237 struct pt_regs *regs = task_pt_regs(child); in user_disable_single_step() 240 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() [all …]
|
/arch/h8300/platform/h8300h/ |
D | ptrace_h8300h.c | 63 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 65 if((long)child->thread.breakinfo.addr != -1L) { in user_disable_single_step() 66 *child->thread.breakinfo.addr = child->thread.breakinfo.inst; in user_disable_single_step() 67 child->thread.breakinfo.addr = (unsigned short *)-1L; in user_disable_single_step() 202 static unsigned short *getnextpc(struct task_struct *child, unsigned short *pc) in getnextpc() argument 231 sp = (unsigned long *)h8300_get_reg(child, PT_USP); in getnextpc() 243 addr = h8300_get_reg(child, PT_ER0); in getnextpc() 245 addr = h8300_get_reg(child, regno-1+PT_ER1); in getnextpc() 248 if (inst == 0x55 || isbranch(child,inst & 0x0f)) in getnextpc() 253 if (inst == 0x5c || isbranch(child,(*fetch_p & 0xf0) >> 4)) in getnextpc() [all …]
|