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

From: Ingo Molnar
Date: Sun Jan 26 2014 - 15:25:22 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

>
> * 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'?

Another variant of this would be to do the following macro:

PERM(R_X, R_X, R_X)
PERM(R__, R__, R__)
PERM(RW_, R__, R__)

With the advantage of separating the groups better and reducing the
number of constants needed.

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/