Re: [PATCH] Smack: Simplified Mandatory Access Control Kernel

Casey Schaufler
2007-08-11T19:56:53Z

--- Arjan van de Ven <arjan@infradead.org> wrote:

> > +extern struct smk_list_entry *smack_list;
>
> any reason to invent your own list rather than just using list.h?

The list.h mechanisms are fine, but heavier than I require.
I'm willing to give in on it, but I don't see an advantage.

> > +
> > +#include <linux/kernel.h>
> > +#include <linux/vmalloc.h>
> > +#include <linux/security.h>
> > +#include <linux/mutex.h>
> > +#include <net/netlabel.h>
> > +#include "../../net/netlabel/netlabel_domainhash.h"
>
> can't you move this header to include/ instead?

Paul Moore, the developer of netlabel, promised to work out
the right solution for this with me at a future date. He
doesn't want to move the header, and I respect that.

> > +
> > +static struct file_operations smk_load_ops = {
> > + .read = smk_read_load,
> > + .write = smk_write_load,
> > +};
>
> make that a const please

Will do.

> > +
> > + doip = kmalloc(sizeof(struct cipso_v4_doi), GFP_KERNEL);
> > + if (doip == NULL)
> > + panic("smack: Failed to initialize cipso DOI.\n");
> > + doip->map.std = NULL;
> > +
> > + ndmp = kmalloc(sizeof(struct netlbl_dom_map), GFP_KERNEL);
> > + if (ndmp == NULL)
> > + panic("smack: Failed to initialize cipso ndmp.\n");
>
>
> is panic() really the right thing here? It's usually considered quite
> rude ;)

It's really early in start-up and if you're out of memory at that
point you are not going very far into the future.

> > +static struct file_operations smk_cipso_ops = {
> > + .read = smk_read_cipso,
> > + .write = smk_write_cipso,
> > +};
>
> another candidate for const

Will do that, too.

> > +static void *smackfs_follow_link(struct dentry *dentry, struct nameidata
> *nd)
> > +{
>
>
> this one deserves a comment; are you implementing magic symlinks here?

Yup.

Casey Schaufler
casey@schaufler-ca.com