History log of /system/core/init/devices.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4ef159a3c711650fce74ab13e3a883fab0598124 07-Jul-2014 Nick Kralevich <nnk@google.com> am 7367ecbc: am 06023134: am 8022ce1e: Merge "ueventd fixup_sys_perms: fixup SELinux labels unconditionally"

* commit '7367ecbc4839e3a608ab9b7742c659b58065209f':
ueventd fixup_sys_perms: fixup SELinux labels unconditionally
3b4c0bda07ee883df8ad354d7288b7f37bec33ba 04-Jul-2014 Nick Kralevich <nnk@google.com> ueventd fixup_sys_perms: fixup SELinux labels unconditionally

Currently, the fixup code in fixup_sys_perms() scans through all
entries in uevent*.rc. If it finds a match, then it performs a fixup.
If there's no match in that file, no fixup is performed.

SELinux file labels are independently stored in /file_contexts,
with no relationship to the files in /ueventd.rc. Even when no
entries exist in ueventd.rc, we still want to fixup the SELinux
file label in /sys when a uevent message occurs.

Change-Id: I0ccb5395ec0be9282095b844a5022e8c0d8903ac
/system/core/init/devices.c
0c44584b47f5636a475420a42826e3e5bc98fd5d 03-Jul-2014 Colin Cross <ccross@android.com> am b18d44e4: am ab7e5752: am 09117c70: Merge "ueventd: allow matching symlink names when setting permissions"

* commit 'b18d44e458501f6b5b99349acc68d3d4e90e9d62':
ueventd: allow matching symlink names when setting permissions
43d537e0deeb4ba20e13db22e4fc28b87a4621c7 02-Jul-2014 Colin Cross <ccross@android.com> ueventd: allow matching symlink names when setting permissions

Change-Id: I5f6cc2a25f1236fbe2c7193b65363b7883b9ba2e
/system/core/init/devices.c
c603720aed304fdd36a5815f81eb22bd4d9968b7 23-Jun-2014 Ruchi Kandoi <kandoiruchi@google.com> ueventd: UEVENT_MSG_LEN changed to 2048 from 1048 in compliance with the
BUFFER_LEN in the kobject_uevent in kernel.

Change-Id: Ib98626f20a7c26e7718bbe4d5ec4513a1ae5d9b7
/system/core/init/devices.c
c0c1ffea588c7d3c565b79d4f8bf3d4a8f75abc9 02-Jul-2012 Daniel Leung <daniel.leung@intel.com> init/ueventd: adds wildcard matching for ueventd rules

The sysfs nodes can change from devices to devices for
a particular class of peripheral. Some of them even change
after suspend/resume, e.g. rfkill for USB bluetooth adapters.

This patch adds to the way how ueventd rules with wildcard are
handled. In addition to matching the prefix with a trailing
wildcard, now rules can have wildcard anywhere in the rule.
The wildcard matching is implemented using fnmatch(), where
its matching is simliar to shell pathname expansion. It suits
this particular usage model well. To avoid abuse, the number of
slashes has to match between path name and the rule.

For example, instead of creating a rule to match:

/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/bluetooth/hci0/rfkill*

, this would suffice:

/sys/devices/pci0000:00/0000:00:1d.0/*/*/*/*/bluetooth/hci0/rfkill*

The prefix matching behavior is retained, such that those
rules do not have to pay for processing penalty with fnmatch().

Change-Id: I3ae6a39c838f6d12801cb71958e481b016f731f5
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
/system/core/init/devices.c
b4c5200f51c3568f604a4557119ab545a6ddac94 12-Jun-2014 Stephen Smalley <sds@tycho.nsa.gov> Extend ueventd to use the label-by-symlink support in libselinux.

When ueventd creates a device node, it may also create one or more
symlinks to the device node. These symlinks may be the only stable
name for the device, e.g. if the partition is dynamically assigned.
A corresponding change with the same Change-Id to external/libselinux
introduces selabel_lookup_best_match() to support looking up the "best match"
for a device node based on its real path (key) and any links to it
(aliases). This change updates ueventd to use this new interface
to find the best match for the device node when creating it.

Change-Id: Id6c2597eee2b6723a5089dcf7c450f8d0a4128f4
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
/system/core/init/devices.c
a885d04ec8c9dd013a3dfc4434ec4f2cd23ef1ff 14-Sep-2013 Andrew Boie <andrew.p.boie@intel.com> ueventd: support by-name symlinks for PCI block devices

To ensure that well-crafted removable media can't spoof the
internal partitions, for platform devices the controller id
is inside the generated path.

We now do the same for PCI devices. The generated path has
two levels; the PCI domain/bus, and then the peripheral ID.
This lets us get by-name symlinks for PCI media, such as the
SATA controllers on PC-like hardware. The symlinks will be
created under /dev/block/pci/. For example:

/dev/block/pci/pci0000:00/0000:00:1f.2/by-name/

Change-Id: Icee3e86bef5569c2bbd94c26bc00d49028345e3b
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
/system/core/init/devices.c
75b287b771b302c99797d812122b72f83d2f56f9 30-Apr-2014 Ruchi Kandoi <kandoiruchi@google.com> ueventd: Ueventd changes the permission of sysfs files for max/min
cpufreq

The owner and permissions for the sysfs file
/sys/devices/system/cpu*/cpufreq/scaling_max/min_freq is changed.
This would allow the PowerHAL to change the max/min cpufreq even after
the associated CPU's are hotplugged out and back in.

Change-Id: Ibe0b4aaf3db555ed48e89a7fcd0c5fd3a18cf233
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
/system/core/init/devices.c
154f4608aac6218af0e25c98b71d0803278c047e 20-Feb-2014 Mark Salyzyn <salyzyn@google.com> liblog: enable logging to logd.

* Modify liblog to send all messages to the new syslog user
space daemon.

Original-Change-Id: I0ce439738cd921efb2db4c1d6a289a96bdbc8bc2
Original-Change-Id: If4eb0d09409f7e9be3eb4bb7017073dc7e931ab4
Signed-off-by: Nick Kralevich <nnk@google.com>

* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
whether logd is enabled for use or not.
* rename syslog to logd to avert confusion with bionic syslog
* Add fake log support back in
* prefilter for logging messages from logd
* Fill in timestamps at logging source
* update abstract log reader
* switch from using suffix for id to v3 format
* log a message when creating devices that a deprecated interface
is being utilized.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>

(cherry pick from commit 099e2c1f6f706a8600c1cef74cce9066fc315480)

Change-Id: I47929a5432977a1d7235267a435cec0a7d6bd440
/system/core/init/devices.c
763bfce0b1d17ed1d8d5a5c8d27b2d13365feb6b 25-Feb-2014 Elliott Hughes <enh@google.com> Remove an unused #include of <asm/page.h>.

Change-Id: I000aead8c82ec11151f69e6ce439dd09b0f0b4f4
/system/core/init/devices.c
3312aa8379d877044def52f3b3be5c912a5e61a2 19-Nov-2013 Greg Hackmann <ghackmann@google.com> init: add subsystem rules to ueventd.rc

By default ueventd creates device nodes under /dev based on the ueventd
DEVPATH. Several subsystems have special rules which are hardcoded in
devices.c. Moving forward these special rules should go in ueventd.rc.

Special rules have the syntax:

subsystem <s>
devname (uevent_devname|uevent_devpath)
[dirname <dir>]

Devices matching SUBSYSTEM=<s> will be populated under <dir>. dirname
is optional and defaults to /dev. If dirname is provided, <dir> must
start with "/".

If devname is uevent_devname, ueventd will create the device node as
<dir>/DEVNAME. DEVNAME may include intermediate subdirectories, which
ueventd will automatically create.

If devname is uevent_devpath, ueventd will use the legacy behavior of
computing DEVPATH_BASE=basepath(DEVPATH), and creating the device node
as <dir>/DEVPATH_BASE.

The new parsing code is based on init_parser.c, with small tweaks to
handle commands which don't fall under a section header.

Change-Id: I3bd1b59d7e62dfc9d289cf6ae889e237fb5bd7c5
Signed-off-by: Greg Hackmann <ghackmann@google.com>
/system/core/init/devices.c
f6e009ee2650d8812942aa7f5761e86402346739 21-Nov-2013 Greg Hackmann <ghackmann@google.com> init: handle ueventd path truncation better

Log an error before discarding problematic events, and add a missing
truncation check to the usb subsystem's unique codepath

Change-Id: I0d05aa287ffc63b46d1752d2a7409d35dc8caca7
Signed-off-by: Greg Hackmann <ghackmann@google.com>
/system/core/init/devices.c
e2eb69db6d818b41f5c0f2090cc643f7cff31734 16-Apr-2013 Stephen Smalley <sds@tycho.nsa.gov> Handle policy reloads within ueventd rather than restarting it.

Restarting ueventd upon policy reloads has reportedly created
stability problems for some users and could cause events to be lost.
Stop restarting ueventd and instead handle policy reloads within ueventd.

Also stops restarting installd upon policy reloads.

Change-Id: Ic7f310d69a7c420e48fbc974000cf4a5b9ab4a3b
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
/system/core/init/devices.c
f987398723b06538821162dadde7d7d2c9e0fb29 23-Jul-2013 Colin Cross <ccross@android.com> am 5954ecb8: Merge "Allow more characters in partition name links"

* commit '5954ecb87b8c77425d8cc766c0cc798957a07a7d':
Allow more characters in partition name links
93ca79b44535ee24ece08001e1948070db6ab6ed 18-Apr-2012 Johan Redestig <johan.redestig@sonymobile.com> Allow more characters in partition name links

We have several partitions with underscores in their names
which would not be properly linked in:
/dev/block/platform/msm_sdcc.1/by-name/

With this change more characters (_-.) are allowed in
partition name links. Also, any other character is
replaced with '_' so the resulting link names have the
same length as the partition name.

Change-Id: I746566c03db98b10326c755692362d2c10e528ae
/system/core/init/devices.c
05a52055661701c20f71124161798fdea8ea2982 14-Jun-2013 Ajay Dudani <adudani@codeaurora.org> am 76c58893: Free file handle for /firmware/image after use

* commit '76c5889325c2ada5dda07fd9af20a4a485978538':
Free file handle for /firmware/image after use
76c5889325c2ada5dda07fd9af20a4a485978538 13-Jun-2013 Ajay Dudani <adudani@codeaurora.org> Free file handle for /firmware/image after use

Change-Id: Id59e25486b45dffc87a89a961970a6e8128a5237
/system/core/init/devices.c
5f7b017f41b5bd0b86b5078b17c41ef7bc201c8d 03-Apr-2013 Stephen Smalley <sds@tycho.nsa.gov> Update ueventd set the SELinux context on sysfs

This change enables labeling of dynamically created sysfs nodes
with specific SELinux security contexts.

Change-Id: If8b8d66120453123c1371ce063b6f20e8b96b6ef
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
/system/core/init/devices.c
f395c9237da69f1cc15f26a2525a82a371d5816d 07-Mar-2013 Dima Zavin <dima@android.com> ueventd: allow platform devices to have just a /devices/ prefix

When using device tree, platform devices may not have a
/devices/platform/ path prefix, but can be rooted in
/devices/.

Modify the platform device tracking code to store the device
path as well as the name. This way, when we create symlinks, we
can correctly skip the base platform device prefix and get to the
proper device node path.

Change-Id: I939ef8fbcb45c5c803cd9a054e40136a912efc72
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
53a0288463c3fd88fb7f2cfa37c0e985eb1870f4 07-Mar-2013 Dima Zavin <dima@android.com> ueventd: allow platform devices to have just a /devices/ prefix - DO NOT MERGE

When using device tree, platform devices may not have a
/devices/platform/ path prefix, but can be rooted in
/devices/.

Modify the platform device tracking code to store the device
path as well as the name. This way, when we create symlinks, we
can correctly skip the base platform device prefix and get to the
proper device node path.

Change-Id: I939ef8fbcb45c5c803cd9a054e40136a912efc72
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
d562ca78aa713d186e83f05061c0aed88e200bcd 05-Dec-2012 Andrew Boie <andrew.p.boie@intel.com> ueventd: Increase uevent buffer size

As it turns out, no, 64K is not enough. A device provisioning
tool was generating many uevents as it manipulated the GPT,
causing events near the end of the process (including events
as a result of the final BLKRRPART ioctl()) to get lost.

It's not clear what the best value for this should be, but
increasing to 256K fixed the problem in this case.

Change-Id: I4883b34e96c89e8a6fa581bc9cd121bb021b5694
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
/system/core/init/devices.c
2a36ae5608e9d655b2bb14ce538f6fbdb910cada 17-Oct-2012 Kenny Root <kroot@google.com> am 7b88a90d: Merge "Remove HAVE_SELINUX guards"

* commit '7b88a90da2a27e347fc16c14fa577f4ae1ef07fd':
Remove HAVE_SELINUX guards
b5982bf7c65b30be981ecfe1847437b05e32b2bb 17-Oct-2012 Kenny Root <kroot@google.com> Remove HAVE_SELINUX guards

Change-Id: I8272c573b3c5dc663203bafab68fad5e94d89364
/system/core/init/devices.c
96539e8153dadeccb8b7d334cda8b2acaaa68f06 14-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am ee0d281a: am c95c15b1: Merge "Char device /dev/dri/card0 was not created during startup."

* commit 'ee0d281a3e5fe611bdda23db18fa0e5684ee43ed':
Char device /dev/dri/card0 was not created during startup.
c95c15b1923611f48c44c18ad158e57b9d915fdf 14-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Char device /dev/dri/card0 was not created during startup."
605103fb553a8b872aa8dd0aef76ae8b3bfe47fa 13-Aug-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 4dcd52ab to jb-mr1-dev

Change-Id: Ibd0c03a7883a2e31adab18543c016776b7b36866
ae6f3d7c05070f7e0e56fe0056c8923c6ee2f473 01-May-2012 Stephen Smalley <sds@tycho.nsa.gov> Add support for reloading policy from /data/system.

To support runtime policy management, add support for reloading
policy from /data/system. This can be triggered by setting the
selinux.loadpolicy property to 1, whether from init.rc after
mounting /data or from the system_server (e.g. upon invocation of
a new device admin API for provisioning policy). ueventd and
installd are restarted upon policy reloads to pick up the new
policy configurations relevant to their operation.

Change-Id: I97479aecef8cec23b32f60e09cc778cc5520b691
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
/system/core/init/devices.c
ff5c802e6ce489a36ac28e3d93b7e8541b3e4d81 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> am faad67fa: am ef3f7fa3: Merge "Set the SELinux security label on new directories."

* commit 'faad67fac68642ca039fe5c29099acebf546f5ee':
Set the SELinux security label on new directories.
ef3f7fa32b451bd6f180c4c1586a98cee41aa296 08-Aug-2012 Jean-Baptiste Queru <jbq@google.com> Merge "Set the SELinux security label on new directories."
3cac204d3537c6a356c922bffb07fcb97f5bb0c7 28-Jul-2012 Ed Heyl <ed@google.com> Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev
e096e36e50b4b66638ebc4d3c09c2ee35f538dfa 11-Jun-2012 Stephen Smalley <sds@tycho.nsa.gov> Set the SELinux security label on new directories.

Automatically set the SELinux security label on directories created
by init.rc. This avoids the need to separately call restorecon on
each such directory from the init.rc file. Also restorecon /dev
and /dev/socket after initial policy load so that they are labeled
correctly before any other dev nodes or sockets are created.

Change-Id: If6af6c4887cdead949737cebdd673957e9273ead
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
/system/core/init/devices.c
308bc52d33afa1b7b470e14fa8478045456cbb20 24-Jul-2012 Colin Cross <ccross@android.com> ueventd: fixup /sys permissions on change uevents

Change uevents may be triggered after new files are created on a device
in /sys, run the sys permissions fixup when they occur.

Change-Id: Iec2725c9f8a032e5124190444edaf189a766b0b2
/system/core/init/devices.c
e6f8d45da8c61d67dc9fdc1cec53f40594043817 28-Sep-2011 Lukasz Anaczkowski <lukasz.anaczkowski@intel.com> Char device /dev/dri/card0 was not created during startup.

This device is required by libdrm for GPUs like IvyBridge.

Change-Id: I0ac47056a9cec2100f3e6eaa5591571fe6bbc145
Signed-off-by: Lukasz Anaczkowski <lukasz.anaczkowski@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
/system/core/init/devices.c
029d44e6aef334d2f0f03cbc9a5609cddc1b23e3 08-Jun-2012 Iliyan Malchev <malchev@google.com> HACK: use /firmware/image as a 3rd choice

Change-Id: I74af2e2dc872f88b904ead13e300ae32547e70c8
Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
f97b887848cc64e7d88d27f198b7721c9f2f8ec8 23-Mar-2012 Wei Zhong <wzhong@google.com> Add handling for DEVNAME for usb devices

When creating device node, user-space handler should honor device
node provided by kernel if present.

Bug: 6105248

Change-Id: I9ab3810563f29f065c239e15149882db28f08893
Signed-off-by: Wei Zhong <wzhong@google.com>
/system/core/init/devices.c
e46f9d510db9351682cf17c49115110870147335 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Extend init and ueventd for SE Android.

Add SE Android support for init and ueventd.

init:
- Load policy at boot.
- Set the security context for service daemons and their sockets.
- New built-in commands: setcon, setenforce, restorecon, setsebool.
- New option for services: seclabel.

ueventd:
- Set the security context for device directories and nodes.

Change-Id: I98ed752cde503c94d99dfa5b5a47e3c33db16aac
/system/core/init/devices.c
da04c52ab1036048520fca265cf02b61dca789e0 02-Sep-2011 Dima Zavin <dima@android.com> init/cutils: move list utility code to cutils from init

Change-Id: I357ceee813700297d8343159f22a07659e768d41
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
2d55e02d0f3c27f0c99ab889ab7b73126280a21c 01-Sep-2011 Dima Zavin <dima@android.com> libcutils/init: move uevent socket opening code to libcutils

Change-Id: I90adf78c0eb6185505f2bf7b62e96e25ab918345
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
57de8b8f27f887ca8084671df777a4ac199ba647 11-May-2011 Nick Kralevich <nnk@google.com> rename uevent_checked_recv to uevent_kernel_multicast_recv

Change-Id: I1839627490080efcbb7269699709064856312f8b
/system/core/init/devices.c
4682abaaa6f714d7bcfcf861af77b1b3c3c64281 27-Apr-2011 Nick Kralevich <nnk@google.com> am b0d0e260: resolved conflicts for merge of 2baeb898 to honeycomb-plus-aosp

* commit 'b0d0e260bd6118959fa0e2d3c84037b3e0178551':
Fold uevent message origin checking from init into libcutils.
b0d0e260bd6118959fa0e2d3c84037b3e0178551 27-Apr-2011 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 2baeb898 to honeycomb-plus-aosp

Change-Id: Ib3169b3a36aa13ef413da624355b1737e9b76fd9
3f582e92f07d358f3d0941b86407b39e2e7e67cc 25-Apr-2011 Vernon Tang <vt@foilhead.net> Fold uevent message origin checking from init into libcutils.

Change-Id: I7cbc0cb840d1b4962e6c360fdad9a9c0ce20e87b
/system/core/init/devices.c
bb738d6727f589240dbd31b59e5747eab62ab59f 27-Apr-2011 Nick Kralevich <nnk@google.com> am de35f274: am 03752be0: am 0c297f5e: Merge "Revert "Fold uevent message origin checking from init into libcutils.""

* commit 'de35f2741c4e32e331a92be99f7c04b92b94beb2':
Revert "Fold uevent message origin checking from init into libcutils."
de35f2741c4e32e331a92be99f7c04b92b94beb2 27-Apr-2011 Nick Kralevich <nnk@google.com> am 03752be0: am 0c297f5e: Merge "Revert "Fold uevent message origin checking from init into libcutils.""

* commit '03752be0a437d12e19ac73ebe23385fe6f756e2c':
Revert "Fold uevent message origin checking from init into libcutils."
de9e65dd6586a1c62fe010f9512e326591a4863d 27-Apr-2011 Nick Kralevich <nnk@google.com> Revert "Fold uevent message origin checking from init into libcutils."

This reverts commit 8405ec0e7562a370174d9973dd94984c47e49c36.

The original change does not compile.
/system/core/init/devices.c
3268eda4dc028e338728d822e18974ed6e7cd639 27-Apr-2011 Nick Kralevich <nnk@google.com> am e3ab4245: am a7cf7ed9: am 282c2ab4: Merge "Fold uevent message origin checking from init into libcutils."

* commit 'e3ab42457077ec2a66bac553e59a7fee08d4fa9e':
Fold uevent message origin checking from init into libcutils.
e3ab42457077ec2a66bac553e59a7fee08d4fa9e 27-Apr-2011 Nick Kralevich <nnk@google.com> am a7cf7ed9: am 282c2ab4: Merge "Fold uevent message origin checking from init into libcutils."

* commit 'a7cf7ed93486240ca48a407e67c7c3683a3b93aa':
Fold uevent message origin checking from init into libcutils.
8405ec0e7562a370174d9973dd94984c47e49c36 25-Apr-2011 Vernon Tang <vt@foilhead.net> Fold uevent message origin checking from init into libcutils.

Change-Id: I1a38e611a7ad990f74306ce453740a1eeed2416d
/system/core/init/devices.c
fadb85e3bd333653014df5fcc931d844dc8c3630 31-Mar-2011 Colin Cross <ccross@android.com> ueventd: track platform device uevents to parse block device names

The mmc block devices on panda boards use a platform device called
omap/omap_hsmmc.0. The number of path entries in the uevent after
the platform device is unknown, and the number of path entries in
the platform device is unknown, so the only way to determine how
many entries make up the platform device is to compare against
a list of platform devices.

Add a list of platform devices that have been registered, and
iterate through it to determine the platform device portion of
a block device uevent.

Change-Id: I1480bc6429172ca6997d548787be3863ce062472
/system/core/init/devices.c
eb5ba8306522acdbf3a63ca847e5e6b990d842b9 31-Mar-2011 Colin Cross <ccross@android.com> ueventd: refactor uevent handling

Change-Id: I2002be3580ff87b0a55dc030a9099bf6d795011f
/system/core/init/devices.c
8d48c8e45724c7103f0ace7885d339e49399908b 24-Mar-2011 Brian Swetland <swetland@google.com> defer firmware load until after filesystems are mounted

In some situations a driver could try to request firmware before
/system is mounted. Previously we'd fail the request. Now we
will retry the read-from-filesystem every 100ms until we find the
firmware or we've finished the "fs" and "post-fs" stages of init.

Change-Id: Ie32402f7d41c818bf20f3297286ed5f99705b72c
/system/core/init/devices.c
b93e5812faffd3b6c5fb349072413aace31918d8 17-Nov-2010 Olivier Bailly <olivier@google.com> Add missing headers for compilation on x86 targets

Change-Id: I5f4dc797b353a0f01fa00d38375ec303bf863254
/system/core/init/devices.c
609d8828d3b8266a80606bf902d1294296962cf3 10-Nov-2010 Benoit Goby <benoit@android.com> init: Abort firmware transfer if firmware is missing

If firmware is not found, write -1 /sys/$DEVPATH/loading to cancel the
firmware load. Otherwise the driver has to wait for the 60s timeout.

Change-Id: Id2787cda9b2be45b9adea41f6f161cd54cda212e
Signed-off-by: Benoit Goby <benoit@android.com>
/system/core/init/devices.c
7ca8f1243b68147c317aa5c6172fc4a7a1ef2567 27-Oct-2010 Brian Swetland <swetland@google.com> am 439b4dfb: am bc57d4ce: init: support owner/permission setting for sysfs attributes of devices
bc57d4ce925a62f14c28c55e0ff28af1114f12be 27-Oct-2010 Brian Swetland <swetland@google.com> init: support owner/permission setting for sysfs attributes of devices

This should be much nicer than peppering init.rc with chown/chmod
directives.

Also, remove some dead code and obsolete comments.

Change-Id: I10895f10a9cf2f1226c8d12976cd3db3743da9ec
/system/core/init/devices.c
d06df51bcd7bcc2656089a529fa6a455bad00d37 19-Sep-2010 Brian Swetland <swetland@google.com> resolved conflicts for merge of 3b5214a6 to master

Change-Id: Id73c53c6c2e9c21eb9b1d1e624aaeb25097ea7a4
02863b957cfbfc302d3136ed78c0cba86accacd8 19-Sep-2010 Brian Swetland <swetland@google.com> add /vendor support

- look in /vendor/firmware/... in addition to /system/etc/firmware/... for firmware loading
- add /vendor/bin to path before /system/bin
- add /vendor/lib to ldpath before /system/lib
- configure appropriate permissions for /system/vendor/bin
- symlink /vendor -> /system/vendor

Change-Id: I0c06ca1e38a44f0c7024cee6cea8907aa93a4532
/system/core/init/devices.c
3eaa4e52d3fd958b2856d890bb15247aced2e13f 03-Sep-2010 Colin Cross <ccross@android.com> am 49b8124a: am 17dcc5c5: Use makedev helper for device major and minor numbers

Merge commit '49b8124a1759cb8b27e0c21a1a5a54b8a81bdb19'

* commit '49b8124a1759cb8b27e0c21a1a5a54b8a81bdb19':
Use makedev helper for device major and minor numbers
17dcc5c57dcffb919f3de65ff7a0134ffa3bd874 03-Sep-2010 Colin Cross <ccross@android.com> Use makedev helper for device major and minor numbers

Major and minor numbers can be greater than 255. Major numbers
are 12 bits, and minor numbers are 20 bits. Supporting major
and minor numbers > 255 allows the use of the extended block
device for extra mmc partitions.

Change-Id: I4c42bfe0781069e8e4cb13ebe26e860cdc03f866
/system/core/init/devices.c
d2278638d6b37717b51d622929eb4c8f6e16cb0c 03-Aug-2010 Benoit Goby <benoit@android.com> init: Add symlinks to USB character devices

Since we now support USB host mode, devices might get a different device
file depending if other devices are connected on the host port. This
patch creates symlinks to USB character devices that depend on the port
devices are connected to, but not on the order they have been probed.
(e.g. /dev/usb/tty2-1:1.0 -> /dev/ttyUSB0)

Change-Id: I285bcc2d59446fbff8a7abbe39c21781f3bb4bd3
/system/core/init/devices.c
fad7204e9eac20a87afacd7547ed8202a39319f8 20-Jul-2010 Nick Kralevich <nnk@google.com> resolved conflicts for merge of 5f5d5c8c to gingerbread

Change-Id: Ieee2cd67d33f3e774fcfd96f8a5f67a0374aa873
5f5d5c8cef10f28950fa108a8bd86d55f11b7ef4 19-Jul-2010 Nick Kralevich <nnk@google.com> validate the source of uevent messages

Bug: 2844206
Change-Id: If2eee54181abfc6c7fda0232f98fa6bb5d12c60c
/system/core/init/devices.c
982a815c10cc28707d81c46112fc45b1c10df3be 03-Jun-2010 Colin Cross <ccross@android.com> Reap firmware child processes to prevent zombies

Change-Id: Ic6c50b929a025f05450cd309238e60a857690d9b
/system/core/init/devices.c
c0d8fb5842f57bbc244e9c9596707787caabf44e 17-May-2010 Mike Lockwood <lockwood@android.com> DO NOT MERGE resolved conflicts for merge of e95aad61 to kraken

this change is already in master

Change-Id: Ica43eae28b50d89d50217851aff7e62978abfa27
Signed-off-by: Mike Lockwood <lockwood@android.com>
e95aad61d841e7a472b4141808bbca0c7135b0f5 17-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I414c9479f4f913c777ef18b7ff27e410f49d35b9
93ac1559b8c7ad3125ddcd896082b030faadbbd4 06-May-2010 Mike Lockwood <lockwood@android.com> init: Add support for /dev/bus/usb/ file system and add new unix group AID_USB.

init now creates files in /dev/bus/usb/ for user access to USB devices.
Files are chmod 660 with group AID_USB.

Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/init/devices.c
44b65d047cc39baf30e21bfd8dd438f6bc1f77f5 20-Apr-2010 Colin Cross <ccross@android.com> init: Add ueventd.rc parsing to ueventd

Change-Id: Iea53050d6c10e8cabf563e5d80e84eaf78873695
/system/core/init/devices.c
f83d0b9af5cbe4440cc41ceaa8a7806a13c86282 21-Apr-2010 Colin Cross <ccross@android.com> init: Move uevent handling to an external ueventd process

Change-Id: Iea6c56013062ade633a1754f7bcf8cf09b3dedc1
/system/core/init/devices.c
ed8a7d84428ec945c48b6b53dc5a3a18fabaf683 20-Apr-2010 Colin Cross <ccross@android.com> init: Move list and log handling to list.h and log.h

Change-Id: I298f575c590d0f28b7ad78747f3ebdbba56b7a27
/system/core/init/devices.c
b0ab94b7d5a888f0b6920b156e5c6a075fa0741a 09-Apr-2010 Colin Cross <ccross@android.com> init: create symlinks to block device nodes

eMMC block device names may change based on the detection order of
the eMMC device and any other SD bus devices, such as a removable SD
card.

This patch adds support to init for:
* Symlinks to block devices. When a block device uevent is
processed, if it starts with "/devices/platform", the platform
driver name is parsed out, and symlinks to the block device are
created in /dev/block/platform/<platform driver>/
* Symlinks based on partition name and number. If the uevent for
a block device contains information on the partition name or
number, symlinks are created under
/dev/block/platform/<platform driver>/by-num/p<partition>
and
/dev/block/platform/<platform driver>/by-name/<partition name>

init.rc can then use a device path like the following to mount an
eMMC device:
/dev/block/platform/<platform>/by-name/system /system ro

Change-Id: Id11bb7cdf1e2ada7752a5bd671cbf87237b34ae2
/system/core/init/devices.c
0dd7ca6e87abb689700c5e3a816a949b03b1154b 14-Apr-2010 Colin Cross <ccross@android.com> init: Move device_fd to devices.c

Change-Id: I11ed0f3e1b95d2cff4fdbd80b915c01572f76b0e
/system/core/init/devices.c
32f51664c8c44b8a4ab357e34590deb62c582c7c 02-Feb-2010 Iliyan Malchev <malchev@google.com> am 4f4ccaa1: am 1404c27b: Merge "system/core/init: set proper permissions for tpa2018d1 (CDMA)" into eclair

Merge commit '4f4ccaa1bd079ebc67a97709bbb7ab5ada7449d5'

* commit '4f4ccaa1bd079ebc67a97709bbb7ab5ada7449d5':
system/core/init: set proper permissions for tpa2018d1 (CDMA)
4f4ccaa1bd079ebc67a97709bbb7ab5ada7449d5 02-Feb-2010 Iliyan Malchev <malchev@google.com> am 1404c27b: Merge "system/core/init: set proper permissions for tpa2018d1 (CDMA)" into eclair

Merge commit '1404c27bff1499dae9b640870ce2251d78cdc5ef' into eclair-plus-aosp

* commit '1404c27bff1499dae9b640870ce2251d78cdc5ef':
system/core/init: set proper permissions for tpa2018d1 (CDMA)
1340a095ac9f1ea007752288a4407490ddb6935c 02-Feb-2010 Iliyan Malchev <malchev@google.com> system/core/init: set proper permissions for tpa2018d1 (CDMA)

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
6405c6953fa02d41d9f6377f4cdb947604f481c4 22-Jan-2010 Nick Pelly <npelly@google.com> Clean fix for the chown race condition on new input devices.

Drop init's egid to AID_INPUT while creating the device node, so that it is
created with the correct gid. This eliminates the
possibility of system_server opening the device node before its permissions
are set correctly.

Using setegid() allows us to swap back to AID_ROOT immediately after mknod().

Bug: 2375632
/system/core/init/devices.c
5c204f59f7b7a1038bed1ac7764f77e6a2172cf0 15-Oct-2009 Dima Zavin <dima@android.com> am 7789f4cc: am 065694b3: init: devices: Remove pmem_gpu regions as they are not needed since we have an mmu

Merge commit '7789f4cc4b712f15e0e5306a874ad6f47dc8c5c0' into eclair-mr2-plus-aosp

* commit '7789f4cc4b712f15e0e5306a874ad6f47dc8c5c0':
init: devices: Remove pmem_gpu regions as they are not needed since we have an mmu
68b88de455deb57dcdd4620b2b87e0e3753f2502 15-Oct-2009 Dima Zavin <dima@android.com> am 68221b91: am 8234aa37: init: Add qdsp6 video encoder, q6venc, device owned by system.audio

Merge commit '68221b91b13b174c9bc14c43f2d88bada0fa9546' into eclair-mr2-plus-aosp

* commit '68221b91b13b174c9bc14c43f2d88bada0fa9546':
init: Add qdsp6 video encoder, q6venc, device owned by system.audio
c459372bc721322ff0977b8d3d2fc805001f6dc7 15-Oct-2009 Dima Zavin <dima@android.com> am 065694b3: init: devices: Remove pmem_gpu regions as they are not needed since we have an mmu

Merge commit '065694b32e481a50e57a793d61181494fbf6ef04' into eclair-plus-aosp

* commit '065694b32e481a50e57a793d61181494fbf6ef04':
init: devices: Remove pmem_gpu regions as they are not needed since we have an mmu
d8189382802fdd789ab18170f56a0b1f004a3d01 15-Oct-2009 Dima Zavin <dima@android.com> am 8234aa37: init: Add qdsp6 video encoder, q6venc, device owned by system.audio

Merge commit '8234aa375896718e19b4450bcb44fa4376f53486' into eclair-plus-aosp

* commit '8234aa375896718e19b4450bcb44fa4376f53486':
init: Add qdsp6 video encoder, q6venc, device owned by system.audio
065694b32e481a50e57a793d61181494fbf6ef04 15-Oct-2009 Dima Zavin <dima@android.com> init: devices: Remove pmem_gpu regions as they are not needed since we have an mmu

Change-Id: I2f8f0440d9a21230c7711cb6d9a20ec6887b7cb9
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
8234aa375896718e19b4450bcb44fa4376f53486 28-Sep-2009 Dima Zavin <dima@android.com> init: Add qdsp6 video encoder, q6venc, device owned by system.audio

Change-Id: I86173e07163b70ce8990b8508afba44729c0d8ca
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
754795537596f5a4b8be2205c5bdba63282b3403 17-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
102f6d2c64bbf55e1ec47061a0bc0bcd24991127 10-Jun-2009 Sean McNeil <sean.mcneil@windriver.com> Set permissions properly for any ALSA device under /dev/snd
/system/core/init/devices.c
27b8b3a1aab015ed8673ffd03bbf57f63adb85f0 10-Sep-2009 Dima Zavin <dima@android.com> am e67eff1c: Merge change 24564 into eclair

Merge commit 'e67eff1c615c98bf9ad51be9e474ef9ee82b6565' into eclair-plus-aosp

* commit 'e67eff1c615c98bf9ad51be9e474ef9ee82b6565':
init: Make /dev/pmem_gpu* be writable by all
c2d8e0e701dc460b1ff8f664210644a0f5ca7515 10-Sep-2009 Dima Zavin <dima@android.com> init: Make /dev/pmem_gpu* be writable by all

STOPSHIP: The actual device entry needs to be removed once the products
that use this switch on the mmu.

Change-Id: I10afea36c8731d845382665ed3db7647f68d1276
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
2552402f9a4d1a58a95c021a814cc146221df687 03-Sep-2009 Brian Swetland <swetland@google.com> am 69551d85: Merge change 23557 into eclair

Merge commit '69551d85e95d2ba712f083b39f3ff0b32f865e34' into eclair-plus-aosp

* commit '69551d85e95d2ba712f083b39f3ff0b32f865e34':
init: add some more audio devices
c822213603107b72bca90bd2984f4781dfcf22c4 02-Sep-2009 Brian Swetland <swetland@google.com> init: add some more audio devices

Signed-off-by: Brian Swetland <swetland@google.com>
/system/core/init/devices.c
8c92ba1921fc8dc3fc7cc39ef854e9ee70fafc67 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
c84016778f9efd0d15f3c5ad7b7109833fb45c9a 31-Aug-2009 Dima Zavin <dima@android.com> init: add vdec device node

Change-Id: I7e83b99111adfb2b10ee91b78f922864999d4b9d
Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
1e070846f8908dff15086efa12fbba01ab7eae15 15-Dec-2008 Chuck Tuffli <ctuffli@gmail.com> Fix incorrect check for LOG_UEVENTS

LOG_UEVENTS is a boolean value as defined in system/core/init/init.h.
Therefore, code should use an #if check and not an #ifdef check as the
macro will always be defined.
/system/core/init/devices.c
3bc1e9cd7b2832d51c442c0342054e0235a383f6 13-Aug-2009 Iliyan Malchev <malchev@google.com> devices: set permissions for lightsensor

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
37b210f56036cda41b0407e841fe79fb4db310fc 11-Aug-2009 Dima Zavin <dima@android.com> init: set the correct kgsl device node permissions
/system/core/init/devices.c
6ed11ebecd3eaffd84d79706a4a3a74d39f19715 05-Aug-2009 Iliyan Malchev <malchev@google.com> init: /dev/diag, /dev/diag_arm9 now owned by AID_RADIO

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
46e8863d77912ad6d76ed7d258dfc554a5cdb36d 04-Aug-2009 Dima Zavin <dima@android.com> init: Add hw3d master/client nodes to device list.

Signed-off-by: Dima Zavin <dima@android.com>
/system/core/init/devices.c
ce62102feb9106d1142efafacfa253c52ca34ac2 04-Aug-2009 Iliyan Malchev <malchev@google.com> init: add permissions for /dev/diag and /dev/diag_arm9

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
96d58f4f521ee4c1fef58efe5c009f1ea523d67c 26-Jul-2009 Jean-Baptiste Queru <jbq@google.com> Merge korg/donut into korg/master
be65da47e69c427d6326603e7eccd84957cc34d2 16-Jul-2009 Ken Schultz <kschultz@motorola.com> init: Change owner of /dev/uinput to system

This will allow the the uinput driver to be used by the system process
as well as bluetooth, which is needed for sensors.

Signed-off-by: Ken Schultz <kschultz@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
/system/core/init/devices.c
3306e0678c5e68c1b7e8d5c99499b7645e4952f3 08-Jul-2009 Iliyan Malchev <malchev@google.com> set permissions for capella cm3602 proximity sensor

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
60a4cd5e348ae263d209a7f64510826825848208 30-Jun-2009 repo sync <chiachi@android.com> resolved conflicts for merge of abb08550 to master
9a52eda8c5dd9df763a63f9b71cd24847f014737 26-Jun-2009 Iliyan Malchev <malchev@google.com> init: set permissions for akm8973 and bma150 drivers

akm8973 is the compass
bma150 is the accelerometer

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
1ccef18e69acdc4276a6c4a0c449ced6be395fc3 30-May-2009 Masaki Sato <masaki.sato@motorola.com> Change permissions on sound devices.
/system/core/init/devices.c
88dc657d50cb3289a9011828c497eee996ed958c 19-Jun-2009 Chia-chi Yeh <chiachi@android.com> Add device, property, directory, and file permissions for VPN.
/system/core/init/devices.c
0675ba5bd408b763cede360f945b01c15370d4c2 27-May-2009 Iliyan Malchev <malchev@google.com> am fc0182eb: add support and proper permissions for /dev/msm_camera/

Merge commit 'fc0182eb1db0620eb71fb6ca219b15a17dcd912f'

* commit 'fc0182eb1db0620eb71fb6ca219b15a17dcd912f':
add support and proper permissions for /dev/msm_camera/
fc0182eb1db0620eb71fb6ca219b15a17dcd912f 01-May-2009 Iliyan Malchev <malchev@google.com> add support and proper permissions for /dev/msm_camera/

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
d99d1445fdf344b72d20a7689f4c85e35762748b 15-May-2009 San Mehat <san@google.com> resolved conflicts w/ b415390e74deae0f4c3eb43330c9f8708281acc5 merge
4a6f2321e76685b9489d020980dffb1d9ac73fc0 15-May-2009 San Mehat <san@google.com> init: Create new 'vpn' user/group and set owner of '/dev/tun' to it.

Signed-off-by: San Mehat <san@google.com>
/system/core/init/devices.c
e910ea596240d355a1e25b66f76fd8d8fdfbbba6 09-May-2009 Erik Gilling <konkers@android.com> CDMA: add cdma tsmux device permissions

Signed-off-by: Erik Gilling <konkers@android.com>
/system/core/init/devices.c
493726bc8100d227acb09985db1c91e621919c3f 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 2780827: Merge change 1005 into donut

Merge commit '27808271934622e6473d7d664303fa3efb4cd662'

* commit '27808271934622e6473d7d664303fa3efb4cd662':
Make the /dev/qemu_trace device readable and writable by all.
4a762357d05fe2152dbe5d4b7085d01a5d4ccbf2 05-May-2009 Jack Veenstra <veenstra@android.com> Make the /dev/qemu_trace device readable and writable by all.

This is needed so that the Dalvik interpreter can add information
about Java method entry/exit to the traces when running in the qemu
emulator.
/system/core/init/devices.c
83b65486beffc7c86f24c428fbb7b50bbbe189f9 18-Mar-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake' into merge

Conflicts:
init/devices.c
libpixelflinger/Android.mk
dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/init/devices.c
e54eebbf1a908d65ee8cf80bab62821c05666d70 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/system/core/init/devices.c
261ed7551e3234aa437658796afdc4eb372da9d7 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/system/core/init/devices.c
4a4c9f6f98055918f1ebff06b3cc1ed622c058fe 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
dcf3ce247e13fe0a982ed2ada35cdee1f0ac626a 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/system/core/init/devices.c
038862e152b98d0c0f355c6802beaa1ed59cefbe 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> Merge branch 'cupcake'
5ae090ed949cea9d1e7ab1552b455a229f8f9757 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/system/core/init/devices.c
77d0c65b950570edd5241a8f2ebecfc3acbc5135 19-Dec-2008 Jean-Baptiste Queru <jbq@google.com> Merge commit 'remotes/korg/cupcake'

Conflicts:
init/devices.c
logwrapper/logwrapper.c
mountd/AutoMount.c
35237d135807af84bf9b0e5b8d7f8633e58db6f5 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/system/core/init/devices.c
5bb44c8ea2bc513fefc526918980ab3d17494ecc 26-Nov-2008 Xiaopeng Yang <xiaopeng.yang@windriver.com> Create sound device nodes in /dev/snd/.
/system/core/init/devices.c
3088ff8d395cea07819d84d46af04f17419ae542 30-Oct-2008 Iliyan Malchev <malchev@google.com> Set permissions for /dev/msm_snd.

Signed-off-by: Iliyan Malchev <malchev@google.com>
/system/core/init/devices.c
4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/system/core/init/devices.c