On Sat, 4 Jan 2025 12:09:56 +0100
Oleg Nesterov <[email protected]> wrote:

> On 01/04, Masami Hiramatsu (Google) wrote:
> >
> > +DEFINE_FREE(argv, char **, argv_free(_T))
> 
> This doesn't look right, I think we need
> 
>       DEFINE_FREE(argv, char **, if (_T) argv_free(_T))

Ah, yes. I misunderstood argv_free() can get NULL.

Thanks!

> 
> ?
> 
> From the next patch
> 
>       @@ -73,24 +73,20 @@ int dyn_event_release(const char *raw_command, 
> struct dyn_event_operations *type
>               struct dyn_event *pos, *n;
>               char *system = NULL, *event, *p;
>               int argc, ret = -ENOENT;
>       -       char **argv;
>       +       char **argv __free(argv) = NULL;
>        
>               argv = argv_split(GFP_KERNEL, raw_command, &argc);
>               if (!argv)
>                       return -ENOMEM;
> 
> if argv_split() returns NULL, then __free_argv() will call argv_free(NULL) ?
> 
> Oleg.
> 
> 


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

Reply via email to