Commit graph

574 commits

Author SHA1 Message Date
Nick Kralevich
61be43907f am 471a7034: am aadf9f11: am 4ad20e55: Merge "Redirect libselinux logging to dmesg for ueventd."
* commit '471a7034b2fca93f174c88e275d3968032730aa7':
  Redirect libselinux logging to dmesg for ueventd.
2014-06-25 18:46:59 +00:00
Stephen Smalley
439224e275 Redirect libselinux logging to dmesg for ueventd.
We already do this for init, but had failed to do it for ueventd
and could not capture any logging from libselinux calls made by
ueventd.

Truly enabling non-error logging also requires uncommenting a line
in Android.mk:
LOCAL_CFLAGS += -DLOG_UEVENTS=1
which enables other logging and sets the default log level to INFO,
or otherwise changing the klog level in the ueventd code (is not
settable by init.rc loglevel).

Change-Id: I00e6f9d6271f2a21d9078c96368816d74d6d2850
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-06-24 14:11:59 -04:00
Riley Andrews
6bd4588d65 resolved conflicts for merge of 079c637f to master
Change-Id: Iab9a857026de954d7497d6b0eaf3751d2d3904c7
2014-06-23 15:20:51 -07:00
Ruchi Kandoi
c603720aed ueventd: UEVENT_MSG_LEN changed to 2048 from 1048 in compliance with the
BUFFER_LEN in the kobject_uevent in kernel.

Change-Id: Ib98626f20a7c26e7718bbe4d5ec4513a1ae5d9b7
2014-06-23 11:22:09 -07:00
Riley Andrews
e4b7b294f3 Add ability to boot from charger mode.
Add the ability to boot up directly from charger mode, instead of forcing
charger mode to initiate a full restart to launch 'full' android. This
should shave a few seconds off of boot time on supported devices (just
manta for now).

Change-Id: Ieec4494d929e92806e039f834d78b9002afd15c4
2014-06-20 16:43:00 -07:00
Daniel Leung
c0c1ffea58 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>
2014-06-20 09:28:37 -07:00
Colin Cross
c7ee12d7ed am 105ecf71: am 72d9c0b1: am 56b1d74e: Merge "init/ueventd: adds wildcard matching for ueventd rules"
* commit '105ecf71c2a7f683d34995dc290a4bf50413cf15':
  init/ueventd: adds wildcard matching for ueventd rules
2014-06-21 00:28:53 +00:00
Nick Kralevich
528c13eb07 property_service: get rid of hard coded property / control list
Don't force people to make modifications to property_service.c
when handling properties. Exclusively use the SELinux rules,
which are more flexible and easily adjusted.

Change-Id: Ic0bbd01b5df2eef0040286ac59c0a01e9bd14315
2014-06-17 22:23:54 -07:00
Nick Kralevich
3a53b49075 am 545c6599: am a029d14d: am 2af91ffb: Merge "Extend ueventd to use the label-by-symlink support in libselinux."
* commit '545c6599fa2702a3a220f486367e9df42b20e0b6':
  Extend ueventd to use the label-by-symlink support in libselinux.
2014-06-17 18:53:56 +00:00
Stephen Smalley
b4c5200f51 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>
2014-06-16 09:44:30 -04:00
Nick Kralevich
d69f6b6f7a am 38fd5650: am 82015d4f: Merge "Only allow disabling SELinux on userdebug / eng builds"
* commit '38fd5650ea03b1f47ead2a12a655298ef2f70a91':
  Only allow disabling SELinux on userdebug / eng builds
2014-06-03 16:43:10 +00:00
Nick Kralevich
f3c85b2488 Only allow disabling SELinux on userdebug / eng builds
Only parse and honor the kernel command line on userdebug
or eng builds. On user builds, assume that selinux is always enabled
and enforcing.

Change-Id: I71c66e4365bdf2f226800634126a38b716d96599
2014-06-02 20:56:04 -07:00
Nick Kralevich
ab1816a6c0 am 4f04439f: am 6fb92bd8: am 252b0e2b: Merge "SELinux changes to check policy versions during a reload."
* commit '4f04439f0eab481d1b7938e78d8ee316dda4d641':
  SELinux changes to check policy versions during a reload.
2014-05-31 11:38:44 +00:00
Nick Kralevich
252b0e2b46 Merge "SELinux changes to check policy versions during a reload." 2014-05-31 05:03:05 +00:00
Colin Cross
fd2442ebf9 am c34598aa: am 55c3401b: am 08befc3a: Merge "ueventd: support by-name symlinks for PCI block devices"
* commit 'c34598aa657121ed2feafdae35032e72aa1c9a80':
  ueventd: support by-name symlinks for PCI block devices
2014-05-22 19:26:44 +00:00
Colin Cross
08befc3a80 Merge "ueventd: support by-name symlinks for PCI block devices" 2014-05-22 19:17:15 +00:00
Elliott Hughes
6963176fb2 am 7bbfb8cb: am 337f94f1: am e9a6d0a0: Merge "Remove unnecessary #includes of <sys/atomics.h>."
* commit '7bbfb8cbaf52975a2d0ef9d448d8ea0fc74a590b':
  Remove unnecessary #includes of <sys/atomics.h>.
2014-05-22 18:27:56 +00:00
Elliott Hughes
617681d355 Remove unnecessary #includes of <sys/atomics.h>.
Bug: 14903517
Change-Id: I5b0a418dd982f1a2fd90609b12bd8364f7f34996
2014-05-22 10:00:35 -07:00
Colin Cross
14b667aa91 am f6309600: am 3277dc26: am 2d03a498: Merge "correct the setenv option judging condition"
* commit 'f630960088b2fbdb7f147bf9f7a137850df4c89c':
  correct the setenv option judging condition
2014-05-16 21:10:40 +00:00
Gavin.Chang
c3a4676c7f correct the setenv option judging condition
Change-Id: I10ed6275374f572da639f26611f607bf7607905c
2014-05-16 20:46:58 +00:00
Mark Salyzyn
2bb25bf372 am 88a98149: am 13ee94c5: am 8b2d46a5: Merge "init: logd: Allow Developer settings to adjust logd size"
* commit '88a981497ac06046d6da8a99ba17136aa8361b34':
  init: logd: Allow Developer settings to adjust logd size
2014-05-16 00:37:12 +00:00
Mark Salyzyn
8b2d46a5fc Merge "init: logd: Allow Developer settings to adjust logd size" 2014-05-16 00:27:08 +00:00
Elliott Hughes
569e834602 am 7c633e6f: am 233bbd9d: am ed02fbf0: Merge "Clean up some unnecessary system_properties cruft."
* commit '7c633e6fe6f69006ca4299a475230dd583da38f3':
  Clean up some unnecessary system_properties cruft.
2014-05-15 00:08:58 +00:00
Elliott Hughes
f94853f294 Clean up some unnecessary system_properties cruft.
Bug: 14970171
Change-Id: I6f54c35e265b849be914120f795c9f8e0cec34bb
2014-05-14 16:51:09 -07:00
Andrew Boie
a885d04ec8 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>
2014-05-13 11:23:34 -07:00
Mark Salyzyn
57a0af9313 init: logd: Allow Developer settings to adjust logd size
- AID_SYSTEM can set persist.logd.size
- AID_SYSTEM can issue command to /dev/socket/logd to
  change the runtime global log sizes.
- Add support for ro.logd.size.* as populated by BoardConfig.mk
- Limit size to maximum ~3% of physical memory.

Bug: 14563261
Bug: 14627052
Change-Id: I606420db2e9d9d032296e71149e4a5b20cbd1137
2014-05-13 07:42:15 -07:00
JP Abgrall
d2e4281204 am d96f05d2: am a7bf5bd1: am 3c049bbe: Merge "init: add \'enable <service>\' to negate "service <service>... disabled""
* commit 'd96f05d2a7881dbb18fc86b765a67066560b7a1a':
  init: add 'enable <service>' to negate "service <service>... disabled"
2014-05-03 09:06:53 +00:00
JP Abgrall
3beec7e55f init: add 'enable <service>' to negate "service <service>... disabled"
enable <servicename>
   Turns a disabled service into an enabled one as if the service did not
   specify disabled in the rc file.
   It will also start the service if needed.

Bug: 14472973
Change-Id: Id0b49cc687a2bc74f6f92e066c617724cc94908d
Signed-off-by: JP Abgrall <jpa@google.com>
2014-05-03 00:14:59 -07:00
Mark Salyzyn
ebf49f3e87 init: 64-bit build issue
(cherry pick from Icc5344abc184adf4247175d85b2da08af4636e49)

Change-Id: I88b0c9b20720ac62ebae8359ded4ab77b4ebcdde
2014-05-01 12:19:45 -07:00
Ruchi Kandoi
f74cb95349 am 57569b3d: am 1abf4918: am c7580819: Merge "ueventd: Ueventd changes the permission of sysfs files for max/min cpufreq"
* commit '57569b3d3cea0b2096a15e8d25b41df9f836fd08':
  ueventd: Ueventd changes the permission of sysfs files for max/min cpufreq
2014-05-01 17:53:03 +00:00
Ruchi Kandoi
75b287b771 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>
2014-05-01 17:30:41 +00:00
Robert Craig
03daf05dcf SELinux changes to check policy versions during a reload.
When deciding on which property_contexts policy to load
during a reload, an initial call is made to libselinux to
grab the correct policy index. This policy index represents
whether the /data/security or the rootfs version will
be used.

Change-Id: I4716039bb0f5ba1e961977a18350347a67969dca
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-04-28 22:06:38 +00:00
Jeff Sharkey
216fe16cb7 Let system UID define build fingerprint.
Some devices leave "ro.build.fingerprint" undefined at build time,
since they need to build it from the components at runtime.

Bug: 13340779
Change-Id: I033ff7600e68edffdea101fec30246135646b4b2
2014-04-28 08:55:37 -07:00
Colin Cross
99886266c2 am 4726ba24: am 40d49a02: am e99e5474: Merge "Sync persist property immediately,in case of suddenly remove the battery."
* commit '4726ba24087e83c841e0d0058df61dc908f01978':
  Sync persist property immediately,in case of suddenly remove the battery.
2014-04-18 21:18:40 +00:00
Colin Cross
e99e5474e1 Merge "Sync persist property immediately,in case of suddenly remove the battery." 2014-04-18 18:49:17 +00:00
Mark Salyzyn
d89c68e217 am 022fa5cc: am 7f92f390: am 5b0ad963: Merge "init: unused paramter warning messages"
* commit '022fa5cc85f80f828c203f344617365d867b9137':
  init: unused paramter warning messages
2014-04-02 00:03:25 +00:00
Mark Salyzyn
322445ce6d init: unused paramter warning messages
Change-Id: I1667371106be4b230ac3850e9819e4549eea2973
2014-04-01 15:35:14 -07:00
OPPO
de73a0cfdf Sync persist property immediately,in case of suddenly remove the battery.
Change-Id: I83c5812c69db532f4675f5dbfa508e55999c8dfe
2014-03-31 09:55:16 +00:00
Paul Lawrence
166fa3de70 Auto-encrypt drive at startup
Modify fs_mgr to unmount encryptable drives after test mounting them and
then trigger an auto-encrypt via the init script

Needs matching vold changes from
 https://googleplex-android-review.googlesource.com/#/c/414200/

Feature is limited to list of serial numbers with this change

Bug: 11985952
Change-Id: I84f85a258b6a7e9809467c9149249302e203c41b
2014-03-24 15:00:53 -07:00
Alex Ray
597998e604 am 18ad82e0: am 9e3b7723: am 3fcd9ed6: Merge "ueventd: fix klog debug typo"
* commit '18ad82e03a3b7ae54a246085c10b7b0815ea4e32':
  ueventd: fix klog debug typo
2014-03-19 22:38:52 +00:00
Alex Ray
18ad82e03a am 9e3b7723: am 3fcd9ed6: Merge "ueventd: fix klog debug typo"
* commit '9e3b7723d43ac01f34c8b3e49e9ed8f3c84207e7':
  ueventd: fix klog debug typo
2014-03-19 22:34:07 +00:00
Alex Ray
eb6ffc765b ueventd: fix klog debug typo
Change-Id: Ib0acece15145cc0e868452ede8f3acbab419b965
2014-03-19 15:17:59 -07:00
Colin Cross
299b2eecc5 am 12e3639a: am c383c6d1: Merge "Add "import" support to system property files."
* commit '12e3639a6e1cdd77af0964e10081311430fd065c':
  Add "import" support to system property files.
2014-03-19 20:45:37 +00:00
Jeff Sharkey
06f8c09542 Add "import" support to system property files.
During boot, allow a property file to import properties from another
file.  Supports importing the entire file, a specific key, or any
keys matching a specific prefix.  Here's some example syntax:

import /oem/oem.prop
import /oem/oem.prop foo.*
import /oem/oem.prop foo.bar

Bug: 13340779
Change-Id: I867f9a10ca09684326675d9f051f5cf2ae171617
2014-03-19 13:31:36 -07:00
Jeff Sharkey
36fb5fed1f Merge "Add "import" support to system property files." 2014-03-19 20:18:01 +00:00
Jeff Sharkey
f96b044551 Add "import" support to system property files.
During boot, allow a property file to import properties from another
file.  Supports importing the entire file, a specific key, or any
keys matching a specific prefix.  Here's some example syntax:

import /oem/oem.prop
import /oem/oem.prop foo.*
import /oem/oem.prop foo.bar

Bug: 13340779
Change-Id: I867f9a10ca09684326675d9f051f5cf2ae171617
2014-03-19 13:00:43 -07:00
Geremy Condra
8c40dc90c5 Merge changes Ibea4c13a,I27215a3d
* changes:
  init: Add "partition.*.verified" properties to the property service.
  fs_mgr: Set the 'partition.*.verified' property for verified partitions.
2014-03-19 19:55:07 +00:00
Geremy Condra
0621d702a1 init: Add "partition.*.verified" properties to the property service.
These are intended to be used by the rest of the system as weak
indicators that the corresponding partition is verified. For
instance, if the "partition.system.verified" property is set then
using `adb remount` would be unwise.

These should not be used as the basis for security decisions.

Change-Id: Ibea4c13abd54f46537e2a406774412c25918b24d
2014-03-18 20:35:15 -07:00
Mark Salyzyn
914eec761f am 8299ff70: Merge "init: 64-bit build issue" into klp-volantis-dev
* commit '8299ff701b66caf513e6cc8807b413bf44b8c2f6':
  init: 64-bit build issue
2014-03-17 15:50:22 +00:00
Mark Salyzyn
0aff05eb8c init: 64-bit build issue
Change-Id: Icc5344abc184adf4247175d85b2da08af4636e49
2014-03-17 08:38:37 -07:00