Subject: Re: [PATCH v11 bpf-next 02/17] bpf: add BPF token delegation mount options to BPF FS

From: Simon Horman <[email-masked]>
Date: Tue, 5 Dec 2023 09:13:44 +0000

On Thu, Nov 30, 2023 at 10:13:41AM -0800, Andrii Nakryiko wrote:
> On Thu, Nov 30, 2023 at 10:03 AM Andrii Nakryiko
> <[email-masked]> wrote:
> >
> > On Thu, Nov 30, 2023 at 8:37 AM Simon Horman <[email-masked]> wrote:
> > >
> > > On Mon, Nov 27, 2023 at 11:03:54AM -0800, Andrii Nakryiko wrote:
> > >
> > > ...
> > >
> > > > @@ -764,7 +817,10 @@ static int bpf_get_tree(struct fs_context *fc)
> > > >
> > > >  static void bpf_free_fc(struct fs_context *fc)
> > > >  {
> > > > -     kfree(fc->fs_private);
> > > > +     struct bpf_mount_opts *opts = fc->s_fs_info;
> > > > +
> > > > +     if (opts)
> > > > +             kfree(opts);
> > > >  }
> > >
> > > Hi Andrii,
> > >
> > > as it looks like there will be a v12, I have a minor nit to report: There
> > > is no need to check if opts is non-NULL because kfree() is basically a
> > > no-op if it's argument is NULL.
> > >
> > > So perhaps this can become (completely untested!):
> > >
> > > static void bpf_free_fc(struct fs_context *fc)
> > > {
> > >         kfree(fc->s_fs_info);
> > > }
> > >
> >
> > sure, I can drop the check, I wasn't sure if it's canonical or not to
> > check the argument for NULL before calling kfree(). For user-space
> > it's definitely quite expected to not have to check for null before
> > calling free().
> 
> Heh, turns out I already simplified this, but it's in the next patch.
> I'll move it into patch #2, though, where it actually belongs.

Thanks. I do believe that for kernel code not checking for NULL here
is preferred.