/arch/powerpc/kernel/ptrace/ |
D | ptrace-adv.c | 74 int ptrace_get_debugreg(struct task_struct *child, unsigned long addr, in ptrace_get_debugreg() argument 80 return put_user(child->thread.debug.dac1, datalp); in ptrace_get_debugreg() 140 static long set_instruction_bp(struct task_struct *child, in set_instruction_bp() argument 144 int slot1_in_use = ((child->thread.debug.dbcr0 & DBCR0_IAC1) != 0); in set_instruction_bp() 145 int slot2_in_use = ((child->thread.debug.dbcr0 & DBCR0_IAC2) != 0); in set_instruction_bp() 146 int slot3_in_use = ((child->thread.debug.dbcr0 & DBCR0_IAC3) != 0); in set_instruction_bp() 147 int slot4_in_use = ((child->thread.debug.dbcr0 & DBCR0_IAC4) != 0); in set_instruction_bp() 149 if (dbcr_iac_range(child) & DBCR_IAC12MODE) in set_instruction_bp() 151 if (dbcr_iac_range(child) & DBCR_IAC34MODE) in set_instruction_bp() 165 child->thread.debug.iac1 = bp_info->addr; in set_instruction_bp() [all …]
|
D | ptrace32.c | 38 long compat_arch_ptrace(struct task_struct *child, compat_long_t request, in compat_arch_ptrace() argument 67 copied = ptrace_access_vm(child, (u64)addrOthers, &tmp, in compat_arch_ptrace() 87 ret = ptrace_get_reg(child, index, &tmp); in compat_arch_ptrace() 91 flush_fp_to_thread(child); in compat_arch_ptrace() 97 tmp = ((unsigned int *)child->thread.fp_state.fpr) in compat_arch_ptrace() 136 flush_fp_to_thread(child); in compat_arch_ptrace() 138 tmp = child->thread.fp_state.fpr[numReg - PT_FPR0][0]; in compat_arch_ptrace() 141 ret = ptrace_get_reg(child, numReg, &tmp2); in compat_arch_ptrace() 170 if (ptrace_access_vm(child, (u64)addrOthers, &tmp, in compat_arch_ptrace() 189 ret = ptrace_put_reg(child, index, data); in compat_arch_ptrace() [all …]
|
D | ptrace-fpu.c | 9 int ptrace_get_fpr(struct task_struct *child, int index, unsigned long *data) in ptrace_get_fpr() argument 19 flush_fp_to_thread(child); in ptrace_get_fpr() 23 *data = ((u32 *)child->thread.fp_state.fpr)[fpidx]; in ptrace_get_fpr() 25 memcpy(data, &child->thread.TS_FPR(fpidx), sizeof(long)); in ptrace_get_fpr() 27 *data = child->thread.fp_state.fpscr; in ptrace_get_fpr() 35 int ptrace_put_fpr(struct task_struct *child, int index, unsigned long data) in ptrace_put_fpr() argument 45 flush_fp_to_thread(child); in ptrace_put_fpr() 49 ((u32 *)child->thread.fp_state.fpr)[fpidx] = data; in ptrace_put_fpr() 51 memcpy(&child->thread.TS_FPR(fpidx), &data, sizeof(long)); in ptrace_put_fpr() 53 child->thread.fp_state.fpscr = data; in ptrace_put_fpr()
|
D | ptrace.c | 37 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 40 user_disable_single_step(child); in ptrace_disable() 43 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 58 if ((addr & (sizeof(long) - 1)) || !child->thread.regs) in arch_ptrace() 62 ret = ptrace_get_reg(child, (int) index, &tmp); in arch_ptrace() 64 ret = ptrace_get_fpr(child, index, &tmp); in arch_ptrace() 79 if ((addr & (sizeof(long) - 1)) || !child->thread.regs) in arch_ptrace() 83 ret = ptrace_put_reg(child, index, data); in arch_ptrace() 85 ret = ptrace_put_fpr(child, index, data); in arch_ptrace() 106 return ppc_set_hwdebug(child, &bp_info); in arch_ptrace() [all …]
|
D | ptrace-noadv.c | 60 int ptrace_get_debugreg(struct task_struct *child, unsigned long addr, in ptrace_get_debugreg() argument 68 dabr_fake = ((child->thread.hw_brk[0].address & (~HW_BRK_TYPE_DABR)) | in ptrace_get_debugreg() 69 (child->thread.hw_brk[0].type & HW_BRK_TYPE_DABR)); in ptrace_get_debugreg() 193 long ppc_set_hwdebug(struct task_struct *child, struct ppc_hw_breakpoint *bp_info) in ppc_set_hwdebug() argument 198 struct thread_struct *thread = &child->thread; in ppc_set_hwdebug() 243 bp = register_user_hw_breakpoint(&attr, ptrace_triggered, NULL, child); in ppc_set_hwdebug() 256 i = find_empty_hw_brk(&child->thread); in ppc_set_hwdebug() 263 child->thread.hw_brk[i] = brk; in ppc_set_hwdebug() 268 long ppc_del_hwdebug(struct task_struct *child, long data) in ppc_del_hwdebug() argument 272 struct thread_struct *thread = &child->thread; in ppc_del_hwdebug() [all …]
|
/arch/x86/kernel/ |
D | step.c | 12 unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs) in convert_ip_to_linear() argument 36 mutex_lock(&child->mm->context.lock); in convert_ip_to_linear() 37 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear() 38 seg >= child->mm->context.ldt->nr_entries)) in convert_ip_to_linear() 41 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear() 49 mutex_unlock(&child->mm->context.lock); in convert_ip_to_linear() 56 static int is_setting_trap_flag(struct task_struct *child, struct pt_regs *regs) in is_setting_trap_flag() argument 60 unsigned long addr = convert_ip_to_linear(child, regs); in is_setting_trap_flag() 62 copied = access_process_vm(child, addr, opcode, sizeof(opcode), in is_setting_trap_flag() 111 static int enable_single_step(struct task_struct *child) in enable_single_step() argument [all …]
|
D | ptrace.c | 374 static int putreg(struct task_struct *child, in putreg() argument 384 return set_segment_reg(child, offset, value); in putreg() 387 return set_flags(child, value); in putreg() 393 x86_fsbase_write_task(child, value); in putreg() 398 x86_gsbase_write_task(child, value); in putreg() 403 *pt_regs_access(task_pt_regs(child), offset) = value; in putreg() 718 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 720 user_disable_single_step(child); in ptrace_disable() 730 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 755 tmp = getreg(child, addr); in arch_ptrace() [all …]
|
/arch/mips/kernel/ |
D | ptrace32.c | 43 long compat_arch_ptrace(struct task_struct *child, compat_long_t request, in compat_arch_ptrace() argument 73 copied = ptrace_access_vm(child, (u64)addrOthers, &tmp, in compat_arch_ptrace() 86 regs = task_pt_regs(child); in compat_arch_ptrace() 97 if (!tsk_used_math(child)) { in compat_arch_ptrace() 102 fregs = get_fpu_regs(child); in compat_arch_ptrace() 103 if (test_tsk_thread_flag(child, TIF_32BIT_FPREGS)) { in compat_arch_ptrace() 117 tmp = child->thread.fpu.fcr31; in compat_arch_ptrace() 147 dregs = __get_dsp_regs(child); in compat_arch_ptrace() 157 tmp = child->thread.dsp.dspcontrol; in compat_arch_ptrace() 186 if (ptrace_access_vm(child, (u64)addrOthers, &data, in compat_arch_ptrace() [all …]
|
D | ptrace.c | 63 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 66 clear_tsk_thread_flag(child, TIF_LOAD_WATCH); in ptrace_disable() 74 int ptrace_getregs(struct task_struct *child, struct user_pt_regs __user *data) in ptrace_getregs() argument 82 regs = task_pt_regs(child); in ptrace_getregs() 101 int ptrace_setregs(struct task_struct *child, struct user_pt_regs __user *data) in ptrace_setregs() argument 109 regs = task_pt_regs(child); in ptrace_setregs() 120 mips_syscall_update_nr(child, regs); in ptrace_setregs() 125 int ptrace_get_watch_regs(struct task_struct *child, in ptrace_get_watch_regs() argument 148 __put_user(child->thread.watch.mips3264.watchlo[i], in ptrace_get_watch_regs() 150 __put_user(child->thread.watch.mips3264.watchhi[i] & in ptrace_get_watch_regs() [all …]
|
/arch/um/kernel/ |
D | ptrace.c | 12 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 14 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 15 child->thread.singlestep_syscall = 0; in user_enable_single_step() 18 SUBARCH_SET_SINGLESTEPPING(child, 1); in user_enable_single_step() 22 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 24 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 25 child->thread.singlestep_syscall = 0; in user_disable_single_step() 28 SUBARCH_SET_SINGLESTEPPING(child, 0); in user_disable_single_step() 35 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 37 user_disable_single_step(child); in ptrace_disable() [all …]
|
/arch/m68k/kernel/ |
D | ptrace.c | 127 static inline void singlestep_disable(struct task_struct *child) in singlestep_disable() argument 129 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in singlestep_disable() 130 put_reg(child, PT_SR, tmp); in singlestep_disable() 131 clear_tsk_thread_flag(child, TIF_DELAYED_TRACE); in singlestep_disable() 137 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 139 singlestep_disable(child); in ptrace_disable() 142 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 144 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in user_enable_single_step() 145 put_reg(child, PT_SR, tmp | T1_BIT); in user_enable_single_step() 146 set_tsk_thread_flag(child, TIF_DELAYED_TRACE); in user_enable_single_step() [all …]
|
/arch/alpha/kernel/ |
D | ptrace.c | 179 ptrace_set_bpt(struct task_struct * child) in ptrace_set_bpt() argument 185 pc = get_reg(child, REG_PC); in ptrace_set_bpt() 186 res = read_int(child, pc, (int *) &insn); in ptrace_set_bpt() 201 task_thread_info(child)->bpt_addr[nsaved++] = pc + 4; in ptrace_set_bpt() 203 task_thread_info(child)->bpt_addr[nsaved++] in ptrace_set_bpt() 208 task_thread_info(child)->bpt_addr[nsaved++] = get_reg(child, reg_b); in ptrace_set_bpt() 211 task_thread_info(child)->bpt_addr[nsaved++] = pc + 4; in ptrace_set_bpt() 217 res = read_int(child, task_thread_info(child)->bpt_addr[i], in ptrace_set_bpt() 221 task_thread_info(child)->bpt_insn[i] = insn; in ptrace_set_bpt() 223 task_thread_info(child)->bpt_addr[i])); in ptrace_set_bpt() [all …]
|
/arch/x86/um/ |
D | ptrace_32.c | 76 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument 92 UPT_SYSCALL_NR(&child->thread.regs.regs) = value; in putreg() 116 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg() 121 child->thread.regs.regs.gp[reg_offsets[regno]] = value; in putreg() 125 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument 131 return putreg(child, addr, data); in poke_user() 138 child->thread.arch.debugregs[addr] = data; in poke_user() 144 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument 173 return mask & child->thread.regs.regs.gp[reg_offsets[regno]]; in getreg() 177 int peek_user(struct task_struct *child, long addr, long data) in peek_user() argument [all …]
|
D | ptrace_64.c | 54 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument 78 UPT_SYSCALL_NR(&child->thread.regs.regs) = value; in putreg() 100 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg() 107 child->thread.regs.regs.gp[reg_offsets[regno >> 3]] = value; in putreg() 111 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument 117 return putreg(child, addr, data); in poke_user() 124 child->thread.arch.debugregs[addr] = data; in poke_user() 130 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument 168 return mask & child->thread.regs.regs.gp[reg_offsets[regno >> 3]]; in getreg() 171 int peek_user(struct task_struct *child, long addr, long data) in peek_user() argument [all …]
|
/arch/sh/kernel/ |
D | ptrace_32.c | 110 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 112 unsigned long pc = get_stack_long(child, offsetof(struct pt_regs, pc)); in user_enable_single_step() 114 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 116 set_single_step(child, pc); in user_enable_single_step() 119 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 121 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 129 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 131 user_disable_single_step(child); in ptrace_disable() 338 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 355 tmp = get_stack_long(child, addr); in arch_ptrace() [all …]
|
/arch/s390/kernel/ |
D | ptrace.c | 146 static inline unsigned long __peek_user_per(struct task_struct *child, in __peek_user_per() argument 152 PER_EVENT_IFETCH : child->thread.per_user.control; in __peek_user_per() 156 0 : child->thread.per_user.start; in __peek_user_per() 160 -1UL : child->thread.per_user.end; in __peek_user_per() 167 return child->thread.per_user.start; in __peek_user_per() 170 return child->thread.per_user.end; in __peek_user_per() 174 child->thread.per_event.cause << (BITS_PER_LONG - 16); in __peek_user_per() 177 return child->thread.per_event.address; in __peek_user_per() 181 child->thread.per_event.paid << (BITS_PER_LONG - 8); in __peek_user_per() 194 static unsigned long __peek_user(struct task_struct *child, addr_t addr) in __peek_user() argument [all …]
|
/arch/xtensa/kernel/ |
D | ptrace.c | 225 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 227 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 230 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 232 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 239 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 244 static int ptrace_getregs(struct task_struct *child, void __user *uregs) in ptrace_getregs() argument 246 return copy_regset_to_user(child, &user_xtensa_view, REGSET_GPR, in ptrace_getregs() 250 static int ptrace_setregs(struct task_struct *child, void __user *uregs) in ptrace_setregs() argument 252 return copy_regset_from_user(child, &user_xtensa_view, REGSET_GPR, in ptrace_setregs() 256 static int ptrace_getxregs(struct task_struct *child, void __user *uregs) in ptrace_getxregs() argument [all …]
|
/arch/ia64/kernel/ |
D | ptrace.c | 401 ia64_peek (struct task_struct *child, struct switch_stack *child_stack, in ia64_peek() argument 411 child_regs = task_pt_regs(child); in ia64_peek() 413 krbs = (unsigned long *) child + IA64_RBS_OFFSET/8; in ia64_peek() 423 ret = get_rnat(child, child_stack, krbs, rnat_addr, urbs_end); in ia64_peek() 455 copied = access_process_vm(child, addr, &ret, sizeof(ret), FOLL_FORCE); in ia64_peek() 463 ia64_poke (struct task_struct *child, struct switch_stack *child_stack, in ia64_poke() argument 471 child_regs = task_pt_regs(child); in ia64_poke() 473 krbs = (unsigned long *) child + IA64_RBS_OFFSET/8; in ia64_poke() 483 put_rnat(child, child_stack, krbs, laddr, val, in ia64_poke() 491 } else if (access_process_vm(child, addr, &val, sizeof(val), in ia64_poke() [all …]
|
/arch/microblaze/kernel/ |
D | ptrace.c | 77 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 95 val = child->mm->start_code; in arch_ptrace() 97 val = child->mm->start_data; in arch_ptrace() 99 val = child->mm->end_code in arch_ptrace() 100 - child->mm->start_code; in arch_ptrace() 105 microblaze_reg_t *reg_addr = reg_save_addr(addr, child); in arch_ptrace() 130 rval = ptrace_request(child, request, addr, data); in arch_ptrace() 166 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument
|
/arch/hexagon/kernel/ |
D | ptrace.c | 23 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument 25 pt_set_singlestep(task_pt_regs(child)); in user_enable_single_step() 26 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step() 29 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument 31 pt_clr_singlestep(task_pt_regs(child)); in user_disable_single_step() 32 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step() 160 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument 163 user_disable_single_step(child); in ptrace_disable() 166 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 169 return ptrace_request(child, request, addr, data); in arch_ptrace()
|
/arch/arm/mach-mvebu/ |
D | mvebu-soc-id.c | 61 struct device_node *child; in get_soc_id_by_pci() local 71 child = of_get_next_child(np, NULL); in get_soc_id_by_pci() 72 if (child == NULL) { in get_soc_id_by_pci() 78 clk = of_clk_get_by_name(child, NULL); in get_soc_id_by_pci() 91 pci_base = of_iomap(child, 0); in get_soc_id_by_pci() 119 if (!of_device_is_available(child) || !IS_ENABLED(CONFIG_PCI_MVEBU)) { in get_soc_id_by_pci() 125 of_node_put(child); in get_soc_id_by_pci()
|
/arch/powerpc/kernel/ |
D | pci-hotplug.c | 24 struct pci_bus *child = NULL; in find_bus_among_children() local 31 child = find_bus_among_children(tmp, dn); in find_bus_among_children() 32 if (child) in find_bus_among_children() 36 return child; in find_bus_among_children() 124 dn->child && PCI_DN(dn->child)) { in pci_hp_add_devices() 132 slotno = PCI_SLOT(PCI_DN(dn->child)->devfn); in pci_hp_add_devices()
|
/arch/x86/pci/ |
D | i386.c | 235 struct pci_bus *child; in pcibios_allocate_bus_resources() local 240 list_for_each_entry(child, &bus->children, node) in pcibios_allocate_bus_resources() 241 pcibios_allocate_bus_resources(child); in pcibios_allocate_bus_resources() 310 struct pci_bus *child; in pcibios_allocate_resources() local 315 child = dev->subordinate; in pcibios_allocate_resources() 316 if (child) in pcibios_allocate_resources() 317 pcibios_allocate_resources(child, pass); in pcibios_allocate_resources() 344 struct pci_bus *child; in pcibios_allocate_rom_resources() local 349 child = dev->subordinate; in pcibios_allocate_rom_resources() 350 if (child) in pcibios_allocate_rom_resources() [all …]
|
/arch/mips/include/asm/ |
D | ptrace.h | 126 extern int ptrace_getregs(struct task_struct *child, 128 extern int ptrace_setregs(struct task_struct *child, 131 extern int ptrace_getfpregs(struct task_struct *child, __u32 __user *data); 132 extern int ptrace_setfpregs(struct task_struct *child, __u32 __user *data); 134 extern int ptrace_get_watch_regs(struct task_struct *child, 136 extern int ptrace_set_watch_regs(struct task_struct *child,
|
/arch/parisc/kernel/ |
D | ptrace.c | 122 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument 143 tmp = *(unsigned long *) ((char *) task_regs(child) + addr); in arch_ptrace() 165 task_regs(child)->gr[0] &= ~USER_PSW_BITS; in arch_ptrace() 166 task_regs(child)->gr[0] |= data; in arch_ptrace() 181 *(unsigned long *) ((char *) task_regs(child) + addr) = data; in arch_ptrace() 187 return copy_regset_to_user(child, in arch_ptrace() 194 return copy_regset_from_user(child, in arch_ptrace() 201 return copy_regset_to_user(child, in arch_ptrace() 208 return copy_regset_from_user(child, in arch_ptrace() 215 ret = ptrace_request(child, request, addr, data); in arch_ptrace() [all …]
|