Re: [PATCH 1/2 v2] binfmt_misc: add comments & debug logs

From: Mike Frysinger
Date: Mon Oct 20 2014 - 19:54:20 EST


On 20 Oct 2014 15:59, Joe Perches wrote:
> On Mon, 2014-10-20 at 18:45 -0400, Mike Frysinger wrote:
> > diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
> []
> > @@ -323,46 +343,113 @@ static Node *create_entry(const char __user *buffer, size_t count)
> []
> > + if (e->mask) {
> > + int i;
> > + char *masked = kmalloc(e->size, GFP_USER);
>
> Why GFP_USER? Does it need it?

mostly a copy & paste from earlier in this func:
e = kmalloc(memsize, GFP_USER);

the code is running process context and this buffer is only for
debugging on behalf of the user (and is shortly freed there after), so
GFP_USER seemed appropriate. that said, i'm certainly not an expert
here, so if the convention is to use GFP_KERNEL, it's easy enough to
change. the kmalloc API doesn't seem to provide guidance.

> > switch (res) {
> > - case 1: clear_bit(Enabled, &e->flags);
> > + case 1:
> > + /* Disable this handler. */
> > + clear_bit(Enabled, &e->flags);
> > break;
> > - case 2: set_bit(Enabled, &e->flags);
> > + case 2:
> > + /* Enable this handler. */
> > + set_bit(Enabled, &e->flags);
> > break;
> > - case 3: root = dget(file->f_path.dentry->d_sb->s_root);
> > + case 3:
> > + /* Delete this handler. */
> > + root = dget(file->f_path.dentry->d_sb->s_root);
> > mutex_lock(&root->d_inode->i_mutex);
> >
> > kill_node(e);
>
> Maybe move the case indents one tab position left

style fixes (for the whole file) are in the 2nd patch. i specifically
tried to keep those changes to a minimum in this patch (functionality
vs formatting).
-mike

Attachment: signature.asc
Description: Digital signature