Re: [PATCH] proc: add "personality" to process status file

Kees Cook
2008-10-05T10:07:25Z

On Sun, Oct 05, 2008 at 01:11:20PM +0400, Alexey Dobriyan wrote:
> On Sat, Oct 04, 2008 at 05:48:43PM -0700, Arjan van de Ven wrote:
> > On Sat, 4 Oct 2008 17:42:33 -0700
> > Kees Cook <kees.cook@canonical.com> wrote:
> >
> > > On Sat, Oct 04, 2008 at 04:42:39PM -0700, Arjan van de Ven wrote:
> > > > On Sat, 4 Oct 2008 15:02:20 -0700
> > > > Kees Cook <kees.cook@canonical.com> wrote:
> > > > > Nothing else seemed appropriate, but I could make a brand new proc
> > > > > file, if that's sensible. "status_private" ?
> > > >
> > > > how about a file called "personality" that has each set bit as an
> > > > ascii version ?
> > > > (one per line maybe)
> > >
> > > Well, it's a one-to-many due to how the personality types are defined,
> > > so doing a bitfield-to-ASCII-names conversion wouldn't really work
> > > out:
> > >
> > > PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS |
> > > WHOLE_SECONDS | SHORT_INODE,
> > > PER_OSR5 = 0x0003 | STICKY_TIMEOUTS |
> > > WHOLE_SECONDS, ...
> > > PER_BSD = 0x0006,
> > > PER_SUNOS = 0x0006 | STICKY_TIMEOUTS,
> > >
> > > But I can certainly just make it a stand-alone file with just the
> > > bitfield. Or, I can still do the conversion and ignore PER_OSR5 and
> > > PER_SUNOS.
> >
> > well.. if "you" as kernel can't really make out what it is, how is poor
> > userspace supposed to do it ?
>
> Kernel should just print with %lx and leave pretty-printing to
> luserspace.

I would tend to agree with this -- I don't want to fill the kernel with
string-dumping case statements. (Though I have a different patch that
does this, if anyone actually wants it.)

> And name should be /proc/*/personality (obviously :-)
>
> Assuming anybody cares about personalities at all.

I do. :)

--
Kees Cook
Ubuntu Security Team