Messages in this thread | | | Date | Fri, 1 May 2009 21:42:04 -0700 | Subject | Re: [PATCH] driver-core: devtmpfs - driver core maintained /dev tmpfs | From | Brian Swetland <> |
| |
On Fri, May 1, 2009 at 7:28 PM, Kay Sievers <kay.sievers@vrfy.org> wrote: > On Sat, May 2, 2009 at 04:02, Brian Swetland <swetland@google.com> wrote: >> On Fri, May 1, 2009 at 6:48 PM, Kay Sievers <kay.sievers@vrfy.org> wrote: > >>>> I would love to have a way for the kernel to do something like devfs >>>> (it'd let me kill some ugly userspace code on my side).... >>> >>> How are permissions defined in your environment? What's the set of >>> permissions you need to apply? >> >> In our world we use groups to provide access to specific classes of >> hardware resources (audio, video, display, dsp, etc) and processes >> that have the appropriate permissions are arranged to run with >> necessary additional groups for the hardware they need to access. > > These group numbers are always static on your system, and don't get > changed while the system is running? Like you always assign gid X to > all sound devices? Or do you need to manage them dynamically?
The gids for device access are static, part of the platform definition. I could imagine a model where the board file for a target defined the ownership for devices or that was loaded in from userspace at boot (just a table of path-match-string, uid, gid, perms). Not sure if that'd be considered too ugly, but it would certainly solve the problem in a straightforward way. Early on the "device ownership policy" is installed and then userspace can leave everything to the kernel.
The uids for applications are dynamic, assigned on app install (every app gets its own uid).
> Do your device nodes permissions/ownership ever change on the running > system after the device is alive?
We never change device node permissions or ownership at runtime. I could see situations in which that would be useful, but it's not something that is currently used by the platform.
Brian
| |