/Linux-v6.6/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 …]
|
/Linux-v6.6/drivers/mtd/ |
D | mtdpart.c | 50 struct mtd_info *child; in allocate_partition() local 56 child = kzalloc(sizeof(*child), GFP_KERNEL); in allocate_partition() 58 if (!name || !child) { in allocate_partition() 62 kfree(child); in allocate_partition() 67 child->type = parent->type; in allocate_partition() 68 child->part.flags = parent->flags & ~part->mask_flags; in allocate_partition() 69 child->part.flags |= part->add_flags; in allocate_partition() 70 child->flags = child->part.flags; in allocate_partition() 71 child->part.size = part->size; in allocate_partition() 72 child->writesize = parent->writesize; in allocate_partition() [all …]
|
/Linux-v6.6/kernel/ |
D | ptrace.c | 69 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() 91 * @child: ptracee to be unlinked 93 * Remove @child from the ptrace list, move it back to the original parent, 117 void __ptrace_unlink(struct task_struct *child) in __ptrace_unlink() argument [all …]
|
/Linux-v6.6/scripts/kconfig/ |
D | gconf.glade | 24 <child> 30 <child> 34 <child> 40 <child> 43 <child> 52 <child internal-child="image"> 62 </child> 64 </child> 66 <child> 75 <child internal-child="image"> [all …]
|
/Linux-v6.6/tools/testing/selftests/bpf/prog_tests/ |
D | uprobe_multi_test.c | 28 struct child { struct 33 static void release_child(struct child *child) in release_child() argument 37 if (!child) in release_child() 39 close(child->go[1]); in release_child() 40 close(child->go[0]); in release_child() 41 if (child->pid > 0) in release_child() 42 waitpid(child->pid, &child_status, 0); in release_child() 45 static void kick_child(struct child *child) in kick_child() argument 49 if (child) { in kick_child() 50 write(child->go[1], &c, 1); in kick_child() [all …]
|
/Linux-v6.6/tools/testing/selftests/powerpc/ptrace/ |
D | ptrace-perf-hwbreak.c | 13 * Child subroutine that performs a load on the address, then traps 24 * Child subroutine that performs a load on the first address, then a load on 173 * Checks if we can place at least 2 watchpoints on the child process 186 * Wrapper around a plain fork() call that sets up the child for 187 * ptrace-ing. Both the parent and child return from this, though 188 * the child is stopped until ptrace_cont(pid) is run by the parent. 197 FAIL_IF_MSG(1, "Failed to fork child"); in ptrace_fork_child() 201 FAIL_IF_EXIT_MSG(raise(SIGSTOP), "Child failed to raise SIGSTOP"); in ptrace_fork_child() 203 /* Synchronise on child SIGSTOP */ in ptrace_fork_child() 204 FAIL_IF_MSG(waitpid(*pid, &status, 0) == -1, "Failed to wait for child"); in ptrace_fork_child() [all …]
|
D | ptrace.h | 64 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 …]
|
D | ptrace-gpr.c | 22 static int child(void) in child() function 47 int trace_gpr(pid_t child) in trace_gpr() argument 52 FAIL_IF(start_trace(child)); in trace_gpr() 54 // Check child GPRs match what we expect using GETREGS in trace_gpr() 55 FAIL_IF(show_gpr(child, gpr)); in trace_gpr() 58 // Check child FPRs match what we expect using GETFPREGS in trace_gpr() 59 FAIL_IF(show_fpr(child, fpr)); in trace_gpr() 63 // Check child FPRs match what we expect using PEEKUSR in trace_gpr() 64 peeked_fprs = peek_fprs(child); in trace_gpr() 69 // Write child GPRs using SETREGS in trace_gpr() [all …]
|
/Linux-v6.6/tools/testing/selftests/arm64/fp/ |
D | fp-stress.c | 60 static void child_start(struct child_data *child, const char *program) in child_start() argument 70 child->pid = fork(); in child_start() 71 if (child->pid == -1) in child_start() 75 if (!child->pid) { in child_start() 77 * In child, replace stdout with the pipe, errors to in child_start() 124 * In parent, remember the child and close our copy of the in child_start() 128 child->stdout = pipefd[0]; in child_start() 129 child->output = NULL; in child_start() 130 child->exited = false; in child_start() 131 child->output_seen = false; in child_start() [all …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/drivers/pwm/ |
D | sysfs.c | 18 struct device child; member 24 static struct pwm_export *child_to_pwm_export(struct device *child) in child_to_pwm_export() argument 26 return container_of(child, struct pwm_export, child); in child_to_pwm_export() 29 static struct pwm_device *child_to_pwm_device(struct device *child) in child_to_pwm_device() argument 31 struct pwm_export *export = child_to_pwm_export(child); in child_to_pwm_device() 36 static ssize_t period_show(struct device *child, in period_show() argument 40 const struct pwm_device *pwm = child_to_pwm_device(child); in period_show() 48 static ssize_t period_store(struct device *child, in period_store() argument 52 struct pwm_export *export = child_to_pwm_export(child); in period_store() 71 static ssize_t duty_cycle_show(struct device *child, in duty_cycle_show() argument [all …]
|
/Linux-v6.6/tools/perf/arch/x86/tests/ |
D | bp-modify.c | 32 int child = fork(); in spawn_child() local 34 if (child == 0) { in spawn_child() 36 * The child sets itself for as tracee and 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() 79 * - detaches the child in bp_modify1() 81 if (ptrace(PTRACE_POKEUSER, child, in bp_modify1() 88 if (ptrace(PTRACE_POKEUSER, child, in bp_modify1() [all …]
|
/Linux-v6.6/arch/m68k/kernel/ |
D | ptrace.c | 30 * does not yet catch signals sent when the child dies. 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() [all …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/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 …]
|
/Linux-v6.6/tools/testing/selftests/cgroup/ |
D | test_core.c | 72 * Create a child process that allocates and touches 100MB, then waits to be 73 * killed. Wait until the child is attached to the cgroup, kill all processes 100 /* wait for the child to enter cgroup */ in test_cgcore_destroy() 276 char *grandparent = NULL, *parent = NULL, *child = NULL; in test_cgcore_invalid_domain() local 280 child = cg_name(root, "cg_test_grandparent/cg_test_parent/cg_test_child"); in test_cgcore_invalid_domain() 281 if (!parent || !child || !grandparent) in test_cgcore_invalid_domain() 290 if (cg_create(child)) in test_cgcore_invalid_domain() 296 if (cg_read_strcmp(child, "cgroup.type", "domain invalid\n")) in test_cgcore_invalid_domain() 299 if (!cg_enter_current(child)) in test_cgcore_invalid_domain() 305 if (!clone_into_cgroup_run_wait(child)) in test_cgcore_invalid_domain() [all …]
|
/Linux-v6.6/tools/testing/selftests/arm64/abi/ |
D | ptrace.c | 32 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-v6.6/include/linux/ |
D | bootconfig.h | 52 uint16_t child; member 104 return xbc_node_is_value(node) && node->child != 0; in xbc_node_is_array() 112 * or no child. Returns true if it is a leaf node, or false if not. 119 (!node->child || xbc_node_is_value(xbc_node_get_child(node))); in xbc_node_is_leaf() 168 * Return the first subkey node of the @node. If the @node has no child 173 struct xbc_node *child = xbc_node_get_child(node); in xbc_node_get_subkey() local 175 if (child && xbc_node_is_value(child)) in xbc_node_get_subkey() 176 return xbc_node_get_next(child); in xbc_node_get_subkey() 178 return child; in xbc_node_get_subkey() 196 * xbc_node_for_each_child() - Iterate child nodes [all …]
|
/Linux-v6.6/tools/testing/selftests/pidfd/ |
D | pidfd_getfd_test.c | 24 * UNKNOWN_FD is an fd number that should never exist in the child, as it is 47 fprintf(stderr, "%s: Child could not set DEATHSIG\n", in __child() 54 fprintf(stderr, "%s: Child failed to send fd number\n", in __child() 62 * This blocking recv enables the parent to message the child. in __child() 66 * indicating that the child should exit. in __child() 73 "%s: Child failed to disable ptrace\n", in __child() 78 fprintf(stderr, "Child received unknown command %c\n", in __child() 84 fprintf(stderr, "%s: Child failed to ack\n", in __child() 90 fprintf(stderr, "%s: Child failed to read from socket\n", in __child() 98 static int child(int sk) in child() function [all …]
|
/Linux-v6.6/security/landlock/ |
D | ptrace.c | 27 * @child: Potential child of @parent. 30 * means a subset of) the @child domain. 33 const struct landlock_ruleset *const child) in domain_scope_le() argument 39 if (!child) in domain_scope_le() 41 for (walker = child->hierarchy; walker; walker = walker->parent) { in domain_scope_le() 43 /* @parent is in the scoped hierarchy of @child. */ in domain_scope_le() 46 /* There is no relationship between @parent and @child. */ in domain_scope_le() 51 const struct task_struct *const child) in task_is_scoped() argument 58 dom_child = landlock_get_task_domain(child); in task_is_scoped() 65 const struct task_struct *const child) in task_ptrace() argument [all …]
|
/Linux-v6.6/tools/testing/selftests/landlock/ |
D | ptrace_test.c | 100 * Test multiple tracing combinations between a parent process P1 and a child 124 * Child domain 157 * Parent + child domain (siblings) 191 * Inherited + child domain 227 * Inherited + parent and child domain (siblings) 254 /* Test PTRACE_TRACEME and PTRACE_ATTACH for parent and child. */ 257 pid_t child, parent; in TEST_F() local 273 * can_read_child is true if a parent process can read its child in TEST_F() 275 * isolated from the child with a dedicated Landlock domain. in TEST_F() 280 * can_trace_child is true if a parent process can trace its child in TEST_F() [all …]
|
/Linux-v6.6/arch/alpha/kernel/ |
D | ptrace.c | 42 * does not yet catch signals sent when the child dies. 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() [all …]
|
/Linux-v6.6/drivers/scsi/libsas/ |
D | sas_expander.c | 723 struct domain_device *child, in sas_ex_get_linkrate() argument 730 child->pathways = 0; in sas_ex_get_linkrate() 741 if (sas_phy_match_dev_addr(child, phy)) { in sas_ex_get_linkrate() 742 child->min_linkrate = min(parent->min_linkrate, in sas_ex_get_linkrate() 744 child->max_linkrate = max(parent->max_linkrate, in sas_ex_get_linkrate() 746 child->pathways++; in sas_ex_get_linkrate() 750 child->linkrate = min(parent_phy->linkrate, child->max_linkrate); in sas_ex_get_linkrate() 751 child->pathways = min(child->pathways, parent->pathways); in sas_ex_get_linkrate() 755 struct domain_device *child, int phy_id) in sas_ex_add_dev() argument 760 child->dev_type = SAS_END_DEVICE; in sas_ex_add_dev() [all …]
|
/Linux-v6.6/drivers/net/mdio/ |
D | fwnode_mdio.c | 62 struct fwnode_handle *child, u32 addr) in fwnode_mdiobus_phy_device_register() argument 66 rc = fwnode_irq_get(child, 0); in fwnode_mdiobus_phy_device_register() 82 if (fwnode_property_read_bool(child, "broken-turn-around")) in fwnode_mdiobus_phy_device_register() 85 fwnode_property_read_u32(child, "reset-assert-us", in fwnode_mdiobus_phy_device_register() 87 fwnode_property_read_u32(child, "reset-deassert-us", in fwnode_mdiobus_phy_device_register() 93 fwnode_handle_get(child); in fwnode_mdiobus_phy_device_register() 94 device_set_node(&phy->mdio.dev, child); in fwnode_mdiobus_phy_device_register() 102 fwnode_handle_put(child); in fwnode_mdiobus_phy_device_register() 107 child, addr); in fwnode_mdiobus_phy_device_register() 113 struct fwnode_handle *child, u32 addr) in fwnode_mdiobus_register_phy() argument [all …]
|