Messages in this thread | | | Subject | Re: [PATCH 3/3] tracing: Verify target file before registering a uprobe event | From | Steven Rostedt <> | Date | Mon, 07 Jan 2013 10:57:45 -0500 |
| |
Jovi,
As Namhyung pointed out. Can you fix the below and resend.
On Wed, 2013-01-02 at 17:50 -0500, Steven Rostedt wrote: > From: Jovi Zhang <bookjovi@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 <bookjovi@gmail.com> > Acked-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> > Signed-off-by: Steven Rostedt <rostedt@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)) {
Bad whitespace before 'if'.
Also, S_ISDIR() implies S_ISREG(), you can remove the "S_ISDIR()" check.
Thanks,
-- Steve
> + 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; > }
| |