Lines Matching refs:addr
294 bool __is_insn_slot_addr(struct kprobe_insn_cache *c, unsigned long addr) in __is_insn_slot_addr() argument
301 if (addr >= (unsigned long)kip->insns && in __is_insn_slot_addr()
302 addr < (unsigned long)kip->insns + PAGE_SIZE) { in __is_insn_slot_addr()
364 struct kprobe *get_kprobe(void *addr) in get_kprobe() argument
369 head = &kprobe_table[hash_ptr(addr, KPROBE_HASH_BITS)]; in get_kprobe()
372 if (p->addr == addr) in get_kprobe()
481 static struct kprobe *get_optimized_kprobe(unsigned long addr) in get_optimized_kprobe() argument
489 p = get_kprobe((void *)(addr - i)); in get_optimized_kprobe()
493 if (arch_within_optimized_kprobe(op, addr)) in get_optimized_kprobe()
824 op->kp.addr = p->addr; in alloc_aggr_kprobe()
955 _p = get_optimized_kprobe((unsigned long)p->addr); in __arm_kprobe()
975 _p = get_optimized_kprobe((unsigned long)p->addr); in __disarm_kprobe()
1047 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 0, 0); in __arm_kprobe_ftrace()
1050 p->addr, ret); in __arm_kprobe_ftrace()
1070 ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __arm_kprobe_ftrace()
1097 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __disarm_kprobe_ftrace()
1099 p->addr, ret); in __disarm_kprobe_ftrace()
1296 .addr = (void *) get_kprobe,
1404 ap->addr = p->addr; in init_aggr_kprobe()
1500 bool __weak arch_within_kprobe_blacklist(unsigned long addr) in arch_within_kprobe_blacklist() argument
1503 return addr >= (unsigned long)__kprobes_text_start && in arch_within_kprobe_blacklist()
1504 addr < (unsigned long)__kprobes_text_end; in arch_within_kprobe_blacklist()
1507 static bool __within_kprobe_blacklist(unsigned long addr) in __within_kprobe_blacklist() argument
1511 if (arch_within_kprobe_blacklist(addr)) in __within_kprobe_blacklist()
1518 if (addr >= ent->start_addr && addr < ent->end_addr) in __within_kprobe_blacklist()
1524 bool within_kprobe_blacklist(unsigned long addr) in within_kprobe_blacklist() argument
1528 if (__within_kprobe_blacklist(addr)) in within_kprobe_blacklist()
1532 if (!lookup_symbol_name(addr, symname)) { in within_kprobe_blacklist()
1537 addr = (unsigned long)kprobe_lookup_name(symname, 0); in within_kprobe_blacklist()
1538 if (addr) in within_kprobe_blacklist()
1539 return __within_kprobe_blacklist(addr); in within_kprobe_blacklist()
1550 static kprobe_opcode_t *_kprobe_addr(kprobe_opcode_t *addr, in _kprobe_addr() argument
1553 if ((symbol_name && addr) || (!symbol_name && !addr)) in _kprobe_addr()
1557 addr = kprobe_lookup_name(symbol_name, offset); in _kprobe_addr()
1558 if (!addr) in _kprobe_addr()
1562 addr = (kprobe_opcode_t *)(((char *)addr) + offset); in _kprobe_addr()
1563 if (addr) in _kprobe_addr()
1564 return addr; in _kprobe_addr()
1572 return _kprobe_addr(p->addr, p->symbol_name, p->offset); in kprobe_addr()
1582 ap = get_kprobe(p->addr); in __get_valid_kprobe()
1614 ftrace_addr = ftrace_location((unsigned long)p->addr); in arch_check_ftrace_location()
1618 if ((unsigned long)p->addr != ftrace_addr) in arch_check_ftrace_location()
1628 static bool is_cfi_preamble_symbol(unsigned long addr) in is_cfi_preamble_symbol() argument
1632 if (lookup_symbol_name(addr, symbuf)) in is_cfi_preamble_symbol()
1651 if (!(core_kernel_text((unsigned long) p->addr) || in check_kprobe_address_safe()
1652 is_module_text_address((unsigned long) p->addr)) || in check_kprobe_address_safe()
1653 in_gate_area_no_mm((unsigned long) p->addr) || in check_kprobe_address_safe()
1654 within_kprobe_blacklist((unsigned long) p->addr) || in check_kprobe_address_safe()
1655 jump_label_text_reserved(p->addr, p->addr) || in check_kprobe_address_safe()
1656 static_call_text_reserved(p->addr, p->addr) || in check_kprobe_address_safe()
1657 find_bug((unsigned long)p->addr) || in check_kprobe_address_safe()
1658 is_cfi_preamble_symbol((unsigned long)p->addr)) { in check_kprobe_address_safe()
1664 *probed_mod = __module_text_address((unsigned long) p->addr); in check_kprobe_address_safe()
1679 if (within_module_init((unsigned long)p->addr, *probed_mod) && in check_kprobe_address_safe()
1698 kprobe_opcode_t *addr; in register_kprobe() local
1701 addr = kprobe_addr(p); in register_kprobe()
1702 if (IS_ERR(addr)) in register_kprobe()
1703 return PTR_ERR(addr); in register_kprobe()
1704 p->addr = addr; in register_kprobe()
1721 old_p = get_kprobe(p->addr); in register_kprobe()
1739 &kprobe_table[hash_ptr(p->addr, KPROBE_HASH_BITS)]); in register_kprobe()
1930 kps[i]->addr = NULL; in unregister_kprobes()
1935 if (kps[i]->addr) in unregister_kprobes()
2007 ri->rp->kp.addr); in __kretprobe_trampoline_handler()
2116 int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset) in kprobe_on_func_entry() argument
2118 kprobe_opcode_t *kp_addr = _kprobe_addr(addr, sym, offset); in kprobe_on_func_entry()
2137 void *addr; in register_kretprobe() local
2139 ret = kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset); in register_kretprobe()
2144 if (rp->kp.addr && check_kprobe_rereg(&rp->kp)) in register_kretprobe()
2148 addr = kprobe_addr(&rp->kp); in register_kretprobe()
2149 if (IS_ERR(addr)) in register_kretprobe()
2150 return PTR_ERR(addr); in register_kretprobe()
2153 if (kretprobe_blacklist[i].addr == addr) in register_kretprobe()
2228 rps[i]->kp.addr = NULL; in unregister_kretprobes()
2233 if (rps[i]->kp.addr) { in unregister_kretprobes()
2370 kp->symbol_name, kp->offset, kp->addr); in dump_kprobe()
2569 if (within_module_init((unsigned long)p->addr, mod) || in kprobes_module_callback()
2571 within_module_core((unsigned long)p->addr, mod))) { in kprobes_module_callback()
2616 if (start <= (void *)p->addr && (void *)p->addr < end) in kprobe_free_init_mem()
2646 kretprobe_blacklist[i].addr = in init_kprobes()
2648 if (!kretprobe_blacklist[i].addr) in init_kprobes()
2696 void *addr = p->addr; in report_probe() local
2704 addr = NULL; in report_probe()
2708 addr, kprobe_type, sym, offset, in report_probe()
2712 addr, kprobe_type, p->addr); in report_probe()
2753 sym = kallsyms_lookup((unsigned long)p->addr, NULL, in show_kprobe_addr()