[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac3eb2510905130634l75ef8f78v604c53fb4bc3167f@mail.gmail.com>
Date: Wed, 13 May 2009 15:34:49 +0200
From: Kay Sievers <kay.sievers@...y.org>
To: David Howells <dhowells@...hat.com>
Cc: Stephen Smalley <sds@...ho.nsa.gov>,
"David P. Quigley" <dpquigl@...ho.nsa.gov>,
Greg KH <greg@...ah.com>, linux-kernel@...r.kernel.org,
Greg KH <gregkh@...e.de>, Jan Blunck <jblunck@...e.de>,
James Morris <jmorris@...ei.org>,
Eric Paris <eparis@...isplace.org>
Subject: Re: [patch 00/13] devtmpfs patches
On Wed, May 13, 2009 at 15:20, David Howells <dhowells@...hat.com> wrote:
> Kay Sievers <kay.sievers@...y.org> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists