Re: [PATCH] afs: proc cells and rootcell are writeable

From: Ingo Molnar
Date: Sun Jan 26 2014 - 15:19:42 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Sun, Jan 26, 2014 at 4:27 AM, David Howells <dhowells@xxxxxxxxxx> wrote:
> >
> > - p = proc_create("cells", 0, proc_afs, &afs_proc_cells_fops);
> > + p = proc_create("cells", S_IFREG | S_IRUGO | S_IWUSR, proc_afs, &afs_proc_cells_fops);
> > - p = proc_create("rootcell", 0, proc_afs, &afs_proc_rootcell_fops);
> > + p = proc_create("rootcell", S_IFREG | S_IRUGO | S_IWUSR, proc_afs, &afs_proc_rootcell_fops);
>
> So the S_IFREG isn't necessary.
>
> And quite frankly, I personally think S_IRUGO | S_IWUSR is _less_
> readable than 0644. It's damn hard to parse those random letter
> combinations, and at least I have to really think about it, in a way
> that the octal representation does *not* make me go "I have to think
> about that".
>
> So my personal preference would be to just see that simple 0644 in
> proc_create. Hmm?

Perhaps we could also generate the most common variants as:

#define PERM__rw_r__r__ 0644
#define PERM__r________ 0400
#define PERM__r__r__r__ 0444
#define PERM__r_xr_xr_x 0555

etc.

or something similar, more or less matching the output of 'ls -l'?

That would also make security bugs in this area apparent at first
sight. The number of people who can recognize during review that
PERM_rw__w__w is probably unwise is probably two orders of magnitude
than those who can interpret octal 0622 at a glance.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/