Lines Matching refs:addr
298 bool __is_insn_slot_addr(struct kprobe_insn_cache *c, unsigned long addr) in __is_insn_slot_addr() argument
305 if (addr >= (unsigned long)kip->insns && in __is_insn_slot_addr()
306 addr < (unsigned long)kip->insns + PAGE_SIZE) { in __is_insn_slot_addr()
378 struct kprobe *get_kprobe(void *addr) in get_kprobe() argument
383 head = &kprobe_table[hash_ptr(addr, KPROBE_HASH_BITS)]; in get_kprobe()
386 if (p->addr == addr) in get_kprobe()
493 static struct kprobe *get_optimized_kprobe(kprobe_opcode_t *addr) in get_optimized_kprobe() argument
501 p = get_kprobe(addr - i); in get_optimized_kprobe()
505 if (arch_within_optimized_kprobe(op, addr)) in get_optimized_kprobe()
841 op->kp.addr = p->addr; in alloc_aggr_kprobe()
979 _p = get_optimized_kprobe(p->addr); in __arm_kprobe()
1001 _p = get_optimized_kprobe(p->addr); in __disarm_kprobe()
1072 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 0, 0); in __arm_kprobe_ftrace()
1073 if (WARN_ONCE(ret < 0, "Failed to arm kprobe-ftrace at %pS (error %d)\n", p->addr, ret)) in __arm_kprobe_ftrace()
1083 ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __arm_kprobe_ftrace()
1116 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __disarm_kprobe_ftrace()
1118 p->addr, ret); in __disarm_kprobe_ftrace()
1228 .addr = (void *) get_kprobe,
1269 ap->addr = p->addr; in init_aggr_kprobe()
1356 bool __weak arch_within_kprobe_blacklist(unsigned long addr) in arch_within_kprobe_blacklist() argument
1359 return addr >= (unsigned long)__kprobes_text_start && in arch_within_kprobe_blacklist()
1360 addr < (unsigned long)__kprobes_text_end; in arch_within_kprobe_blacklist()
1363 static bool __within_kprobe_blacklist(unsigned long addr) in __within_kprobe_blacklist() argument
1367 if (arch_within_kprobe_blacklist(addr)) in __within_kprobe_blacklist()
1374 if (addr >= ent->start_addr && addr < ent->end_addr) in __within_kprobe_blacklist()
1380 bool within_kprobe_blacklist(unsigned long addr) in within_kprobe_blacklist() argument
1384 if (__within_kprobe_blacklist(addr)) in within_kprobe_blacklist()
1388 if (!lookup_symbol_name(addr, symname)) { in within_kprobe_blacklist()
1393 addr = (unsigned long)kprobe_lookup_name(symname, 0); in within_kprobe_blacklist()
1394 if (addr) in within_kprobe_blacklist()
1395 return __within_kprobe_blacklist(addr); in within_kprobe_blacklist()
1414 kprobe_opcode_t *__weak arch_adjust_kprobe_addr(unsigned long addr, in arch_adjust_kprobe_addr() argument
1419 return (kprobe_opcode_t *)(addr + offset); in arch_adjust_kprobe_addr()
1429 _kprobe_addr(kprobe_opcode_t *addr, const char *symbol_name, in _kprobe_addr() argument
1432 if ((symbol_name && addr) || (!symbol_name && !addr)) in _kprobe_addr()
1443 addr = kprobe_lookup_name(symbol_name, offset); in _kprobe_addr()
1444 if (!addr) in _kprobe_addr()
1452 addr = (void *)addr + offset; in _kprobe_addr()
1453 if (!kallsyms_lookup_size_offset((unsigned long)addr, NULL, &offset)) in _kprobe_addr()
1455 addr = (void *)addr - offset; in _kprobe_addr()
1462 addr = arch_adjust_kprobe_addr((unsigned long)addr, offset, on_func_entry); in _kprobe_addr()
1463 if (!addr) in _kprobe_addr()
1466 return addr; in _kprobe_addr()
1473 return _kprobe_addr(p->addr, p->symbol_name, p->offset, &on_func_entry); in kprobe_addr()
1486 ap = get_kprobe(p->addr); in __get_valid_kprobe()
1517 unsigned long addr = (unsigned long)p->addr; in check_ftrace_location() local
1519 if (ftrace_location(addr) == addr) { in check_ftrace_location()
1529 static bool is_cfi_preamble_symbol(unsigned long addr) in is_cfi_preamble_symbol() argument
1533 if (lookup_symbol_name(addr, symbuf)) in is_cfi_preamble_symbol()
1553 if (!core_kernel_text((unsigned long) p->addr)) { in check_kprobe_address_safe()
1555 *probed_mod = __module_text_address((unsigned long) p->addr); in check_kprobe_address_safe()
1567 if (in_gate_area_no_mm((unsigned long) p->addr) || in check_kprobe_address_safe()
1568 within_kprobe_blacklist((unsigned long) p->addr) || in check_kprobe_address_safe()
1569 jump_label_text_reserved(p->addr, p->addr) || in check_kprobe_address_safe()
1570 static_call_text_reserved(p->addr, p->addr) || in check_kprobe_address_safe()
1571 find_bug((unsigned long)p->addr) || in check_kprobe_address_safe()
1572 is_cfi_preamble_symbol((unsigned long)p->addr)) { in check_kprobe_address_safe()
1583 if (within_module_init((unsigned long)p->addr, *probed_mod) && in check_kprobe_address_safe()
1600 old_p = get_kprobe(p->addr); in __register_kprobe()
1615 &kprobe_table[hash_ptr(p->addr, KPROBE_HASH_BITS)]); in __register_kprobe()
1634 kprobe_opcode_t *addr; in register_kprobe() local
1638 addr = _kprobe_addr(p->addr, p->symbol_name, p->offset, &on_func_entry); in register_kprobe()
1639 if (IS_ERR(addr)) in register_kprobe()
1640 return PTR_ERR(addr); in register_kprobe()
1641 p->addr = addr; in register_kprobe()
1836 kps[i]->addr = NULL; in unregister_kprobes()
1840 if (kps[i]->addr) in unregister_kprobes()
2160 int kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset) in kprobe_on_func_entry() argument
2163 kprobe_opcode_t *kp_addr = _kprobe_addr(addr, sym, offset, &on_func_entry); in kprobe_on_func_entry()
2178 void *addr; in register_kretprobe() local
2180 ret = kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset); in register_kretprobe()
2185 if (rp->kp.addr && warn_kprobe_rereg(&rp->kp)) in register_kretprobe()
2189 addr = kprobe_addr(&rp->kp); in register_kretprobe()
2190 if (IS_ERR(addr)) in register_kretprobe()
2191 return PTR_ERR(addr); in register_kretprobe()
2194 if (kretprobe_blacklist[i].addr == addr) in register_kretprobe()
2280 rps[i]->kp.addr = NULL; in unregister_kretprobes()
2290 if (rps[i]->kp.addr) { in unregister_kretprobes()
2415 kp->symbol_name, kp->offset, kp->addr); in dump_kprobe()
2611 if (within_module_init((unsigned long)p->addr, mod) || in kprobes_module_callback()
2613 within_module_core((unsigned long)p->addr, mod))) { in kprobes_module_callback()
2663 if (start <= (void *)p->addr && (void *)p->addr < end) in kprobe_free_init_mem()
2686 kretprobe_blacklist[i].addr = in init_kprobes()
2688 if (!kretprobe_blacklist[i].addr) in init_kprobes()
2734 void *addr = p->addr; in report_probe() local
2742 addr = NULL; in report_probe()
2746 addr, kprobe_type, sym, offset, in report_probe()
2750 addr, kprobe_type, p->addr); in report_probe()
2791 sym = kallsyms_lookup((unsigned long)p->addr, NULL, in show_kprobe_addr()