Re: A basic question about the security_* hooks

Paul Moore
2010-01-04T02:12:26Z

On Thursday 24 December 2009 07:53:35 am Eric W. Biederman wrote:
> Casey Schaufler <casey@schaufler-ca.com> writes:
> > I'm behind you 100%. Use the LSM. Your module is exactly why we have
> > the blessed thing. Once we get a collection of otherwise unrelated
> > LSMs the need for a stacker will be sufficiently evident that we'll
> > be able to get one done properly.
>
> My immediate impression is that the big limitation today is the
> sharing of the void * security data members of strucutres.
>
> Otherwise multiple security modules could be as simple as.
> list_for_each(mod)
> if (mod->op(...) != 0)
> return -EPERM.
>
> It isn't hard to multiplex a single data field into several with a
> nice little abstraction.

Just another quick point that I didn't see covered yet in this thread ...
while many of the kernel entities have void pointers to track the security
blobs, there are several places where a single u32/int or character string is
used to represent the security label of an entity (look at the per-packet
labeling for an example). While it would be relatively easy to multiple
multiple security blobs on top of a void pointer, multiplexing multiple
security labels/tokens on top of a string/int is a little more difficult.

--
paul moore
linux @ hp