Hi, Steve. On Wed, 02 Jan 2013 17:50:38 -0500, Steven Rostedt wrote: > From: Jovi Zhang <bookj...@gmail.com> > > Without this patch, we can register a uprobe event for a directory. > Enabling such a uprobe event would fail anyway . > > Example: > $ echo 'p /bin:0x4245c0' > /sys/kernel/debug/tracing/uprobe_events > > However dirctories cannot be valid targets for uprobe. > Hence verify if the target is a regular file during the probe > registration. > > Signed-off-by: Jovi Zhang <bookj...@gmail.com> > Acked-by: Srikar Dronamraju <sri...@linux.vnet.ibm.com> > Signed-off-by: Steven Rostedt <rost...@goodmis.org> > --- > kernel/trace/trace_uprobe.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c > index 03003cd..0815f25 100644 > --- a/kernel/trace/trace_uprobe.c > +++ b/kernel/trace/trace_uprobe.c > @@ -257,6 +257,10 @@ static int create_trace_uprobe(int argc, char **argv) > goto fail_address_parse; > > inode = igrab(path.dentry->d_inode); > + if (!S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)) {
Doesn't !S_ISREG() include S_ISDIR() case too? Anyway I can see an additional whitespace in front of the "if". Thanks, Namhyung > + ret = -EINVAL; > + goto fail_address_parse; > + } > > argc -= 2; > argv += 2; > @@ -356,7 +360,7 @@ fail_address_parse: > if (inode) > iput(inode); > > - pr_info("Failed to parse address.\n"); > + pr_info("Failed to parse address or file.\n"); > > return ret; > } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/