Commit graph

35617 commits

Author SHA1 Message Date
Justin Yun
3094de9684 vndk: add vendor/lib(64)/vndk for vendor namespace
When the vndk is extended by vendor, the libs in vendor/lib(64)/vndk
will override system/lib(64)/vndk libs. Vendor binaries will search
vndk libs in vendor/lib(64)/vndk prior to system/lib(64)/vndk.

Also, remove a workaround for libsdm-color.so

Bug: 65032513
Test: build and boot check for libsdm-color.so will be loaded on boot
Test: currently no libs exist on vendor/lib(64)/vndk. No test for it
Change-Id: I99ed37eb1a9e92c83533e2d92c9c06db11f01e97
2017-08-25 12:30:44 +09:00
TreeHugger Robot
feee3cce8a Merge "fastboot: bail out if failed to generate fs image" into oc-mr1-dev 2017-08-23 23:28:14 +00:00
Jin Qian
f0ecf57e56 fastboot: bail out if failed to generate fs image
we don't want to continue fastboot process if failed to
generate fs image. Print an error message and exit early.

Bug: 64915319
Change-Id: I5506d2a7a5063c188685633d6c3890239f9d658e
2017-08-23 13:58:47 -07:00
TreeHugger Robot
9495196e20 Merge "Move trusty reference implementations to /vendor" into oc-mr1-dev 2017-08-23 02:09:07 +00:00
Justin Yun
24c29f1be4 Implement system namespace for vendor process
For vendor process default namespace searches as following order:
1. /vendor/lib/(hw|egl), /vendor/lib: Vendor libs + VNDK-vnd-ext
2. /system/lib/vndk-$(ver): VNDK libs
3. /vendor/lib/vndk-sp-$(ver): VNDK-SP-vnd-ext
4. /system/lib/vndk-sp-$(ver): VNDK-SP
and searches system namespace (/system/lib) only for LL-NDK libs.
This configuarion is used only with BOARD_VNDK_VERSION is defined.

Bug: 37192038
Test: build with 'BOARD_VNDK_VERSION=current' and boot

Change-Id: If9778b9266a084846ba8fe73e6bff25828359d33
2017-08-22 13:40:22 +09:00
Hung-ying Tyan
063a3fa4d2 Move trusty reference implementations to /vendor
Trusty implementations are provided by vendors. This patch moves
the AOSP reference implementations to the vendor partition.

Bug: 63085384
Test: Build gordon_peak which adopts trusty as the TEE and confirm
      that libtrusty and gateway.trusty are moved to /vendor.
Test: Build marlin which does not adopt trusty as the TEE and confirm
      that this patch has no effect on the build result.
Test: mmm BOARD_VNDK_VERSION=current system/core/trusty
Change-Id: I7f6d897b86c69d06923a18d28154760e006dd193
2017-08-22 11:23:45 +08:00
Andreas Huber
b9beeed5a3 Fix use-after-free of stack-allocated temporary string.
Bug: 64848081
Test: built and successfully booted again
Merged-In: I93c899249bf2cc5ab8d880c0eaff471518e73121

Change-Id: I08e6f71a7c5151544b9434eb0d362a236202cd31
2017-08-21 15:54:43 -07:00
Andrew Hsieh
202fedd1fe Merge "gatekeeperd: use std::unique_ptr" into oc-mr1-dev 2017-08-18 19:12:16 +00:00
Justin Yun
2c9140f54e Make libvndksupport look for default namespace as well.
In vendor process, libvndksupport must look for "default" namespace,
instead of "sphal" namespace to open hal libraries.

Bug: 63411330
Test: Boot the device.
Change-Id: I26208b6f47708f83e0679fd72ca7471ade84fff9
2017-08-18 15:20:20 +09:00
TreeHugger Robot
0bb4cb6fa2 Merge "Move adbd from root to system" into oc-mr1-dev 2017-08-18 03:52:36 +00:00
TreeHugger Robot
f34814e06c Merge "Make the rs namespace visible" into oc-mr1-dev 2017-08-18 03:07:50 +00:00
TreeHugger Robot
d14e75d43e Merge "fastboot: Add --disable-verity and --disable-verification options." into oc-mr1-dev 2017-08-18 01:34:50 +00:00
Justin Yun
68b0ec6487 gatekeeperd: use std::unique_ptr
std::unique_ptr is available in this scope. Substitue the UniquePtr to
std::unique_ptr.

Bug: 63686260
Test: build and boot
Change-Id: Ib8ea3fb5c49c0e92d962f65f1139b073168f8698
2017-08-17 14:58:23 +09:00
David Zeuthen
34c001bff2 fastboot: Add --disable-verity and --disable-verification options.
This can be used to disable verity and/or verification when flashing a
build to a device. It works with both 'fastboot flashall' and
'fastboot flash vbmeta /path/to/vbmeta.img'.

Bug: 62903976
Test: Manually tested.
Merged-In: Iad22d42a9dd5befd70ecd0224803721a10a28d90
Change-Id: Iad22d42a9dd5befd70ecd0224803721a10a28d90
(cherry picked from commit b6ea435a20)
2017-08-17 09:28:53 +08:00
Jiyong Park
421a5e46b7 Make the rs namespace visible
This allows us to dlopen libRS_internal.so directly from the rs
namespace, not from the sphal namespace.

Bug: 64747884
Test: VtsHalRenderscriptV1_0TargetTest successful on the device built
with BOARD_VNDK_VERSION=current and [system] namespace config is applied
to /data/nativetest[64]/* processes.

Change-Id: I0b441791e395798e80a84592ca01e771bb1c201a
2017-08-16 23:32:54 +09:00
Narayan Kamath
b669c3311b Merge "zip_archive: reject files that don't start with an LFH signature." into oc-mr1-dev 2017-08-16 13:58:49 +00:00
Christopher Ferris
0ef26c63da Merge "Decrease size of LogBufferElements to 32 bytes." into oc-mr1-dev 2017-08-15 23:54:30 +00:00
TreeHugger Robot
46691ee85c Merge "Remove nvram trusty implementation." into oc-mr1-dev 2017-08-15 23:46:44 +00:00
Elliott Hughes
2e93eda69c Don't include the build number in the adbd binary.
We want repeatable builds for minimal OTAs.

Bug: http://b/64634017
Bug: 64709603 (presubmit balking at the line above)
Test: repeated builds after `touch daemon/main.cpp` keep same md5sum
Change-Id: Iedeb44377ea45bbf20e2212760802198a57dc14a
2017-08-15 20:07:04 +00:00
Christopher Ferris
2cf55995a1 Decrease size of LogBufferElements to 32 bytes.
- Remove virtual from the destructor.
- Remove mTag and derive it when calling getTag().
- Add a boolean mDropped to tell when a message is dropped.
- When dropping a message, and it contains valid tag data, reallocate
  the message to only contain the tag data.
- Add the packed tag to the class.

This saves about ~150K of PSS on a typical log stream since it moves the
size of the LogBufferElement from 48 bytes to 32 bytes which puts it in
a smaller bin.

Bug: 63792187

Test: Builds, unit tests pass.
Change-Id: Ia5afce343ea3d344fcecd78c648338e94f5c9312
(cherry picked from commit 74e74f96a7)
2017-08-15 13:03:13 -07:00
Narayan Kamath
c1a56dcab7 zip_archive: reject files that don't start with an LFH signature.
Bug: 64211847
Test: zip_archive_test

Change-Id: I275e7c4da05ceeb20401b560c72294f29ef63642
2017-08-15 13:44:05 +01:00
Hung-ying Tyan
98a48d8e4b Remove nvram trusty implementation.
Bug: 64705490
Test: build pass
Change-Id: I32a1565ec935fff1c45540442134a37b55702752
2017-08-15 18:52:42 +08:00
TreeHugger Robot
f7ad622264 Merge "Mark libsync as LL-NDK" into oc-mr1-dev 2017-08-15 10:23:26 +00:00
TreeHugger Robot
acda9cba2e Merge "Add libft2.so to ll-ndk for rs namespace" into oc-mr1-dev 2017-08-15 10:16:17 +00:00
TreeHugger Robot
5f89f548fe Merge "Improvements to lmkd" into oc-mr1-dev 2017-08-15 00:47:44 +00:00
Josh Gao
68995633a9 debuggerd_handler: print pid and process name.
am: 30b69aab46

Change-Id: Iac44ddf6f6b4a1d4e4f3f8132280c437fdb7e43e
2017-08-14 18:06:26 +00:00
Bowgo Tsai
93defc17f3 Move adbd from root to system
Bug: 63910933
Test: normal boot sailfish, checks adb works
Test: recovery boot sailfish, checks adb works
Test: normal boot bullhead, checks adb works
Test: recovery boot bullhead, checks adb works

Change-Id: I1b27910c06a4172ca718b3344736ec8e3429f477
2017-08-14 17:59:08 +08:00
Jiyong Park
058e0919f6 Mark libsync as LL-NDK
libsync is used both by platform (e.g. libui.so) and by same-process
HALs (e.g. android.hardware.graphics.mapper@2.0-impl.so). Therefore it
is eligible for either VNDK-SP or LL-NDK. Among the two choices, LL-NDK
was selected because it is already an NDK and is just a thin wrapper
around a few kernel ioctls.

However, since libui (which is a vendor_available:true library) is using
more symbols that are not available to NDK clients, the extra symbols
are exposed as # vndk tag so that they are only available to VNDK
clients, but not to NDK clients.

Bug: 63866913
Test: BOARD_VNDK_VERSION=current m -j successful (2017 pixel)
Test: the built image is bootable
Change-Id: I60f883c049bd9b4562e6ce34d34ead47ba28af5f
2017-08-14 15:28:11 +09:00
Justin Yun
513f76394a Add libft2.so to ll-ndk for rs namespace
libft2.so is changed to ll-ndk that is available only for rs
namespace.

Bug: 64425518
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: I991dc774ca9b92fb6e95a7656243a6a4ecdc0ab9
2017-08-14 12:18:29 +09:00
Josh Gao
30b69aab46 debuggerd_handler: print pid and process name.
Bug: http://b/64483618
Test: manual

(cherry picked from commit 81e6c0b613)

Change-Id: Icd957ccd21c2ce072f4cdf973b94de08fb0c5567
2017-08-11 22:01:36 -07:00
Robert Benea
caeaa655c1 Improvements to lmkd
- Don't show misleading messages, add the correct description for
  the reason of process killing
- Don't kill Launcher3 upgrade the score to perceptible (200)
- Limit the verbose logging

Test: tested on gobo
Bug: 64316273
Change-Id: Ic7c13853d939afe4f20cdaa5b488b6e1810f5ddf
2017-08-11 16:13:57 -07:00
Justin Yun
077dc8fca4 Mark libziparchive as VNDK in Android.bp
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
    enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: Iec5d3496e91a99f3e6b0c816c67ad279672ff36a
2017-08-12 00:52:14 +09:00
TreeHugger Robot
28d4818037 Merge "Move libz vndk-sp from ll-ndk" into oc-mr1-dev 2017-08-11 15:13:42 +00:00
Hung-ying Tyan
5505eb783b Revert "Move trusty reference implementations to /vendor"
The CL is not complete and will cause build break when BOARD_VNDK_VERSION is set.

This reverts commit 7d81b4e081.

Change-Id: If9632fb7ee8147c39f1ad0860ddc3bed62ba89db
2017-08-11 08:02:21 +00:00
Justin Yun
dadd3a846f Move libz vndk-sp from ll-ndk
The ABI of libz is not as stable as it is for ll-ndk.

Bug: 37617391
Test: build and boot
Change-Id: I883bc6fda268e98cc7cdd5888264170c58688794
2017-08-10 17:39:30 +09:00
Hung-ying Tyan
7d81b4e081 Move trusty reference implementations to /vendor
Trusty implementations are provided by vendors. This patch moves
the AOSP reference implementations to the vendor partition.

Bug: 63085384
Test: build gordon_peak which adopts trusty as the TEE and confirm
      that libtrusty and gateway.trusty are moved to /vendor.
Test: build marlin which does not adopt trusty as the TEE and confirm
      that this patch has no effect on the build result.
Change-Id: I9a5440071386b929058207fdef560ed2d7223ba3
2017-08-10 10:48:17 +08:00
TreeHugger Robot
42a2f5c992 Merge "Permit /system/lib/vndk-sp/hw/ for 'sphal' namespace" into oc-mr1-dev 2017-08-09 05:08:30 +00:00
Jin Qian
9c54268dce storaged: call getNamesForUids to get uid names
Calls getNamesForUids when one of the two conditions are true.
1. entries for new uids are reported from io stats
2. previous getNamesForUids failed

Bug: 62805090
Merged-In: I120b81e1857b2aa0a90d0fb85c8d749e985df78e
Change-Id: I120b81e1857b2aa0a90d0fb85c8d749e985df78e
2017-08-08 20:59:03 +00:00
TreeHugger Robot
1146fa1379 Merge "Mark libmemtrack as VNDK in Android.bp" into oc-mr1-dev 2017-08-08 00:30:03 +00:00
Jin Qian
1a92eda0b0 fastboot: add mke2fs and e2fsdroid to build package
am: c2ca105575

Change-Id: I74925ef2808e16c0eb055eec4cbcdfd0ab31a27d
2017-08-04 16:18:43 +00:00
Jin Qian
a81b6e8d21 fastboot: call mke2fs to format ext4 filesystem on windows
am: 92064ef073

Change-Id: Ifbaca8b1afdb122a8188133e0eb01644c83bbdad
2017-08-04 16:18:25 +00:00
Jin Qian
6e9bbddc04 fastboot: call mke2fs tools to generate ext4 image
am: ffef31cef1  -s ours

Change-Id: Ib6c72d7e34adb80761fd67d4808bc29f2aaf4011
2017-08-04 16:18:06 +00:00
Jiyong Park
7d4cf3fd33 Permit /system/lib/vndk-sp/hw/ for 'sphal' namespace
android.hidl.memory@1.0-impl.so is a SP-HAL located in
/system/lib/vndk-sp/hw. This can't be moved to /vendor/lib since it is a
framework HAL.

Bug: 62930720
Test: 2017 pixel builds and boots with BOARD_VNDK_VERSION on
Change-Id: I9c456983ef68120c5e8c629efc6dd66a26220ecb
2017-08-04 16:38:39 +09:00
Robert Benea
85d9063ff7 Merge "Make lmkd memory pressure levels configurable." into oc-mr1-dev 2017-08-04 03:48:03 +00:00
Yifan Hong
f004d8de4d Merge "Move android_filesystem_config.h => fs_config.h" into oc-mr1-dev 2017-08-03 22:53:07 +00:00
Yifan Hong
b3ecb59163 Merge "Remove private headers from libcutils.vendor" into oc-mr1-dev 2017-08-03 22:53:07 +00:00
Jin Qian
c2ca105575 fastboot: add mke2fs and e2fsdroid to build package
Bug: 23686092
Bug: 63849632
Change-Id: Iff0d92b7174597d43ee646847888aedc2080052a
(cherry picked from commit 6ce78321a2)
2017-08-03 14:50:17 -07:00
Jin Qian
92064ef073 fastboot: call mke2fs to format ext4 filesystem on windows
Bug: 35219933
Change-Id: I0cc8c165176e8dc9cbe4b6a52679937bc872e2d0
(cherry picked from commit 29fc859a6d)
2017-08-03 14:40:43 -07:00
Jin Qian
ffef31cef1 fastboot: call mke2fs tools to generate ext4 image
Set MKE2FS_CONFIG to empty to use mke2fs default configs

Test: fastboot --wipe-and-use-fbe
Bug: 35219933
Change-Id: Ibc97bb125899e1f1fe820d53709fdb2ab291c171
(cherry picked from commit d14d7c14cb)
2017-08-03 14:39:12 -07:00
TreeHugger Robot
5e404f3e87 Merge "storaged: fix excessive accounting when io usage has negative delta" into oc-mr1-dev 2017-08-03 19:49:01 +00:00