Messages in this thread | | | Subject | Re: [PATCH 1/3] Kprobes: Make kprobe modules more portable | From | David Smith <> | Date | Wed, 09 Aug 2006 11:01:45 -0500 |
| |
On Tue, 2006-08-08 at 17:24 +0100, Christoph Hellwig wrote: > On Mon, Aug 07, 2006 at 05:25:37PM +0530, Ananth N Mavinakayanahalli wrote:
... stuff deleted ...
> > + /* > + * If we have a symbol_name argument look it up, > + * and add it to the address. That way the addr > + * field can either be global or relative to a symbol. > + */ > + if (p->symbol_name) { > + if (p->addr) > + return -EINVAL; > + p->addr = kprobe_lookup_name(p->symbol_name) + p->offset; > + }
What if kprobe_lookup_name() fails or if CONFIG_KALLSYMS isn't set? The code following this might work, but the kprobe isn't going to be set at the location that was intended.
Perhaps this needs something like:
if (p->symbol_name) { if (p->addr) return -EINVAL; p->addr = kprobe_lookup_name(p->symbol_name) + p->offset; if (p->addr == p->offset) return -EINVAL; }
-- David Smith dsmith@redhat.com Red Hat, Inc. http://www.redhat.com 256.217.0141 (direct) 256.837.0057 (fax)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |