Commit graph

1169 commits

Author SHA1 Message Date
Tao Bao
380d6b1b4d Create /data/ota_package for OTA packages.
We will store OTA packages there for both A/B and non-A/B OTAs. The
directory will be accessed by GMSCore (for both), uncrypt (non-A/B),
update_engine (A/B), update_verifier (A/B) and possibly system server
(for non-A/B OTAs to clean up half-way uncrypt'd packages).

Bug: 28944800
Change-Id: I5aa8156ec5052bd15dfadd4d8c28925d464e4401
2016-06-03 13:11:29 -07:00
Daniel Micay
52ebee9865 add a property for controlling perf_event_paranoid
am: fe01f56c0d

* commit 'fe01f56c0d5c42508e1e82f5976e4c10bb00f632':
  add a property for controlling perf_event_paranoid

Change-Id: I1059ecb2c1d1aba95cd3c93f208ae7ca904cf95e
2016-06-02 02:05:20 +00:00
Daniel Micay
fe01f56c0d add a property for controlling perf_event_paranoid
(Cherry picked from commit 2b22a66382)

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-06-01 16:58:48 -07:00
David Sehr
cdc503c13b add /data/misc/profman for output
am: 0eb24e1bc7

* commit '0eb24e1bc7317eb5764567223cdd9405d16aefa7':
  add /data/misc/profman for output

Change-Id: I8d8ebc0dc37aee1ac54f8e50e374cad77a6fe77a
2016-06-01 14:01:10 +00:00
David Sehr
0eb24e1bc7 add /data/misc/profman for output
Bug: 28748264
Change-Id: Ib57ccc570de446e03ea8c27ce8e404929138b213
2016-05-31 17:36:41 -07:00
Srinath Sridharan
87a4f046f0 Merge "Only apply schedTune boost to top-app tasks" into nyc-mr1-dev 2016-05-24 00:00:06 +00:00
Srinath Sridharan
1339871138 Only apply schedTune boost to top-app tasks
When using EAS, the foreground tasks were all getting boosted
during touchboosts. Limit it to top-app tasks.


BUG: 28378389
Change-Id: I72b7158a614bfd9b6c61024774e408ceba61fc9c
2016-05-23 23:59:38 +00:00
Patrick Tjin
c6535a343f Create symlink in the case where device has no cache partition
Create symlink from /cache to /data/cache for devices
which have no cache partition.

Bug: 28747374
Change-Id: Ifb0c3250f1be345ce46fcdb78533e36c2250bb85
2016-05-13 15:25:04 -07:00
Srinath Sridharan
7ac34d08ef marlin/eas: Fixing foreground/schedtune.boost path.
BUG: 28378389
Change-Id: I613fd5622d3d27deafe6054bbf2a4799d97f9170
2016-04-25 13:09:05 -07:00
Paul Lawrence
fe5d55a68b Merge "Don't start defaultcrypto twice" into nyc-dev 2016-04-19 14:44:26 +00:00
Paul Lawrence
1f99218612 Don't start defaultcrypto twice
The old way (using triggers) starts defaultcrypto twice because
queue_property_triggers_action retriggers the action.

Bug: 27452459
Change-Id: I48c844836f551673d0dbfed6c33bd8ee1e035f40
2016-04-18 15:37:31 -07:00
Jeff Sharkey
c9b84a362a Create legacy /data/system/user directory.
We create per-user directories under this location, so it should
only be created once by init, similar to all the other user-specific
directories.

Bug: 27896918
Change-Id: I9ec55e4fd763c0eda6c6e50483694a6377344586
2016-04-15 13:42:29 -06:00
Nick Kralevich
d2f0a2c065 init.rc: Restore the /mnt/sdcard symlink
"You are in a maze of twisty little symlinks, all alike."

Restore the /mnt/sdcard symlink, for compatibility with older Android
apps. This symlink was suppose to have been removed in the Gingerbread
time frame, but lives on.

Note: The /mnt/sdcard symlink was originally created in device specific
*.rc files in the device/vendor/hardware/* directory. This change moves
the creation of the symlink into the common init.rc file.

Bug: 25801877
Bug: 28108983
Change-Id: I2f9bf71bddffadb587d7376dfdfc8a546c84ec28
2016-04-12 20:36:01 -07:00
Eino-Ville Talvala
5f31ca2231 Add camera2 NDK library to public library lists
It was dropped in the migration to the public.libraries format
NDK is the same on standard Android and Wear.

Bug: 27742249
Change-Id: I1eafbb649c0ccc5b9a93471fa387624d838bd3d0
2016-03-18 12:33:19 -07:00
Daniel Rosenberg
290127b292 Merge "Set up configfs" into nyc-dev 2016-03-17 21:11:03 +00:00
Dimitry Ivanov
dbae9a9b77 Add libvulkan.so to the list of public libraries
Accidentally dropped it in 4b0e963872

Bug: http://b/27546414
Change-Id: I28835ce3229f778387efedf269d7f32572e09184
2016-03-17 10:57:22 -07:00
Dimitry Ivanov
4b0e963872 Move list of public libraries to a config file
This list contains libraries that should directly or indirectly
be accessible to apps for the platform. Note that this list is
not device specific but rather device class specific.

For now we have 2 separate lists; one for Android Phones and Tablets,
and another one for Android Wear devices.

Bug: http://b/27546414
Bug: http://b/22548808
Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146
2016-03-17 09:45:52 -07:00
Daniel Rosenberg
4edec25396 Set up configfs
Bug: 19160983
Change-Id: I8fddf11fb6124950dfa2528a4f420abd9d461df6
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2016-03-16 15:58:24 -07:00
Alex Deymo
e120b471ac 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

(cherry picked from commit bb968fb04d)

Change-Id: Iff993135c7ce3a1a0f6450892ef7382da408fd5e
2016-03-04 15:45:52 -08:00
Keun Soo Yim
be54c543bd mkdir /data/misc/cameraserver for AVD's camera HALs
cameraserver from nyc uses cameraserver as its username.
thus this change is needed for AVD (android virtual device)'s
camera HAL which is attached to cameraserver to work as that
HAL writes some files to /data/misc/media. the backward compatibility
issue should be handled as separate changes. this approach is 
preferred for finer-grained security isolation.

Change-Id: If028667d62df8fcac634ff1001759c39703b00dd
2016-03-01 22:44:59 +00:00
Todd Kjos
d125f6e8a9 Merge "Mount schedTune cgroup as /dev/stune" into nyc-dev 2016-02-26 17:35:50 +00:00
Glenn Kasten
845a4ffef8 Restore audio tee sink
Bug: 27323882
Change-Id: I1131c0537942c8f7cbf9ff6cc6847ab7e93e6187
2016-02-23 15:23:46 -08:00
Todd Kjos
11cde567a8 Mount schedTune cgroup as /dev/stune
Make stune consistent with the other cgroups mounted under /dev

Change-Id: I0fe7120ad2afbe8e6a3c9f72cc3f465de618d344
2016-02-23 09:08:54 -08:00
Calin Juravle
aed972dead Merge "Create profiles folders" into nyc-dev 2016-02-22 11:42:02 +00:00
Jeff Sharkey
002aecf6e8 Temporary fix for bugreport symlink.
Bug: 27262109
Change-Id: I011da38f8ad1eeaf717dc03a0fb6f9fdc5654c4c
2016-02-19 15:51:42 -07:00
Calin Juravle
807f23aff2 Create profiles folders
Current profiles (the ones which have not been used for
compilation) are stored in /data/misc/profiles/cur/0/pkgname/.

Reference profiles (the merged of all user profiles, used for
compilation) are stored in /data/misc/profiles/ref/pkgname/.

Add a method to get the shared app gid from an uid or appid.

Bug: 26719109
Bug: 26563023
Change-Id: I89601d7dbeb3041df882c141a9127dac200a645e
2016-02-19 13:42:37 +00:00
Martijn Coenen
623b56af5d Fix libprocessgroup SELinux denials.
libprocessgroup checks whether it can use memory
cgroups for keeping track of forked processes by
seeing whether /dev/memcg/apps is writable. However,
on systems with memory cgroups disabled, SELinux
(correctly) no longer classifies this directory as a cgroup,
and starts denying zygote access. To fix this,
first check whether /dev/memcg/apps/tasks exists to
see if the cgroup is mounted; only then check whether
we can write to the directory.

Bug: 27046965
Change-Id: I6e44cd62d8c396e20ceb162c50606b3e86f2cb3e
2016-02-08 11:45:27 +01:00
Jeff Sharkey
c457610e78 Follow migration of Shell app to DE storage.
The Shell app that stores bugreports now lives under DE storage for
all devices, both FBE and non-FBE.

Bug: 26668510
Change-Id: Iead1dcb98181a5caccf4d0c1e86de62abc6dc990
2016-02-06 20:15:24 -07:00
Jeff Sharkey
c895f11cf1 Merge "User 0 directories are created by vold now." 2016-02-05 21:01:21 +00:00
Mark Salyzyn
a2eba56f98 Merge "init-debug.rc: add runtime mmc max speed property actors" am: 20a6f0ff3b
am: c883cdec82

* commit 'c883cdec825e021007672d3ce9b199589ed2cba6':
  init-debug.rc: add runtime mmc max speed property actors
2016-02-05 17:38:44 +00:00
Mark Salyzyn
c883cdec82 Merge "init-debug.rc: add runtime mmc max speed property actors"
am: 20a6f0ff3b

* commit '20a6f0ff3bf21e2bc82ebfe06357f6225c991ee9':
  init-debug.rc: add runtime mmc max speed property actors
2016-02-05 15:25:14 +00:00
Jeff Sharkey
3b9c83a0f6 User 0 directories are created by vold now.
This ensures that all users on device follow a consistent path for
setup and validation of encryption policy.

Also add remaining user-specific directories and fix linking order.

Bug: 25796509
Change-Id: I8c2e42a78569817f7f5ea03f54b743a6661fdb9c
2016-02-04 15:26:23 -07:00
Mark Salyzyn
7864e36751 init-debug.rc: add runtime mmc max speed property actors
persist.mmc.max_read_speed  - KB/s speed cap
persist.mmc.max_write_speed - KB/s speed cap
persist.mmc.cache_size      - MB of high-speed on-device write cache

device default directly to associated /sys/block/mmcblk0/ attributes,
not delivered on "user" builds.

Bug: 26976972
Change-Id: Ic82b9614489b6406ce830d127c85affc9095e256
2016-02-04 13:10:19 -08:00
Mark Salyzyn
95c220e6b7 Merge "init.rc: too many start logd" am: 989daeaf5b
am: d8e0e52099

* commit 'd8e0e520998e83ae16fcff317704bb6c00b7fb31':
  init.rc: too many start logd
2016-02-03 16:45:03 +00:00
Mark Salyzyn
d8e0e52099 Merge "init.rc: too many start logd"
am: 989daeaf5b

* commit '989daeaf5b2f50d96da69ad476adf434522e35e7':
  init.rc: too many start logd
2016-02-03 15:51:31 +00:00
Andreas Gampe
fcad79fe10 Merge "Init: add OTA directory" 2016-02-03 01:28:32 +00: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
1ee7abd066 Merge "Start debuggerd as soon as logd is up." am: 1b729b3e04
am: 1ef5b78a2f

* commit '1ef5b78a2ffc471e5ac2e30b424f00d15d581a8c':
  Start debuggerd as soon as logd is up.
2016-02-02 21:12:49 +00:00
Elliott Hughes
1ef5b78a2f Merge "Start debuggerd as soon as logd is up."
am: 1b729b3e04

* commit '1b729b3e04b210d096ee2d447945f6b2c53b6029':
  Start debuggerd as soon as logd is up.
2016-02-02 21:10:47 +00: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
Martijn Coenen
2f07673957 Merge "Reuse mem cgroups for tracking forked PIDs." 2016-02-02 10:23:57 +00:00
Tim Murray
88185f9ee8 Merge "Enable top-app cpuset support." 2016-02-02 02:13:31 +00:00
Tim Murray
6647bb5130 Enable top-app cpuset support.
Allows ActivityManager to use the top-app cpuset to grant the currently
focused app exclusive access to a CPU core.

Change-Id: I45bca5170477e413dec6e5889338399d0859706c
2016-02-01 15:03:16 -08:00
Greg Hackmann
7026d48d84 Merge "init.rc: add missing /dev/fd symlink" am: 54bf0718f4
am: ef605cb749

* commit 'ef605cb7495cec368f7be015f924479969dd8fc2':
  init.rc: add missing /dev/fd symlink
2016-02-01 22:07:42 +00:00
Greg Hackmann
ef605cb749 Merge "init.rc: add missing /dev/fd symlink"
am: 54bf0718f4

* commit '54bf0718f4eb1b170f55bbd07207cd6ad2e7e0f5':
  init.rc: add missing /dev/fd symlink
2016-02-01 22:04:06 +00:00
Martijn Coenen
b82bab66f3 Reuse mem cgroups for tracking forked PIDs.
It turns out we were using the CPU accounting
cgroups for keeping track of processes that were
forked by an app without the framework's knowledge,
so we could kill all of them reliably (see b/15313911
for context).

Since we want to use memory cgroups for other purposes,
we might as well use memory cgroups for tracking forked
PIDs if they're enabled. This also gets us automatic cleanup
of empty mem cgroups.

Also, removed old mem cgroup mount point that is no
longer used, as well as cgroup release agent code that
we're not using.

Change-Id: I69d5cc31c162ffa49ef6945755f41381e306cc8b
2016-02-01 21:04:24 +01: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
Paul Crowley
5949745534 On FDE devices, initialize user 0
Fix ugly special cases for user 0: initialize them explicitly.

Bug: 26704408
Change-Id: I1b8536b9e5e87ea98b4009a309f2e22c56006651
2016-02-01 16:44:46 +00:00
Christopher Tate
63c463fe28 Have init set up the backup stage dir on /cache
Bug 26834865

Change-Id: Idc63c1706f68d42b2a9cee05997c63a9bbcb0fb9
2016-01-29 12:47:46 -08:00
Andreas Gampe
7dfcc92bee Init: add OTA directory
Add /data/ota in init so that the right selinux labels are applied.

Bug: 25612095
Change-Id: I8fd093147f8e0a5c3bd1a4007a61b0b759911cf2
2016-01-28 11:42:57 -08:00