Re: [PATCH 3/9] VFS: Introduce a mount context

From: Joe Perches
Date: Wed May 03 2017 - 14:26:54 EST


On Wed, 2017-05-03 at 14:13 -0400, Jeff Layton wrote:
> On Wed, 2017-05-03 at 17:04 +0100, David Howells wrote:
> > Introduce a mount context concept.

trivia:

> > static int selinux_mount_ctx_option(struct mount_context *mc, char *opt)
> > +{
[]
> > + if (opts->mnt_opts) {
> > + oo = kmalloc((opts->num_mnt_opts + 1) * sizeof(char *),
> > + GFP_KERNEL);
> > + if (!oo)
> > + return -ENOMEM;
> > + memcpy(oo, opts->mnt_opts, opts->num_mnt_opts * sizeof(char *));
> > + oo[opts->num_mnt_opts] = NULL;
> > + old = opts->mnt_opts;
> > + opts->mnt_opts = oo;
> > + kfree(old);
> > + }

krealloc would probably be more efficient and possible
readable as likely there's already padding in the original
allocation.

Are there no locking constraints?