Searched refs:utask (Results 1 - 8 of 8) sorted by relevance
/linux-4.1.27/arch/arm/probes/uprobes/ |
H A D | core.c | 138 struct uprobe_task *utask = current->utask; arch_uprobe_pre_xol() local 141 auprobe->prehandler(auprobe, &utask->autask, regs); arch_uprobe_pre_xol() 143 utask->autask.saved_trap_no = current->thread.trap_no; arch_uprobe_pre_xol() 145 regs->ARM_pc = utask->xol_vaddr; arch_uprobe_pre_xol() 152 struct uprobe_task *utask = current->utask; arch_uprobe_post_xol() local 156 current->thread.trap_no = utask->autask.saved_trap_no; arch_uprobe_post_xol() 157 regs->ARM_pc = utask->vaddr + 4; arch_uprobe_post_xol() 160 auprobe->posthandler(auprobe, &utask->autask, regs); arch_uprobe_post_xol() 175 struct uprobe_task *utask = current->utask; arch_uprobe_abort_xol() local 177 current->thread.trap_no = utask->autask.saved_trap_no; arch_uprobe_abort_xol() 178 instruction_pointer_set(regs, utask->vaddr); arch_uprobe_abort_xol()
|
/linux-4.1.27/kernel/events/ |
H A D | uprobes.c | 1316 if (!tsk->mm || !tsk->mm->uprobes_state.xol_area || !tsk->utask) xol_free_insn_slot() 1319 slot_addr = tsk->utask->xol_vaddr; xol_free_insn_slot() 1339 tsk->utask->xol_vaddr = 0; xol_free_insn_slot() 1371 struct uprobe_task *utask = current->utask; uprobe_get_trap_addr() local 1373 if (unlikely(utask && utask->active_uprobe)) uprobe_get_trap_addr() 1374 return utask->vaddr; uprobe_get_trap_addr() 1385 struct uprobe_task *utask = t->utask; uprobe_free_utask() local 1388 if (!utask) uprobe_free_utask() 1391 if (utask->active_uprobe) uprobe_free_utask() 1392 put_uprobe(utask->active_uprobe); uprobe_free_utask() 1394 ri = utask->return_instances; uprobe_free_utask() 1404 kfree(utask); uprobe_free_utask() 1405 t->utask = NULL; uprobe_free_utask() 1418 if (!current->utask) get_utask() 1419 current->utask = kzalloc(sizeof(struct uprobe_task), GFP_KERNEL); get_utask() 1420 return current->utask; get_utask() 1431 t->utask = n_utask; dup_utask() 1462 if (!__create_xol_area(current->utask->dup_xol_addr)) dup_xol_work() 1471 struct uprobe_task *utask = current->utask; uprobe_copy_process() local 1475 t->utask = NULL; uprobe_copy_process() 1477 if (!utask || !utask->return_instances) uprobe_copy_process() 1483 if (dup_utask(t, utask)) uprobe_copy_process() 1494 t->utask->dup_xol_addr = area->vaddr; uprobe_copy_process() 1495 init_task_work(&t->utask->dup_xol_work, dup_xol_work); uprobe_copy_process() 1496 task_work_add(t, &t->utask->dup_xol_work, true); uprobe_copy_process() 1521 struct uprobe_task *utask; prepare_uretprobe() local 1528 utask = get_utask(); prepare_uretprobe() 1529 if (!utask) prepare_uretprobe() 1532 if (utask->depth >= MAX_URETPROBE_DEPTH) { prepare_uretprobe() 1554 if (!utask->return_instances) { prepare_uretprobe() 1565 orig_ret_vaddr = utask->return_instances->orig_ret_vaddr; prepare_uretprobe() 1574 utask->depth++; prepare_uretprobe() 1577 ri->next = utask->return_instances; prepare_uretprobe() 1578 utask->return_instances = ri; prepare_uretprobe() 1590 struct uprobe_task *utask; pre_ssout() local 1594 utask = get_utask(); pre_ssout() 1595 if (!utask) pre_ssout() 1602 utask->xol_vaddr = xol_vaddr; pre_ssout() 1603 utask->vaddr = bp_vaddr; pre_ssout() 1611 utask->active_uprobe = uprobe; pre_ssout() 1612 utask->state = UTASK_SSTEP; pre_ssout() 1628 struct uprobe_task *utask = t->utask; uprobe_deny_signal() local 1630 if (likely(!utask || !utask->active_uprobe)) uprobe_deny_signal() 1633 WARN_ON_ONCE(utask->state != UTASK_SSTEP); uprobe_deny_signal() 1641 utask->state = UTASK_SSTEP_TRAPPED; uprobe_deny_signal() 1771 struct uprobe_task *utask; handle_trampoline() local 1775 utask = current->utask; handle_trampoline() 1776 if (!utask) handle_trampoline() 1779 ri = utask->return_instances; handle_trampoline() 1799 utask->depth--; handle_trampoline() 1806 utask->return_instances = ri; handle_trampoline() 1866 /* Tracing handlers use ->utask to communicate with fetch methods */ handle_swbp() 1890 static void handle_singlestep(struct uprobe_task *utask, struct pt_regs *regs) handle_singlestep() argument 1895 uprobe = utask->active_uprobe; handle_singlestep() 1896 if (utask->state == UTASK_SSTEP_ACK) handle_singlestep() 1898 else if (utask->state == UTASK_SSTEP_TRAPPED) handle_singlestep() 1904 utask->active_uprobe = NULL; handle_singlestep() 1905 utask->state = UTASK_RUNNING; handle_singlestep() 1921 * sets utask->active_uprobe. 1931 struct uprobe_task *utask; uprobe_notify_resume() local 1935 utask = current->utask; uprobe_notify_resume() 1936 if (utask && utask->active_uprobe) uprobe_notify_resume() 1937 handle_singlestep(utask, regs); uprobe_notify_resume() 1952 (!current->utask || !current->utask->return_instances)) uprobe_pre_sstep_notifier() 1965 struct uprobe_task *utask = current->utask; uprobe_post_sstep_notifier() local 1967 if (!current->mm || !utask || !utask->active_uprobe) uprobe_post_sstep_notifier() 1971 utask->state = UTASK_SSTEP_ACK; uprobe_post_sstep_notifier()
|
/linux-4.1.27/arch/powerpc/kernel/ |
H A D | uprobes.c | 66 struct arch_uprobe_task *autask = ¤t->utask->autask; arch_uprobe_pre_xol() 70 regs->nip = current->utask->xol_vaddr; arch_uprobe_pre_xol() 114 struct uprobe_task *utask = current->utask; arch_uprobe_post_xol() local 118 current->thread.trap_nr = utask->autask.saved_trap_nr; arch_uprobe_post_xol() 127 regs->nip = utask->vaddr + MAX_UINSN_BYTES; arch_uprobe_post_xol() 169 struct uprobe_task *utask = current->utask; arch_uprobe_abort_xol() local 171 current->thread.trap_nr = utask->autask.saved_trap_nr; arch_uprobe_abort_xol() 172 instruction_pointer_set(regs, utask->vaddr); arch_uprobe_abort_xol()
|
/linux-4.1.27/arch/s390/kernel/ |
H A D | uprobes.c | 36 regs->psw.addr = current->utask->xol_vaddr; arch_uprobe_pre_xol() 78 struct uprobe_task *utask = current->utask; arch_uprobe_post_xol() local 86 regs->psw.addr += utask->vaddr - utask->xol_vaddr; arch_uprobe_post_xol() 90 regs->gprs[reg] += utask->vaddr - utask->xol_vaddr; arch_uprobe_post_xol() 95 if (regs->psw.addr - utask->xol_vaddr == ilen) arch_uprobe_post_xol() 96 regs->psw.addr = utask->vaddr + ilen; arch_uprobe_post_xol() 101 current->thread.per_event.address = utask->vaddr; arch_uprobe_post_xol() 136 regs->psw.addr = current->utask->vaddr; arch_uprobe_abort_xol() 137 current->thread.per_event.address = current->utask->vaddr; arch_uprobe_abort_xol()
|
/linux-4.1.27/arch/x86/kernel/ |
H A D | uprobes.c | 482 struct uprobe_task *utask = current->utask; riprel_pre_xol() local 485 utask->autask.saved_scratch_register = *sr; riprel_pre_xol() 486 *sr = utask->vaddr + auprobe->defparam.ilen; riprel_pre_xol() 493 struct uprobe_task *utask = current->utask; riprel_post_xol() local 496 *sr = utask->autask.saved_scratch_register; riprel_post_xol() 566 struct uprobe_task *utask = current->utask; default_post_xol_op() local 570 long correction = utask->vaddr - utask->xol_vaddr; default_post_xol_op() 574 if (push_ret_address(regs, utask->vaddr + auprobe->defparam.ilen)) default_post_xol_op() 579 utask->autask.saved_tf = true; default_post_xol_op() 825 struct uprobe_task *utask = current->utask; arch_uprobe_pre_xol() local 833 regs->ip = utask->xol_vaddr; arch_uprobe_pre_xol() 834 utask->autask.saved_trap_nr = current->thread.trap_nr; arch_uprobe_pre_xol() 837 utask->autask.saved_tf = !!(regs->flags & X86_EFLAGS_TF); arch_uprobe_pre_xol() 872 struct uprobe_task *utask = current->utask; arch_uprobe_post_xol() local 873 bool send_sigtrap = utask->autask.saved_tf; arch_uprobe_post_xol() 877 current->thread.trap_nr = utask->autask.saved_trap_nr; arch_uprobe_post_xol() 887 regs->ip = utask->vaddr; arch_uprobe_post_xol() 901 if (!utask->autask.saved_tf) arch_uprobe_post_xol() 943 struct uprobe_task *utask = current->utask; arch_uprobe_abort_xol() local 948 current->thread.trap_nr = utask->autask.saved_trap_nr; arch_uprobe_abort_xol() 949 regs->ip = utask->vaddr; arch_uprobe_abort_xol() 951 if (!utask->autask.saved_tf) arch_uprobe_abort_xol()
|
/linux-4.1.27/drivers/video/fbdev/ |
H A D | uvesafb.c | 70 struct uvesafb_task *utask; uvesafb_cn_callback() local 87 utask = (struct uvesafb_task *)msg->data; uvesafb_cn_callback() 90 if (task->t.buf_len < utask->buf_len || uvesafb_cn_callback() 91 utask->buf_len > msg->len - sizeof(*utask)) { uvesafb_cn_callback() 99 memcpy(&task->t, utask, sizeof(*utask)); uvesafb_cn_callback() 102 memcpy(task->buf, utask + 1, task->t.buf_len); uvesafb_cn_callback()
|
/linux-4.1.27/kernel/trace/ |
H A D | trace_uprobe.c | 180 udd = (void *) current->utask->vaddr; translate_user_vaddr() 1212 current->utask->vaddr = (unsigned long) &udd; uprobe_dispatcher() 1247 current->utask->vaddr = (unsigned long) &udd; uretprobe_dispatcher()
|
/linux-4.1.27/include/linux/ |
H A D | sched.h | 1719 struct uprobe_task *utask; member in struct:task_struct
|
Completed in 662 milliseconds