On Wed, 8 Jan 2025 10:07:36 -0500
Steven Rostedt <[email protected]> wrote:

> On Wed,  8 Jan 2025 11:11:30 +0900
> "Masami Hiramatsu (Google)" <[email protected]> wrote:
> 
> > @@ -1234,24 +1223,26 @@ static int __trace_fprobe_create(int argc, const 
> > char *argv[])
> >                     trace_probe_log_err(0, BAD_PROBE_ADDR);
> >             else if (ret != -ENOMEM && ret != -EEXIST)
> >                     trace_probe_log_err(0, FAIL_REG_PROBE);
> > -           goto error;
> > -   }
> > +           ret = -EINVAL;
> > +   } else
> > +           /* 'tf' is successfully registered. To avoid freeing, assign 
> > NULL. */
> > +           tf = NULL;
> >  
> > -out:
> > -   if (tp_mod)
> > -           module_put(tp_mod);
> > +   return ret;
> > +}
> > +
> 
> Hmm, the above could probably be simplified as:
> 
>       ret = register_trace_fprobe(tf);
>       if (ret) {
>               trace_probe_log_set_index(1);
>               if (ret == -EILSEQ)
>                       trace_probe_log_err(0, BAD_INSN_BNDRY);
>               else if (ret == -ENOENT)
>                       trace_probe_log_err(0, BAD_PROBE_ADDR);
>               else if (ret != -ENOMEM && ret != -EEXIST)
>                       trace_probe_log_err(0, FAIL_REG_PROBE);
>               return -EINVAL;
>       }
> 
>       /* 'tf' is successfully registered. To avoid freeing, assign NULL. */
>       tf = NULL;
> 
>       return 0;

Indeed. Thanks!

>  }
> 
> -- Steve


-- 
Masami Hiramatsu (Google) <[email protected]>

Reply via email to