Searched refs:utask (Results 1 - 8 of 8) sorted by relevance

/linux-4.1.27/arch/arm/probes/uprobes/
H A Dcore.c138 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 Duprobes.c1316 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 Duprobes.c66 struct arch_uprobe_task *autask = &current->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 Duprobes.c36 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 Duprobes.c482 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 Duvesafb.c70 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 Dtrace_uprobe.c180 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 Dsched.h1719 struct uprobe_task *utask; member in struct:task_struct

Completed in 662 milliseconds