Re: [patch 00/13] devtmpfs patches

From: Kay Sievers
Date: Wed May 13 2009 - 09:35:27 EST


On Wed, May 13, 2009 at 15:20, David Howells <dhowells@xxxxxxxxxx> wrote:
> Kay Sievers <kay.sievers@xxxxxxxx> wrote:
>
>> +static struct cred *kern_cred;
>
> Can I suggest that you call your cred pointer dev_cred rather than kern_cred
> so that the naming is consistent with the other globals variables?

Sounds good.

>> + Â Â kern_cred = prepare_kernel_cred(NULL);
>
> If you have no intention of altering the credentials you create, you might
> want to use &init_cred instead of kern_cred. ÂThat said, you might want to
> allocate it and let the security module alter it before you use it.

Ah, didn't know that it was exported. It's the one in
include/linux/init_task.h, right? I'll give that a try.

> Also, Stephen is right, you should probably wrap all your accesses to the VFS
> in your devtmpfs credentials. ÂFor instance, devtmpfs_create_node() calls
> vfs_mkdir() with the process's credentials via create_path() and directly with
> the kern_cred.
>
> What you probably want is:

> nodename = device_get_nodename(dev, &tmp);
> if (!nodename)
> return -ENOMEM;
> Â Â Â Â Â Â Â Âcurr_cred = override_creds(kern_cred);
...
> Â Â Â Âout_name:
> Â Â Â Â Â Â Â Ârevert_creds(curr_cred);

Yeah, I have exactly that already now.

Thanks,
Kay
--
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/