Lines Matching refs:addr
275 bool __is_insn_slot_addr(struct kprobe_insn_cache *c, unsigned long addr) in __is_insn_slot_addr() argument
282 if (addr >= (unsigned long)kip->insns && in __is_insn_slot_addr()
283 addr < (unsigned long)kip->insns + PAGE_SIZE) { in __is_insn_slot_addr()
323 struct kprobe *get_kprobe(void *addr) in get_kprobe() argument
328 head = &kprobe_table[hash_ptr(addr, KPROBE_HASH_BITS)]; in get_kprobe()
330 if (p->addr == addr) in get_kprobe()
439 static struct kprobe *get_optimized_kprobe(unsigned long addr) in get_optimized_kprobe() argument
447 p = get_kprobe((void *)(addr - i)); in get_optimized_kprobe()
451 if (arch_within_optimized_kprobe(op, addr)) in get_optimized_kprobe()
768 op->kp.addr = p->addr; in alloc_aggr_kprobe()
899 _p = get_optimized_kprobe((unsigned long)p->addr); in __arm_kprobe()
919 _p = get_optimized_kprobe((unsigned long)p->addr); in __disarm_kprobe()
991 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 0, 0); in __arm_kprobe_ftrace()
994 p->addr, ret); in __arm_kprobe_ftrace()
1014 ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __arm_kprobe_ftrace()
1041 ret = ftrace_set_filter_ip(ops, (unsigned long)p->addr, 1, 0); in __disarm_kprobe_ftrace()
1043 p->addr, ret); in __disarm_kprobe_ftrace()
1305 ap->addr = p->addr; in init_aggr_kprobe()
1401 bool __weak arch_within_kprobe_blacklist(unsigned long addr) in arch_within_kprobe_blacklist() argument
1404 return addr >= (unsigned long)__kprobes_text_start && in arch_within_kprobe_blacklist()
1405 addr < (unsigned long)__kprobes_text_end; in arch_within_kprobe_blacklist()
1408 static bool __within_kprobe_blacklist(unsigned long addr) in __within_kprobe_blacklist() argument
1412 if (arch_within_kprobe_blacklist(addr)) in __within_kprobe_blacklist()
1419 if (addr >= ent->start_addr && addr < ent->end_addr) in __within_kprobe_blacklist()
1425 bool within_kprobe_blacklist(unsigned long addr) in within_kprobe_blacklist() argument
1429 if (__within_kprobe_blacklist(addr)) in within_kprobe_blacklist()
1433 if (!lookup_symbol_name(addr, symname)) { in within_kprobe_blacklist()
1438 addr = (unsigned long)kprobe_lookup_name(symname, 0); in within_kprobe_blacklist()
1439 if (addr) in within_kprobe_blacklist()
1440 return __within_kprobe_blacklist(addr); in within_kprobe_blacklist()
1451 static kprobe_opcode_t *_kprobe_addr(kprobe_opcode_t *addr, in _kprobe_addr() argument
1454 if ((symbol_name && addr) || (!symbol_name && !addr)) in _kprobe_addr()
1458 addr = kprobe_lookup_name(symbol_name, offset); in _kprobe_addr()
1459 if (!addr) in _kprobe_addr()
1463 addr = (kprobe_opcode_t *)(((char *)addr) + offset); in _kprobe_addr()
1464 if (addr) in _kprobe_addr()
1465 return addr; in _kprobe_addr()
1473 return _kprobe_addr(p->addr, p->symbol_name, p->offset); in kprobe_addr()
1481 ap = get_kprobe(p->addr); in __get_valid_kprobe()
1513 ftrace_addr = ftrace_location((unsigned long)p->addr); in arch_check_ftrace_location()
1517 if ((unsigned long)p->addr != ftrace_addr) in arch_check_ftrace_location()
1539 if (!kernel_text_address((unsigned long) p->addr) || in check_kprobe_address_safe()
1540 within_kprobe_blacklist((unsigned long) p->addr) || in check_kprobe_address_safe()
1541 jump_label_text_reserved(p->addr, p->addr) || in check_kprobe_address_safe()
1542 find_bug((unsigned long)p->addr)) { in check_kprobe_address_safe()
1548 *probed_mod = __module_text_address((unsigned long) p->addr); in check_kprobe_address_safe()
1563 if (within_module_init((unsigned long)p->addr, *probed_mod) && in check_kprobe_address_safe()
1582 kprobe_opcode_t *addr; in register_kprobe() local
1585 addr = kprobe_addr(p); in register_kprobe()
1586 if (IS_ERR(addr)) in register_kprobe()
1587 return PTR_ERR(addr); in register_kprobe()
1588 p->addr = addr; in register_kprobe()
1605 old_p = get_kprobe(p->addr); in register_kprobe()
1623 &kprobe_table[hash_ptr(p->addr, KPROBE_HASH_BITS)]); in register_kprobe()
1805 kps[i]->addr = NULL; in unregister_kprobes()
1810 if (kps[i]->addr) in unregister_kprobes()
1893 bool kprobe_on_func_entry(kprobe_opcode_t *addr, const char *sym, unsigned long offset) in kprobe_on_func_entry() argument
1895 kprobe_opcode_t *kp_addr = _kprobe_addr(addr, sym, offset); in kprobe_on_func_entry()
1912 void *addr; in register_kretprobe() local
1914 if (!kprobe_on_func_entry(rp->kp.addr, rp->kp.symbol_name, rp->kp.offset)) in register_kretprobe()
1918 addr = kprobe_addr(&rp->kp); in register_kretprobe()
1919 if (IS_ERR(addr)) in register_kretprobe()
1920 return PTR_ERR(addr); in register_kretprobe()
1923 if (kretprobe_blacklist[i].addr == addr) in register_kretprobe()
1995 rps[i]->kp.addr = NULL; in unregister_kretprobes()
2000 if (rps[i]->kp.addr) { in unregister_kretprobes()
2121 kp->symbol_name, kp->offset, kp->addr); in dump_kprobe()
2220 if (within_module_init((unsigned long)p->addr, mod) || in kprobes_module_callback()
2222 within_module_core((unsigned long)p->addr, mod))) { in kprobes_module_callback()
2272 kretprobe_blacklist[i].addr = in init_kprobes()
2274 if (!kretprobe_blacklist[i].addr) in init_kprobes()
2311 void *addr = p->addr; in report_probe() local
2319 addr = NULL; in report_probe()
2323 addr, kprobe_type, sym, offset, in report_probe()
2327 addr, kprobe_type, p->addr); in report_probe()
2368 sym = kallsyms_lookup((unsigned long)p->addr, NULL, in show_kprobe_addr()