Commit Graph

768 Commits

Author SHA1 Message Date
Daniel Micay 2b22a66382 add a property for controlling perf_event_paranoid
This adds a system property for controlling unprivileged access to
perf_event_paranoid. It depends on adding kernel support for
perf_event_paranoid=3 based on grsecurity's PERF_HARDEN feature to
completely disable unprivileged access to perf. A minimal port of this
feature is used in the vanilla Debian kernel by default.

It hides the non-hardened value as an implementation detail, since while
it is currently 1, it will probably become 2 in the future.

Bug: 29054680

Change-Id: I6e3ae3cf18d8c76df94f879c34fb6fde519b89a9
2016-05-31 17:45:05 -04:00
Irina Patru c560c6310f init.rc: Remove cpu weight set on the root cgroup
It isn't allowed to change the cpu.share value for the root cgroup.
See kernel commit:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ec7dc8ac73e4a56ed03b673f026f08c0d547f597

This fixes the following error seen in dmesg:
init: write_file: Unable to write to '/dev/cpuctl/cpu.shares': Invalid argument

BUG: 28735908

Change-Id: I5ef359fb275792f99d13d35c62499026d354f6af
Signed-off-by: Irina Patru <irina.patru@intel.com>
2016-05-12 14:57:31 +03:00
Janis Danisevskis 3d1dff2231 Leftovers of the SELinux policy update mechanism
Remove references to SELinux policy files in /data/security
from libselinux/android.c. In the process all code that is
apparently related to handling an alternate policy and/or
reloading the policy has been removed.

Bug: 26544104
Change-Id: I47bf76ac3c26c5d71f92a21ffac2b17ba14262ea
2016-03-11 17:47:30 +00:00
Alex Deymo e2ad3cfae4 Merge "Add /postinstall partition when using the A/B updater."
am: 700b15dacf

* commit '700b15dacfa42bcc5c4d768b92530e9f20f0211b':
  Add /postinstall partition when using the A/B updater.
2016-03-04 08:01:40 +00:00
Alex Deymo bb968fb04d Add /postinstall partition when using the A/B updater.
The new top level directory /postinstall is used by the A/B updater to
mount the new partition and run a post-install program before rebooting
into that new system.

init.rc was extended to label this new directory since the initrd has
no extended attributes.

Bug: 27177071
TEST=`ls -laZ /` shows the /postinstall directory on edison-eng

Change-Id: I6cdee7eb1d61ac7d447528962a4fad1a7bbf138d
2016-03-02 14:17:42 -08:00
Bill Yi 4409f1446c Merge commit '4352ee87fd74b931d4b58192fb8974e91aa899d0' into HEAD 2016-02-17 11:37:00 -08:00
Mark Salyzyn 0604f6fbae init.rc: too many start logd
Bug: 26934873
Change-Id: Ia00da6253a50bedc8ba825df1cf641b86cdebeed
2016-02-02 16:01:17 -08:00
Elliott Hughes 2f74a5dae5 Start debuggerd as soon as logd is up.
Makes debugging early boot crashes easier.

Bug: http://b/26918597
Change-Id: I5bb883f1350ea5f7a545cb0e9f1034ecfcf47cdb
2016-02-02 13:03:41 -08:00
Greg Hackmann 40a96e4ba0 init.rc: add missing /dev/fd symlink
The Linux kernel implicitly expects /dev/fd to symlink to /proc/self/fd.

This change fixes the exec/execveat.c kernel selftest.

Change-Id: Ia08d50023336fdbfc098527299c326d9d59039a9
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2016-02-01 10:02:19 -08:00
Nick Kralevich 27cb410352 init.rc: mix device-specific data into the Linux RNG
Mix the contents of /proc/cmdline and /default.prop
into /dev/urandom. /proc/cmdline often contains
androidboot.serialno, a device-specific unique
identifier. Similarly, /default.prop contains the
build fingerprint and timestamp, which vary between
device families.

Change-Id: I8803b38c7089b2a1217b99a7c1808b29a3b138cf
2016-01-22 19:58:21 -08:00
Elliott Hughes e8b97fc0b0 Merge "init.rc: Reland "mkdir /data/misc/vold""
am: 19616ce100

* commit '19616ce100771d0f570bc9cf19d08fbbe8feec0f':
  init.rc: Reland "mkdir /data/misc/vold"
2016-01-08 17:16:34 +00:00
Yu Ning c1149ff0c3 init.rc: Reland "mkdir /data/misc/vold"
Creation of /data/misc/vold was first introduced by commit 25775e8. It
then got reverted, probably inadvertently, by:

 commit 2e24bcfdce
 Author: Paul Lawrence <paullawrence@google.com>
 Date:   Fri May 22 18:31:55 2015 +0000

     Revert "Set up crypto for user directories in init."

This folder is required by vold. In its absence, if one tries to format
an SD card as internal storage, an error will occur, with the following
message printed to logcat:

 01-08 06:31:48.389  1002  1069 E vold    : Failed to persist key

Restoring /data/misc/vold fixes this bug.

This fix has been verified on the emulator, which currently does not
allow its virtual SD card to be adopted, but another CL will be uploaded
to enable that.

Change-Id: Ibb87ee821630a038a6f9b7b6a9da50fe03ca690d
Signed-off-by: Yu Ning <yu.ning@intel.com>
2016-01-08 14:51:32 +08:00
Pavlin Radoslavov 7705e0384e Merge "Use GID "wakelock" to control access to kernel wakelock"
am: 0f0498ad50

* commit '0f0498ad508e6747dc7b72a6e63de2f2befa2e1c':
  Use GID "wakelock" to control access to kernel wakelock
2015-12-29 01:28:48 +00:00
Pavlin Radoslavov 17d80c84e1 Use GID "wakelock" to control access to kernel wakelock
* Added new kernel GID named "wakelock" (AID_WAKELOCK = 3010)
* Changed the group access for /sys/power/wake_lock and
  /sys/power/wake_unlock from "system" to "wakelock"
* Added "wakelock" to the list of groups for the healthd process/service

Bug: 25864142
Change-Id: Ieabee9964cccec3107971a361a43aa9805164aa9
2015-12-28 14:57:28 -08:00
Tao Bao 8ca8664956 Merge "rootdir: Execute update_verifier for A/B update."
am: df13f60ce0

* commit 'df13f60ce0152bc9a38e18fcb9c7c839d8eba5e3':
  rootdir: Execute update_verifier for A/B update.
2015-12-09 19:55:09 +00:00
Tao Bao df13f60ce0 Merge "rootdir: Execute update_verifier for A/B update." 2015-12-09 19:50:31 +00:00
Nick Kralevich baaeddfa23 Merge "init.rc: restorecon_recursive /sys/kernel/debug" am: 6d85c06aa1
am: 070288241d

* commit '070288241d5c3d1a169e21ba4439a5943ce476d8':
  init.rc: restorecon_recursive /sys/kernel/debug
2015-12-08 04:50:55 +00:00
Nick Kralevich 070288241d Merge "init.rc: restorecon_recursive /sys/kernel/debug"
am: 6d85c06aa1

* commit '6d85c06aa1600e905cf3e0b093e939fa3866ee59':
  init.rc: restorecon_recursive /sys/kernel/debug
2015-12-08 04:48:06 +00:00
Nick Kralevich 715c4dc3f9 init.rc: restorecon_recursive /sys/kernel/debug
If /sys/kernel/debug is present, make sure it has all the appropriate
SELinux labels.

Labeling of /sys/kernel/debug depends on kernel support
added in commit https://android-review.googlesource.com/122130

This patch depends on an external/sepolicy change with the
same Change-Id as this patch.

Change-Id: Id1d6a9ad6d0759d6de839458890e8cb24685db6d
2015-12-07 17:00:40 -08:00
Tao Bao 97df395683 rootdir: Execute update_verifier for A/B update.
update_verifier verifies the updated partitions and marks the current
slot as having booted successfully. It needs to be triggered prior to
the start of the framework, otherwise it won't be able to fall back to
the old system without a data wipe.

Bug: 26039641
Change-Id: I6fd183cdd3dfcc72feff2a896368158875b28591
2015-12-07 16:23:13 -08:00
Daniel Rosenberg 5c331c5be8 Remove creation of root directory folders
am: c97e1cb39d

* commit 'c97e1cb39d9ba129d8326605d121a10c9ae491e7':
  Remove creation of root directory folders
2015-11-18 21:39:01 +00:00
Todd Kjos 88b5892d74 resolve merge conflicts of ed60788968 to mnc-dr2-dev-plus-aosp.
Change-Id: I9b07dd8dcb8fc74b658466b8dd47546cefffab1d
2015-11-18 08:31:03 -08:00
Daniel Rosenberg c97e1cb39d Remove creation of root directory folders
Folders in the root directory are now created during the build,
as we may be building without a ramdisk, and when we do that,
the root directory will be read-only.  With those changes,
these mkdirs will never need to run.

Change-Id: I49c63e8bfc71d28e3f938ed41f81d108359fa57a
2015-11-16 08:53:04 -08:00
Todd Kjos ed60788968 Actively mangage EAS schedtune nodes
Move foreground tasks to /sys/fs/cgroup/stune/boost/tasks (boosted
weight in EAS scheduler). Move background tasks to
/sys/fs/cgroup/stune/tasks (default weight). For services started
with init, set "foreground" services to boosted.

Change-Id: I0e489fad9510727c13e6754dabaf311c2391f395
2015-11-16 08:53:04 -08:00
Calin Juravle 2a095e186b Merge "Don\'t create profiles directory under dalvik-cache."
am: 942f8ea84f

* commit '942f8ea84f3f96c2e2556fe90ebba0ec76730553':
  Don't create profiles directory under dalvik-cache.
2015-11-16 11:21:48 +00:00
Calin Juravle 942f8ea84f Merge "Don't create profiles directory under dalvik-cache." 2015-11-16 11:08:46 +00:00
Calin Juravle 5d1a9688b8 Merge "Create a folder to store method traces activated with -Xmethod-trace"
am: 7605a56fbc

* commit '7605a56fbcf5706b6e2892da9d9dc0fd20efb395':
  Create a folder to store method traces activated with -Xmethod-trace
2015-11-11 18:12:03 +00:00
Calin Juravle 9b3e5d59fe Create a folder to store method traces activated with -Xmethod-trace
Bug: 25612377
Change-Id: I370b858594ccc88c12099b23a0d1aac22acd4969
2015-11-10 21:26:40 +00:00
Nick Kralevich ea8452cc72 Merge "Enable hidepid=2 on /proc"
am: 2d8f1d4c47

* commit '2d8f1d4c478b9d921730d3fc9b290315e2ff9f04':
  Enable hidepid=2 on /proc
2015-11-09 20:29:44 +00:00
Nick Kralevich c39ba5ae32 Enable hidepid=2 on /proc
Add the following mount options to the /proc filesystem:

  hidepid=2,gid=3009

This change blocks /proc access unless you're in group 3009
(aka AID_READPROC).

Please see
  https://github.com/torvalds/linux/blob/master/Documentation/filesystems/proc.txt
for documentation on the hidepid option.

hidepid=2 is preferred over hidepid=1 since it leaks less information
and doesn't generate SELinux ptrace denials when trying to access
/proc without being in the proper group.

Add AID_READPROC to processes which need to access /proc entries for
other UIDs.

Bug: 23310674
Change-Id: I22bb55ff7b80ff722945e224845215196f09dafa
2015-11-09 09:08:46 -08:00
Calin Juravle 933bc0a3d1 Don't create profiles directory under dalvik-cache.
Bug: 24698874
Bug: 17173268
Change-Id: Ic81258a8df90818fa6b4ee64fd1507ac18fe3f04
2015-11-04 14:59:41 +00:00
Paul Lawrence 2b216aa89b Merge "Don't show UI on default encryption" into mnc-dr-dev 2015-10-21 14:27:38 +00:00
Tim Murray 538697b315 Reorder init.rc to avoid a kernel warning. am: f429d37807
am: e56b566401

* commit 'e56b566401aad8e7175306b2969f78baa0b8f9c6':
  Reorder init.rc to avoid a kernel warning.
2015-10-20 22:14:47 +00:00
Tim Murray f429d37807 Reorder init.rc to avoid a kernel warning.
3.18 has a warning in dmesg that appears when the parent cpuset's cpus
and mems are changed to something other than what the child has. Reorder
init.rc to prevent this warning from appearing.

bug 24941443

Change-Id: I49d8394063b23dce03222dcc9ddccdc32bb97ea2
2015-10-15 12:38:15 -07:00
Nick Kralevich 281071435a am 9e27cab6: Merge "init.rc: Disable sysrq from the keyboard"
* commit '9e27cab695b0e2a4910cf576d306a3379991f1f7':
  init.rc: Disable sysrq from the keyboard
2015-10-10 00:38:18 +00:00
Nick Kralevich d28a535d9a init.rc: Disable sysrq from the keyboard
Don't allow the accidental triggering of sysrq functionality
from the keyboard. The only expected use of sysrq functionality
is via /proc/sysrq-trigger

Please see https://www.kernel.org/doc/Documentation/sysrq.txt for
additional information on /proc/sys/kernel/sysrq

Bug: 13435961
Change-Id: I60dc92a4b2b4706e8fa34a6cead9abd449f7375f
2015-10-09 17:09:10 -07:00
David Zeuthen 8c06f8ccd4 am 10bb4e51: Merge "init.rc: mkdir /data/misc/update_engine 0700 root root"
* commit '10bb4e5161ecca1a9660d1e5967b3fb5e7662839':
  init.rc: mkdir /data/misc/update_engine 0700 root root
2015-10-07 20:29:00 +00:00
David Zeuthen 10bb4e5161 Merge "init.rc: mkdir /data/misc/update_engine 0700 root root" 2015-10-07 20:18:36 +00:00
David Zeuthen 159147853e init.rc: mkdir /data/misc/update_engine 0700 root root
Ensure that /data/misc/update_engine exists since it will be referenced
by selinux policy.

Bug: 23186405
Change-Id: I96e4ff341086da6474ef7f7c934f1f35bffc1439
2015-10-07 14:00:55 -04:00
Mark Salyzyn 936d65f59b am cb2ab20d: am 87122ce1: Merge "logd: increase dgram_max_qlen to 600"
* commit 'cb2ab20d480cdf488e5b5bf37dc55ca7f0ddee67':
  logd: increase dgram_max_qlen to 600
2015-09-28 15:54:05 +00:00
Mark Salyzyn cb2ab20d48 am 87122ce1: Merge "logd: increase dgram_max_qlen to 600"
* commit '87122ce1d60dd6fbc18e747d976db734d502f2bf':
  logd: increase dgram_max_qlen to 600
2015-09-28 15:50:02 +00:00
Mark Salyzyn 39944c89a9 logd: increase dgram_max_qlen to 600
Seeing liblog messages on system_server runtime restart
(too much system_server spam, 566 messages in 72ms)

Bug: 23788621
Change-Id: I5171f2c19a3538da190fc6c2b40e978d89bf0e20
2015-09-25 14:15:53 +00:00
Tom Cherry 984bd8323d resolved conflicts for 5caca3dd to mnc-dr-dev-plus-aosp
Change-Id: I773e514a8232b77cdd566dc36c9efc4e15f206f0
2015-09-21 14:25:34 -07:00
Tim Murray cba6ad7449 add system-background cpuset
add a new cpuset for system services that should not run on
larger cores

bug 24144797

Change-Id: I21a54f0d6b46b3b8bd8c4564b8685c88cfc4a57d
2015-09-18 13:18:49 -07:00
Paul Lawrence 751dfddc19 Don't show UI on default encryption
Bug: 22989588
Change-Id: I8e7023767f1da80c872adc45871be1f8851926ad
2015-09-09 12:10:58 -07:00
Tom Cherry 4bc10de99f am cd1a65b6: am 30c13c49: Merge "move uncrypt from init.rc to uncrypt.rc"
* commit 'cd1a65b69ad2da81e654adab8edeead457a1b1f5':
  move uncrypt from init.rc to uncrypt.rc
2015-09-04 18:02:34 +00:00
Tom Cherry cd1a65b69a am 30c13c49: Merge "move uncrypt from init.rc to uncrypt.rc"
* commit '30c13c4954a959c2e6c5ba126f26d88b2e56be61':
  move uncrypt from init.rc to uncrypt.rc
2015-09-04 17:56:27 +00:00
Tom Cherry 008eb9b80a move uncrypt from init.rc to uncrypt.rc
Move uncrypt from /init.rc to /system/etc/init/uncrypt.rc using the
LOCAL_INIT_RC mechanism

Bug 23186545

Change-Id: Ibd838dd1d250c0e6536e44b69f11fb5ed42ba10b
2015-09-03 16:33:08 -07:00
Tom Cherry fdc6fbd0c7 am b2acb6b2: am b4998341: Merge "move init.trace.rc to frameworks/native"
* commit 'b2acb6b2ce07bf9e1c944eadcdc2dafe3e41efaf':
  move init.trace.rc to frameworks/native
2015-09-03 22:28:35 +00:00
Tom Cherry b2acb6b2ce am b4998341: Merge "move init.trace.rc to frameworks/native"
* commit 'b499834121854fd98664d8d96734c733f96dbc1f':
  move init.trace.rc to frameworks/native
2015-09-03 22:02:40 +00:00