Home
last modified time | relevance | path

Searched refs:child (Results 1 – 25 of 802) sorted by relevance

12345678910>>...33

/linux/arch/powerpc/kernel/ptrace/
H A Dptrace-adv.c74 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 …]
H A Dptrace32.c38 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 …]
/linux/kernel/
H A Dptrace.c69 void __ptrace_link(struct task_struct *child, struct task_struct *new_parent, in __ptrace_link() argument
72 BUG_ON(!list_empty(&child->ptrace_entry)); in __ptrace_link()
73 list_add(&child->ptrace_entry, &new_parent->ptraced); in __ptrace_link()
74 child->parent = new_parent; in __ptrace_link()
75 child->ptracer_cred = get_cred(ptracer_cred); in __ptrace_link()
84 static void ptrace_link(struct task_struct *child, struct task_struct *new_parent) in ptrace_link() argument
86 __ptrace_link(child, new_parent, current_cred()); in ptrace_link()
117 void __ptrace_unlink(struct task_struct *child) in __ptrace_unlink() argument
120 BUG_ON(!child->ptrace); in __ptrace_unlink()
122 clear_task_syscall_work(child, SYSCALL_TRACE); in __ptrace_unlink()
[all …]
/linux/arch/x86/kernel/
H A Dstep.c14 unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *regs) in convert_ip_to_linear() argument
38 mutex_lock(&child->mm->context.lock); in convert_ip_to_linear()
39 if (unlikely(!child->mm->context.ldt || in convert_ip_to_linear()
40 seg >= child->mm->context.ldt->nr_entries)) in convert_ip_to_linear()
43 desc = &child->mm->context.ldt->entries[seg]; in convert_ip_to_linear()
51 mutex_unlock(&child->mm->context.lock); in convert_ip_to_linear()
58 static int is_setting_trap_flag(struct task_struct *child, struct pt_regs *regs) in is_setting_trap_flag() argument
62 unsigned long addr = convert_ip_to_linear(child, regs); in is_setting_trap_flag()
64 copied = access_process_vm(child, addr, opcode, sizeof(opcode), in is_setting_trap_flag()
113 static int enable_single_step(struct task_struct *child) in enable_single_step() argument
[all …]
H A Dptrace.c374 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 …]
/linux/tools/testing/selftests/arm64/fp/
H A Dfp-stress.c63 static void child_start(struct child_data *child, const char *program) in child_start() argument
73 child->pid = fork(); in child_start()
74 if (child->pid == -1) in child_start()
78 if (!child->pid) { in child_start()
130 child->stdout = pipefd[0]; in child_start()
131 child->output = NULL; in child_start()
132 child->exited = false; in child_start()
133 child->output_seen = false; in child_start()
136 ev.data.ptr = child; in child_start()
138 ret = epoll_ctl(epoll_fd, EPOLL_CTL_ADD, child->stdout, &ev); in child_start()
[all …]
/linux/tools/testing/selftests/arm64/gcs/
H A Dgcs-stress.c59 static void start_thread(struct child_data *child, int id) in start_thread() argument
69 child->pid = fork(); in start_thread()
70 if (child->pid == -1) in start_thread()
74 if (!child->pid) { in start_thread()
127 child->stdout = pipefd[0]; in start_thread()
128 child->output = NULL; in start_thread()
129 child->exited = false; in start_thread()
130 child->output_seen = false; in start_thread()
133 ev.data.ptr = child; in start_thread()
135 ret = asprintf(&child->name, "Thread-%d", id); in start_thread()
[all …]
/linux/tools/testing/selftests/powerpc/ptrace/
H A Dptrace.h64 int start_trace(pid_t child) in start_trace() argument
68 ret = ptrace(PTRACE_ATTACH, child, NULL, NULL); in start_trace()
73 ret = waitpid(child, NULL, 0); in start_trace()
74 if (ret != child) { in start_trace()
81 int stop_trace(pid_t child) in stop_trace() argument
85 ret = ptrace(PTRACE_DETACH, child, NULL, NULL); in stop_trace()
93 int cont_trace(pid_t child) in cont_trace() argument
97 ret = ptrace(PTRACE_CONT, child, NULL, NULL); in cont_trace()
105 int ptrace_read_regs(pid_t child, unsigned long type, unsigned long regs[], in ptrace_read_regs() argument
111 FAIL_IF(start_trace(child)); in ptrace_read_regs()
[all …]
/linux/arch/mips/kernel/
H A Dptrace32.c43 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 …]
/linux/tools/perf/arch/x86/tests/
H A Dbp-modify.c32 int child = fork(); in spawn_child() local
34 if (child == 0) { in spawn_child()
52 return child; in spawn_child()
61 pid_t child; in bp_modify1() local
65 child = spawn_child(); in bp_modify1()
67 waitpid(child, &status, 0); in bp_modify1()
81 if (ptrace(PTRACE_POKEUSER, child, in bp_modify1()
87 if (ptrace(PTRACE_POKEUSER, child, in bp_modify1()
93 if (ptrace(PTRACE_POKEUSER, child, in bp_modify1()
99 if (ptrace(PTRACE_CONT, child, NULL, NULL)) { in bp_modify1()
[all …]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Duprobe_multi_test.c48 struct child { struct
57 static void release_child(struct child *child) in release_child() argument
61 if (!child) in release_child()
63 close(child->go[1]); in release_child()
64 close(child->go[0]); in release_child()
65 if (child->thread) { in release_child()
66 pthread_join(child->thread, NULL); in release_child()
67 child->thread = 0; in release_child()
69 close(child->c2p[0]); in release_child()
70 close(child->c2p[1]); in release_child()
[all …]
/linux/arch/m68k/kernel/
H A Dptrace.c129 static inline void singlestep_disable(struct task_struct *child) in singlestep_disable() argument
131 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in singlestep_disable()
132 put_reg(child, PT_SR, tmp); in singlestep_disable()
133 clear_tsk_thread_flag(child, TIF_DELAYED_TRACE); in singlestep_disable()
139 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument
141 singlestep_disable(child); in ptrace_disable()
144 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument
146 unsigned long tmp = get_reg(child, PT_SR) & ~TRACE_BITS; in user_enable_single_step()
147 put_reg(child, PT_SR, tmp | T1_BIT); in user_enable_single_step()
148 set_tsk_thread_flag(child, TIF_DELAYED_TRACE); in user_enable_single_step()
[all …]
/linux/arch/x86/um/
H A Dptrace_32.c51 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument
67 UPT_SYSCALL_NR(&child->thread.regs.regs) = value; in putreg()
91 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg()
96 child->thread.regs.regs.gp[reg_offsets[regno]] = value; in putreg()
100 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument
106 return putreg(child, addr, data); in poke_user()
113 child->thread.arch.debugregs[addr] = data; in poke_user()
119 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument
148 return mask & child->thread.regs.regs.gp[reg_offsets[regno]]; in getreg()
152 int peek_user(struct task_struct *child, long addr, long data) in peek_user() argument
[all …]
H A Dptrace_64.c55 int putreg(struct task_struct *child, int regno, unsigned long value) in putreg() argument
79 UPT_SYSCALL_NR(&child->thread.regs.regs) = value; in putreg()
101 child->thread.regs.regs.gp[HOST_EFLAGS] |= value; in putreg()
108 child->thread.regs.regs.gp[reg_offsets[regno >> 3]] = value; in putreg()
112 int poke_user(struct task_struct *child, long addr, long data) in poke_user() argument
118 return putreg(child, addr, data); in poke_user()
125 child->thread.arch.debugregs[addr] = data; in poke_user()
131 unsigned long getreg(struct task_struct *child, int regno) in getreg() argument
169 return mask & child->thread.regs.regs.gp[reg_offsets[regno >> 3]]; in getreg()
172 int peek_user(struct task_struct *child, long addr, long data) in peek_user() argument
[all …]
/linux/tools/testing/selftests/ptrace/
H A Dpeeksiginfo.c44 static int check_error_paths(pid_t child) in check_error_paths() argument
73 ret = sys_ptrace(PTRACE_PEEKSIGINFO, child, &arg, addr_rw); in check_error_paths()
83 ret = sys_ptrace(PTRACE_PEEKSIGINFO, child, &arg, in check_error_paths()
91 ret = sys_ptrace(PTRACE_PEEKSIGINFO, child, &arg, addr_ro); in check_error_paths()
105 int check_direct_path(pid_t child, int shared, int nr) in check_direct_path() argument
122 ret = sys_ptrace(PTRACE_PEEKSIGINFO, child, &arg, siginfo); in check_direct_path()
157 pid_t child; in main() local
163 child = fork(); in main()
164 if (child == -1) { in main()
167 } else if (child == 0) { in main()
[all …]
/linux/tools/testing/selftests/arm64/abi/
H A Dptrace.c32 static void test_tpidr(pid_t child) in test_tpidr() argument
45 ret = ptrace(PTRACE_GETREGSET, child, NT_ARM_TLS, &read_iov); in test_tpidr()
51 ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov); in test_tpidr()
55 ret = ptrace(PTRACE_GETREGSET, child, NT_ARM_TLS, &read_iov); in test_tpidr()
61 ret = ptrace(PTRACE_GETREGSET, child, NT_ARM_TLS, &read_iov); in test_tpidr()
82 ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov); in test_tpidr()
90 ret = ptrace(PTRACE_GETREGSET, child, NT_ARM_TLS, &read_iov); in test_tpidr()
112 ret = ptrace(PTRACE_SETREGSET, child, NT_ARM_TLS, &write_iov); in test_tpidr()
117 ret = ptrace(PTRACE_GETREGSET, child, NT_ARM_TLS, in test_tpidr()
135 static void test_hw_debug(pid_t child, int type, const char *type_name) in test_hw_debug() argument
[all …]
/linux/arch/um/kernel/
H A Dptrace.c15 void user_enable_single_step(struct task_struct *child) in user_enable_single_step() argument
17 set_tsk_thread_flag(child, TIF_SINGLESTEP); in user_enable_single_step()
20 SUBARCH_SET_SINGLESTEPPING(child, 1); in user_enable_single_step()
24 void user_disable_single_step(struct task_struct *child) in user_disable_single_step() argument
26 clear_tsk_thread_flag(child, TIF_SINGLESTEP); in user_disable_single_step()
29 SUBARCH_SET_SINGLESTEPPING(child, 0); in user_disable_single_step()
36 void ptrace_disable(struct task_struct *child) in ptrace_disable() argument
38 user_disable_single_step(child); in ptrace_disable()
41 long arch_ptrace(struct task_struct *child, long request, in arch_ptrace() argument
51 ret = peek_user(child, addr, data); in arch_ptrace()
[all …]
/linux/tools/testing/selftests/cgroup/
H A Dtest_core.c287 char *grandparent = NULL, *parent = NULL, *child = NULL; in test_cgcore_invalid_domain() local
294 child = cg_name(root, "cg_test_grandparent/cg_test_parent/cg_test_child"); in test_cgcore_invalid_domain()
295 if (!parent || !child || !grandparent) in test_cgcore_invalid_domain()
304 if (cg_create(child)) in test_cgcore_invalid_domain()
310 if (cg_read_strcmp(child, "cgroup.type", "domain invalid\n")) in test_cgcore_invalid_domain()
313 if (!cg_enter_current(child)) in test_cgcore_invalid_domain()
319 if (!clone_into_cgroup_run_wait(child)) in test_cgcore_invalid_domain()
333 if (child) in test_cgcore_invalid_domain()
334 cg_destroy(child); in test_cgcore_invalid_domain()
339 free(child); in test_cgcore_invalid_domain()
[all …]
/linux/include/linux/
H A Dptrace.h49 extern long arch_ptrace(struct task_struct *child, long request,
54 extern int ptrace_request(struct task_struct *child, long request,
57 extern void __ptrace_link(struct task_struct *child,
60 extern void __ptrace_unlink(struct task_struct *child);
90 static inline int ptrace_reparented(struct task_struct *child) in ptrace_reparented() argument
92 return !same_thread_group(child->real_parent, child->parent); in ptrace_reparented()
95 static inline void ptrace_unlink(struct task_struct *child) in ptrace_unlink() argument
97 if (unlikely(child->ptrace)) in ptrace_unlink()
98 __ptrace_unlink(child); in ptrace_unlink()
200 static inline void ptrace_init_task(struct task_struct *child, bool ptrace) in ptrace_init_task() argument
[all …]
H A Dproperty.h163 const struct fwnode_handle *fwnode, struct fwnode_handle *child);
165 const struct fwnode_handle *fwnode, struct fwnode_handle *child);
167 #define fwnode_for_each_child_node(fwnode, child) \ argument
168 for (child = fwnode_get_next_child_node(fwnode, NULL); child; \
169 child = fwnode_get_next_child_node(fwnode, child))
171 #define fwnode_for_each_named_child_node(fwnode, child, name) \ argument
172 fwnode_for_each_child_node(fwnode, child) \
173 for_each_if(fwnode_name_eq(child, name))
175 #define fwnode_for_each_available_child_node(fwnode, child) \ argument
176 for (child = fwnode_get_next_available_child_node(fwnode, NULL); child;\
[all …]
/linux/arch/sh/kernel/
H A Dptrace_32.c110 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 …]
/linux/tools/testing/selftests/riscv/vector/
H A Dvstate_ptrace.c50 static void do_parent(pid_t child) in do_parent() argument
56 while (waitpid(child, &status, 0)) { in do_parent()
72 if (do_ptrace(PTRACE_GETREGSET, child, NT_RISCV_VECTOR, size, data)) in do_parent()
83 if (do_ptrace(PTRACE_GETREGSET, child, NT_RISCV_VECTOR, size, data)) in do_parent()
89 if (do_ptrace(PTRACE_SETREGSET, child, NT_RISCV_VECTOR, size, data)) in do_parent()
97 if (do_ptrace(PTRACE_GETREGSET, child, NT_PRSTATUS, size, data)) in do_parent()
101 if (do_ptrace(PTRACE_SETREGSET, child, NT_PRSTATUS, size, data)) in do_parent()
105 ptrace(PTRACE_CONT, child, NULL, NULL); in do_parent()
114 pid_t child; in main() local
124 child = fork(); in main()
[all …]
/linux/drivers/scsi/libsas/
H A Dsas_expander.c744 struct domain_device *child, in sas_ex_get_linkrate() argument
751 child->pathways = 0; in sas_ex_get_linkrate()
762 if (sas_phy_match_dev_addr(child, phy)) { in sas_ex_get_linkrate()
763 child->min_linkrate = min(parent->min_linkrate, in sas_ex_get_linkrate()
765 child->max_linkrate = max(parent->max_linkrate, in sas_ex_get_linkrate()
767 child->pathways++; in sas_ex_get_linkrate()
771 child->linkrate = min(parent_phy->linkrate, child->max_linkrate); in sas_ex_get_linkrate()
772 child->pathways = min(child->pathways, parent->pathways); in sas_ex_get_linkrate()
776 struct domain_device *child, int phy_id) in sas_ex_add_dev() argument
781 child->dev_type = SAS_END_DEVICE; in sas_ex_add_dev()
[all …]
/linux/drivers/pci/pwrctrl/
H A Dcore.c157 for_each_available_child_of_node_scoped(np, child) in pci_pwrctrl_power_off_device()
158 pci_pwrctrl_power_off_device(child); in pci_pwrctrl_power_off_device()
186 for_each_available_child_of_node_scoped(np, child) in pci_pwrctrl_power_off_devices()
187 pci_pwrctrl_power_off_device(child); in pci_pwrctrl_power_off_devices()
210 for_each_available_child_of_node_scoped(np, child) { in pci_pwrctrl_power_on_device()
211 ret = pci_pwrctrl_power_on_device(child); in pci_pwrctrl_power_on_device()
248 struct device_node *child = NULL; in pci_pwrctrl_power_on_devices() local
251 for_each_available_child_of_node(np, child) { in pci_pwrctrl_power_on_devices()
252 ret = pci_pwrctrl_power_on_device(child); in pci_pwrctrl_power_on_devices()
261 if (tmp == child) in pci_pwrctrl_power_on_devices()
[all …]
/linux/tools/testing/selftests/landlock/
H A Dptrace_test.c93 * Test multiple tracing combinations between a parent process P1 and a child
110 /* Test PTRACE_TRACEME and PTRACE_ATTACH for parent and child. */
113 pid_t child, parent; in TEST_F() local
129 * can_read_child is true if a parent process can read its child in TEST_F()
131 * isolated from the child with a dedicated Landlock domain. in TEST_F()
136 * can_trace_child is true if a parent process can trace its child in TEST_F()
138 * - The parent process is not isolated from the child with a dedicated in TEST_F()
146 * can_read_parent is true if a child process can read its parent in TEST_F()
147 * process, which is only the case when the child process is not in TEST_F()
153 * can_trace_parent is true if a child proces in TEST_F()
335 pid_t child; TEST_F() local
[all...]

12345678910>>...33