/* If we have a symbol_name argument, look it up and add the offset field to it. This way, we can specify a relative address to a symbol.  */
static kprobe_opcode_t __kprobes* kprobe_addr(struct kprobe *p)
/* If we have a symbol_name argument, look it up and add the offset field to it. This way, we can specify a relative address to a symbol.  */
static kprobe_opcode_t __kprobes* kprobe_addr(struct kprobe *p)
{
	kprobe_opcode_t *addr = p->addr;
	if (p->symbol_name) {
		if (addr)
			return NULL;
		kprobe_lookup_name(p->symbol_name, addr);
	}
	if (!addr)
		return NULL;
	return (kprobe_opcode_t *)(((char *)addr) + p->offset);
}