Commit Graph

2113 Commits

Author SHA1 Message Date
Jiyong Park baca81639c Merge "Re-format ld.config.*.txt files" am: eef035f641 am: ca33a874fe
am: 6546c650fa

Change-Id: If26449caae94fb2e372c382d25033930f3c6d5b5
2017-12-15 01:06:13 +00:00
Jiyong Park 60a2966fc9 Do not use versioned VNDK directory in vendor partition
Paths for extended VNDK libs don't need version suffix, because there
always is the single version that the vendor(odm) modules are built
against.

Bug: 70601582
Test: walleye boots to the UI.
Test: No further test is possible since we don't have extended VNDK yet
in our source tree.

Change-Id: Idbf4bb820ddb136d00744f64ddf6ebe6442ad16e
2017-12-14 21:43:04 +09:00
Jiyong Park 2498e1b1d3 Re-format ld.config.*.txt files
Re-format the files by splitting lines using +=.

Also add /odm/${LIB} where needed.

A few directories that are no longer required are removed from the
search paths and permitted paths.

Test: walleye and sailfish boots to the UI, renderscript, camera,
camcodder, sound, etc. are working.

Change-Id: I3150f0c3d35130d6b1a665e3f0813d33b1b7f546
2017-12-14 21:43:04 +09:00
Logan Chien 97772e425b android.hardware.graphics.allocator@2.0 is no longer VNDK-SP
The interface lib has been in VNDK-SP because
android.hardware.graphics.mapper@1.0 was using it. However, since the
dependency has gone [1], there is no need keep it in VNDK-SP. The
VNDK-SP set should be kept as small as possible because libs in VNDK-SP
are subject to double-loading.

[1] 79d13ff0f5

Bug: 69480083
Test: /system/lib64/vndk-sp/android.hardware.graphics.allocator@2.0.so
disappears.
Test: sailfish boots

Change-Id: I0e6518f169dd620d6b1a9ada47754e371ef4a739
Merged-In: I0e6518f169dd620d6b1a9ada47754e371ef4a739
(cherry picked from commit 9d898f3678)
2017-12-13 17:05:14 +09:00
Jiyong Park 52a2137d05 Merge "/vendor/priv-app is added to the permitted paths for the default ns" am: 5dde5e38d2 am: 3c28804815
am: d1a4cbd742

Change-Id: I0ca43f5107d451ecbdb1674fd1436292b9aa3506
2017-12-13 03:14:04 +00:00
Vishwath Mohan 3f663e0b29 Merge "Fix asan permitted paths in the default namespace." am: 32c03800c0 am: 22e81897b2
am: c75631bc5e

Change-Id: Ibf5767decc7e5b3b26b389e37caeab33f7986da3
2017-12-13 03:13:12 +00:00
Justin Yun 5029612451 Merge "Add VNDK version for namespace configuration files" am: a6e6780418 am: a159b310d6
am: 635ddcb894

Change-Id: I791663afc81779ce2306b909db46eb82e895a32c
2017-12-13 03:00:29 +00:00
Treehugger Robot 5dde5e38d2 Merge "/vendor/priv-app is added to the permitted paths for the default ns" 2017-12-13 02:34:19 +00:00
Vishwath Mohan 32c03800c0 Merge "Fix asan permitted paths in the default namespace." 2017-12-13 02:08:30 +00:00
Logan Chien bf24c70ad4 Merge "android.hardware.graphics.allocator@2.0 is no longer VNDK-SP" 2017-12-13 01:42:08 +00:00
Justin Yun 210ff9485d Add VNDK version for namespace configuration files
If PLATFORM_VNDK_VERSION is set to a version other than "current",
add the version to the file names of the namespace configuration
files.

Bug: 69883025
Test: device boot
Change-Id: I27377549581125b6c750c1422d0ee4a607dda5e8
2017-12-13 10:31:04 +09:00
Vishwath Mohan cede134907 Fix asan permitted paths in the default namespace.
This CL fixes an error with the asan permitted paths in
ld.config.txt.in.

Bug: 63927538
Test: lunch walleye_asan-userdebug && m -j40
Change-Id: Ica0504cb52ef6e6b3e4ce2deae3ce5984e38cc93
2017-12-12 16:17:41 -08:00
Jiyong Park 9c6587ad1f Merge "Use normalize-path-list" am: c034cd5d04 am: f01f51c41f
am: 4c550887a6

Change-Id: I8d6ef704857de733cdfd380fd28271329e206d3b
2017-12-12 08:13:46 +00:00
Logan Chien 9d898f3678 android.hardware.graphics.allocator@2.0 is no longer VNDK-SP
The interface lib has been in VNDK-SP because
android.hardware.graphics.mapper@1.0 was using it. However, since the
dependency has gone [1], there is no need keep it in VNDK-SP. The
VNDK-SP set should be kept as small as possible because libs in VNDK-SP
are subject to double-loading.

[1] 79d13ff0f5

Bug: 69480083
Test: /system/lib64/vndk-sp/android.hardware.graphics.allocator@2.0.so
disappears.
Test: sailfish boots

Change-Id: I0e6518f169dd620d6b1a9ada47754e371ef4a739
2017-12-12 15:57:53 +08:00
Jiyong Park b52ff3e247 Use normalize-path-list
Let's use the existing macro.

Test: build walleye, boots to the UI.
Change-Id: Ic23d3454c629a02bfd96d0ca19c0c5c068ae7a03
2017-12-12 12:13:38 +09:00
Andreas Gampe 9797e0f35e Merge "ASAN: Remove old list of services" am: e78accb103 am: fc7a327a4a
am: 428fb9525e

Change-Id: I044b3ec691e5f711de62590847f672161a0ce3c7
2017-12-12 00:36:26 +00:00
Treehugger Robot e78accb103 Merge "ASAN: Remove old list of services" 2017-12-12 00:15:31 +00:00
Andreas Gampe 27b8fcdfcf ASAN: Remove old list of services
Remove list of services and support for asan.options. This has not
been used in a while, and there is contention about listing names
of device-specific services.

Bug: 70387666
Test: m
Change-Id: I766c6b3a0c44b6b992a3259a3c4215a688452907
2017-12-11 11:36:17 -08:00
Justin Yun 588f5ba383 Merge "Use versioned VNDK directories in ld.config.txt" am: 84de4c0a89 am: 27e44ad179
am: c82c963e28

Change-Id: I4ac01e17f3930635b900128220d923312b2fbb6d
2017-12-11 02:28:30 +00:00
Justin Yun 44bb46f604 Use versioned VNDK directories in ld.config.txt
All vndk/vndk-sp directories will have version suffix if
"ro.vndk.version" is set.

Bug: 69984421
Bug: 66074376
Test: Build with BOARD_VNDK_VERSION=current and
      BOARD_VNDK_RUNTIME_DISABLE=true. Check boot.

Change-Id: I03849f9f96bc6c7880aa70c517e963aab4e033b8
2017-12-11 10:58:51 +09:00
Treehugger Robot fd3225492b Merge "Fix media on W/T" 2017-12-09 00:48:52 +00:00
Elliott Hughes 3e2b34136a Merge "Add OWNERS." am: 3289b9c928 am: 515c8fe572
am: aede8375fe

Change-Id: I28f7a8f3fa9c9837f4043768e70c0d985ed95abd
2017-12-08 01:29:20 +00:00
Elliott Hughes 3d0fc2a60b Merge "Add a /bin symlink for convenience." am: dcc0f8f76b am: 7a54ed9e28
am: 17197ac3e0

Change-Id: I1371ba22037f4466ec2799bb5a8b5056d57a2de2
2017-12-08 00:58:26 +00:00
Treehugger Robot b07cc5e0c0 Merge changes I3978cbe2,I7b8e1232
* changes:
  Reland "Prevent vendors from accessing private VNDK libs"
  Permitted and search path change
2017-12-08 00:50:34 +00:00
Elliott Hughes 3289b9c928 Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
Elliott Hughes 693d63f9cf Add OWNERS.
Bug: N/A
Test: N/A
Change-Id: Ie785058c0f5eb9b4086c98ccba6e63e3ed411b65
2017-12-07 13:30:03 -08:00
Elliott Hughes dcc0f8f76b Merge "Add a /bin symlink for convenience." 2017-12-07 16:55:25 +00:00
Jiyong Park d083db9bc9 /vendor/priv-app is added to the permitted paths for the default ns
We will have apps under /vendor/priv-app. Add the path to the permitted
paths so that the apks and so libs under the directory can be loaded.

Bug: 35301609
Test: None since we don't have priv vendor app yet.
Change-Id: Ida998adb2e180852b1922e9933f25b988517399e
2017-12-07 18:31:18 +09:00
Marco Nelissen 4ad1a34289 Fix media on W/T
W/T enforce restrictions on linker paths, which M/S do not.
Because of this, media.extractor was unable to load its extractors on W/T.

Bug: 67405932
Test: play sounds successfully
Merged-In: I8914da74780c909da815beaffcd4d76fbe2cc6b5
Change-Id: I8914da74780c909da815beaffcd4d76fbe2cc6b5
(cherry picked from commit 593b43910b)
2017-12-07 18:30:47 +09:00
Jiyong Park ad7ddd5a02 Reland "Prevent vendors from accessing private VNDK libs"
This reverts commit 875fe42a81.

... and fixes a bug that private VNDK libs are not accessible even to
RenderScript framework libraries (such as libRS_internal.so). This is
fixed by exceptionally allowing the private libs only to 'rs'
namespace.

Bug: 70260989
Bug: 70279973
Bug: 63878960
Test: Build for walleye and tested Photos edit.
Test: other renderscript app (camerascript) works as well
Merged-In: I3978cbe2e869f6a1c214c755ded038349bde7b6b
Change-Id: I3978cbe2e869f6a1c214c755ded038349bde7b6b
(cherry picked from commit 781c47f4da)
2017-12-07 13:44:46 +09:00
Sundong Ahn e93d7f9941 Permitted and search path change
The permitted and search paths should be changed according to VNDK version.
However these paths are fixed with vndk and vndk-sp. So I define the
directory name as below
- /system/${LIB}/vndk${VNDK_VERSION}
- /system/${LIB}/vndk-sp${VNDK_VERSION}
${VNDK_VERSION} will be set by the property "ro.vndk.version".

Bug: 66074376
Test: build & run
Merged-In: I7b8e12327af89d131c4c49cb9b459a393c7dacb8
Change-Id: I7b8e12327af89d131c4c49cb9b459a393c7dacb8
(cherry picked from commit 85c773f0a2)
2017-12-07 13:44:29 +09:00
Jiyong Park 74857cccd2 Remove *.dep files for ld.config.txt, [llndk|vndksp].libraries.txt
The dep files are not required because change in the command line
triggers the rule.

Test: m -j ld.config.txt llndk.libraries.txt vndksp.libraries.txt
Re-run the build after adding or removing libs to/from the vndk set.
The txt files are updated accordingly.

Merged-In: I9c9e22088cc2afeb66e8b159f611b25d698cf800
Change-Id: I9c9e22088cc2afeb66e8b159f611b25d698cf800
(cherry picked from commit 81088bf131)
2017-12-07 03:06:52 +00:00
Jiyong Park 781c47f4da Reland "Prevent vendors from accessing private VNDK libs"
This reverts commit 875fe42a81.

... and fixes a bug that private VNDK libs are not accessible even to
RenderScript framework libraries (such as libRS_internal.so). This is
fixed by exceptionally allowing the private libs only to 'rs'
namespace.

Bug: 70260989
Bug: 70279973
Bug: 63878960
Test: Build for walleye and tested Photos edit.
Test: other renderscript app (camerascript) works as well
Change-Id: I3978cbe2e869f6a1c214c755ded038349bde7b6b
2017-12-07 11:59:36 +09:00
Yang Ni 875fe42a81 Revert "Prevent vendors from accessing private VNDK libs"
Bug: 70260989
Bug: 70279973

This reverts commit 6b369bee69.

Test: Build for Walley and tested Photos edit.
2017-12-06 11:59:26 -08:00
Elliott Hughes ff1ef9f2b1 Add a /bin symlink for convenience.
We already have /etc and /sbin. As the Android world moves towards / being
on the system partition, the circumstances under which a /bin symlink
won't work are reduced. This should already be usable most of the time.

Bug: http://b/63142920
Test: `adb shell /bin/date`
Change-Id: I81c2209ae808ced186d05fbe1d5417ce8dd93ea7
2017-12-06 08:59:02 -08:00
Alin Jerpelea 778447ad7d Merge "add odm partition to ld.config.legacy" am: cc06663c04 am: 6ba4207461
am: 61860a37aa

Change-Id: I06c52549ab1b316f6bb1854d9b2a71fbdbbabe36
2017-12-06 04:23:20 +00:00
Alin Jerpelea 6ba4207461 Merge "add odm partition to ld.config.legacy"
am: cc06663c04

Change-Id: I4251acfd4d37b09041aedfdbf926da0d2e64ff67
2017-12-06 04:10:24 +00:00
TreeHugger Robot 0f288d8630 Merge "Prevent vendors from accessing private VNDK libs" 2017-12-05 13:56:09 +00:00
Alin Jerpelea fa7958e1fb add odm partition to ld.config.legacy
change is needed to be able to load libraries from /odm partition

/odm partition should have the lowest priority so that it can not override
the libraries from /vendor or /system partitions

Test: libraries are loaded ok.
Change-Id: Ifdfc22a3406ae3ad1fde53618d4120fd0498f615
Signed-off-by: Alin Jerpelea <alin.jerpelea@sony.com>
2017-12-01 06:14:11 +09:00
Steven Moreland 8890f7431e Merge "ld.config.txt.in typo: absolution -> absolute" am: 34778d24ae am: 6cf3cd2288
am: be997bf245

Change-Id: If1e3b4f780fcf7a2a35626129b2e7e4841947201
2017-11-29 18:05:16 +00:00
Steven Moreland 6cf3cd2288 Merge "ld.config.txt.in typo: absolution -> absolute"
am: 34778d24ae

Change-Id: Ib541b7b0f3e5162845f49673e65cac5ab1fc909d
2017-11-29 17:57:34 +00:00
Steven Moreland ab338c10e6 ld.config.txt.in typo: absolution -> absolute
Test: none
Change-Id: I247722c0881fa733226eec6578f17b1a481d1e91
2017-11-28 12:42:19 -08:00
Jiyong Park 6b369bee69 Prevent vendors from accessing private VNDK libs
Private VNDK libs are VNDK libs that are only accessible from other VNDK
libs but are inaccessible from vendor libraries. The private VNDK libs
are marked as vendor_available: false.

To enforce this at runtime, the private VNDK libs are excluded from the
list of lib names that links the namespaces.

Also, linker namespaces for vendor processes are modified so that the
VNDK-core and VNDK-SP libs are now loaded in the 'system' namespace and
not in the 'default' namespace.

Bug: 63878960
Test: wahoo devices boot, log does not show any new dlopen error.

Change-Id: Ibfc4f31a97aa6edd7f05cd6177daeb52c165bfeb
2017-11-28 13:13:44 +09:00
Jiyong Park e04e4e7dfe add llndk|vndksp.libraries.txt to vndk_package
List of llndk and vndk-sp libraries are written in the txt file so that
they can be available at run-time. The information is used by
libnativeloader to configure the classloader-namespace specially for
vendor apks.

Bug: 64882323
Test: build 2017 pixel devices. check that the two files exist on
/system/etc.

Merged-In: Ifbe339a5862f6ef57a8213a14a022765ccf77283
Change-Id: Ifbe339a5862f6ef57a8213a14a022765ccf77283
(cherry picked from commit 26335f89b1)
2017-11-28 01:29:30 +00:00
Vishnu Nair 39b9f7cc18 Merge "Create location to store surface and window trace files on init" am: 3dfba33d67 am: 4d736b5fa5
am: e6c35c8608

Change-Id: I02663a6cb3fd019d104807ac375ed7092e3fddab
2017-11-27 21:37:22 +00:00
Vishnu Nair 4d736b5fa5 Merge "Create location to store surface and window trace files on init"
am: 3dfba33d67

Change-Id: Ibcd26a9644e954d4e9fa5be1d538e45c44fcd1b9
2017-11-27 21:26:25 +00:00
Treehugger Robot 3dfba33d67 Merge "Create location to store surface and window trace files on init" 2017-11-27 21:17:07 +00:00
Vishnu Nair d09ab7a217 Create location to store surface and window trace files on init
Bug: 64831661
Test: adb shell su root rm /data/misc/wmtrace && adb reboot && adb shell su ls /data/misc/wmtrace
Change-Id: I60979c26a9226534df534abd3d59df309f6ea6ad
2017-11-27 09:54:31 -08:00
Tom Cherry f8b9d77b81 Merge "Move mkdir /data/nfc/... to rootdir init.rc" am: fa65396ca2 am: 4b3bcf2a10
am: 77ad3f58ae

Change-Id: Ic2ba51690b3dd5b64ea76ec83cb6007b7894810f
2017-11-22 20:13:04 +00:00
Tom Cherry 4b3bcf2a10 Merge "Move mkdir /data/nfc/... to rootdir init.rc"
am: fa65396ca2

Change-Id: I623f24df9b42500f347ae427f4ffd94395abaa56
2017-11-22 20:03:47 +00:00
Tom Cherry fa65396ca2 Merge "Move mkdir /data/nfc/... to rootdir init.rc" 2017-11-22 19:56:10 +00:00
Chen Xu df482d03ad Merge "a new folder to store OTA carrier id update"
am: 76adcdf688

Change-Id: I052a0810830b2a81a8a992d66e8e59cda343b347
2017-11-22 04:35:44 +00:00
fionaxu 06b8e2e130 a new folder to store OTA carrier id update
Bug:64131637
Test: Build
Change-Id: I0ce4322f297bab427d70aed3c329345c899786bb
(cherry picked from commit 45713ff621)
2017-11-21 17:31:00 -08:00
fionaxu 45713ff621 a new folder to store OTA carrier id update
Bug:64131637
Test: Build
Change-Id: I0ce4322f297bab427d70aed3c329345c899786bb
2017-11-21 12:34:39 -08:00
Tom Cherry c319310f9b Move mkdir /data/nfc/... to rootdir init.rc
These are directories used by the system so they should be created by
the system.

Test: treehugger
Change-Id: I2a721ef7871c8842fa912497f5ec6988fcec9e58
2017-11-21 10:40:25 -08:00
Xin Li 23e27db576 Merge commit 'a63ccea6abc7ea02e2d98e41c80793ca97237bd3' from
oc-mr1-dev-plus-aosp into stage-aosp-master

Change-Id: Ia33311cd1fd26dfaea59a69317b306fb91203c40
Merged-In: I03d06b10807e8a313c9654c2e1db36bfb59e3f99
2017-11-14 13:19:45 -08:00
Steven Moreland 2eaa098bfe Merge "PRODUCT_TREBLE_LINKER_NAMESPACES for ld.config.txt" am: c437e14c17 am: 5bd7b32c15
am: 2c531b007e

Change-Id: Iee1ac7081e7954099e9ee77c07480e8db30adb67
2017-11-13 21:19:21 +00:00
Steven Moreland 2c531b007e Merge "PRODUCT_TREBLE_LINKER_NAMESPACES for ld.config.txt" am: c437e14c17
am: 5bd7b32c15

Change-Id: I0958fea7b320025bb329defe2d26a922e7f236bb
2017-11-13 21:13:50 +00:00
Treehugger Robot c437e14c17 Merge "PRODUCT_TREBLE_LINKER_NAMESPACES for ld.config.txt" 2017-11-13 21:06:34 +00:00
Yifan Hong aae9ad533c healthd is class hal
because it serves health 2.0 HAL. This forces it to restart when
hwservicemanager dies.

Bug: 69069765
Test: kill hwservicemanager, lshal shows backup instance

Change-Id: Ib51caa0e718031a0f8797d8af4c2459b4958a62e
2017-11-10 16:42:21 -08:00
Tianjie Xu 41dee1e2be Merge "Create a new directory on boot for update_engine logs" am: 78d882bb5f am: 5d86509d19
am: 2ca0bbfae3

Change-Id: Ibfb3c4054bb0f06446e5c959335ff2abdbe17370
2017-11-10 22:18:15 +00:00
Tianjie Xu 2ca0bbfae3 Merge "Create a new directory on boot for update_engine logs" am: 78d882bb5f
am: 5d86509d19

Change-Id: I01611463c081fafd60fc315a4a91418a4ddef22a
2017-11-10 22:14:35 +00:00
Steven Moreland 4e641e3b6a PRODUCT_TREBLE_LINKER_NAMESPACES for ld.config.txt
PRODUCT_FULL_TREBLE is being deprecated in favor
of smaller flags. Use the appropriate one instead.

Bug: 62019611
Test: manual
Change-Id: Id5d127c29f908cd3011031b3b698ddec3dcba9c1
2017-11-10 10:25:45 -08:00
Tianjie Xu 74fa3cab4e Create a new directory on boot for update_engine logs
Partners require to access update_engine's logs on the file system with
non-root permission.

Bug: 65568605
Test: directory created with the correct permission on boot
Change-Id: I1c1fb4acb8b0f2e7352ffa9e7d05a864940b5986
2017-11-09 12:11:28 -08:00
Jiyong Park a2935e0c8b Tests are run with proper namespace configs by their locations
Tests in /data/[nativetest|benchmarktest] run with namespace config for
system and tests in /data/[nativetest|benchmarktest]/vendor run with
namespace config for vendor.

They no longer run in the 'test' namespace config which didn't impose
any restriction for libraries.

Bug: 67028906
Test: sailfish/marlin builds and boots
Test: no VTS regression on system.img from GSI + vendor.img from
marlin/sailfish
Test: VtsKernelLibcutilsTest successful in above config

Merged-In: I28cdef960d087565c8a22dca0e9a154fb1c3bb94
Change-Id: I28cdef960d087565c8a22dca0e9a154fb1c3bb94
(cherry picked from commit 326b783ad9)
2017-10-30 10:27:45 +09:00
Jiyong Park 6ed1a1c339 Fix: make vndk namespace visible for 2016 Pixes
The nativeloader tries to find the 'vndk' namespace when there is a
vendor apk in the classloader paths. This can happen even for a
downloaded app if the app is using a vendor apk via <uses-library> tag.

In order to prevent the nativeloader from failing to find the vndk
namespace, the namespace is marked as visible.

Bug: 66482442
Test: download the app mentioned in the bug, it does not crash.
Merged-In: I82e2394eb6eedcb8645e1a5b3735bbfe2735b312
Change-Id: I82e2394eb6eedcb8645e1a5b3735bbfe2735b312
(cherry picked from commit 1cc09e749f)
2017-10-30 10:27:45 +09:00
Jiyong Park 7f654c3243 vndk: remove vendor/lib from the search path of the 'vndk' namespace
'vndk' namespace is the place for VNDK-SP libs. So /vendor/lib must be
removed from its search paths. It was there just because libhardware
(which is VNDK-SP) is loading HAL libs in vendor partition from there.
However this problem has been solved by modifying the libhardware so
that HAL libs are loaded from the 'sphal' namespace and not from the
current (the 'vndk') namespace.

Bug: 37731053
Test: sailfish builds and boots
Merged-In: Ia88934a975aa8811e05b5ba408e42d132f20f4e9
Change-Id: Ia88934a975aa8811e05b5ba408e42d132f20f4e9
(cherry picked from commit f01b52895d)
2017-10-30 10:27:45 +09:00
Jiyong Park e58fa1b0c6 libz is back to LLNDK
For 2016 pixel devices, where VNDK is not fully enforced, move libz back
to LLNDK so that we can pass the CTS without requiring the default
namespace to be isolated.

If we have libz in vndk-sp directory, test_linker_namespaces fails
because /system/lib/vndk-sp/libz.so becomes accessible. In order to make
the lib inaccessible, we have to make the default namespace isolated,
but this can't be done for 2016 pixel devices where VNDK is not fully
enforced. So, we choose to remove /system/lib/vndk-sp/libz.so and keep
the single copy at /system/lib.

Bug: 65018779
Test: android.jni.cts.JniStaticTest#test_linker_namespaces successful on
2016 pixel devices

Merged-In: Ib6b6560b02be69d2015c0afb86acf07c02b30c2f
Change-Id: Ib6b6560b02be69d2015c0afb86acf07c02b30c2f
(cherry picked from commit 697eb2da0d)
2017-10-30 10:27:45 +09:00
Jiyong Park 7075bca364 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.

Merged-In: I0b441791e395798e80a84592ca01e771bb1c201a
Change-Id: I0b441791e395798e80a84592ca01e771bb1c201a
(cherry picked from commit 421a5e46b7)
2017-10-30 10:27:45 +09:00
Justin Yun 136eb05892 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
Merged-In: I991dc774ca9b92fb6e95a7656243a6a4ecdc0ab9
Change-Id: I991dc774ca9b92fb6e95a7656243a6a4ecdc0ab9
(cherry picked from commit 513f76394a)
2017-10-30 10:27:45 +09:00
Justin Yun 8ebf6ee6f6 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
Merged-In: I883bc6fda268e98cc7cdd5888264170c58688794
Change-Id: I883bc6fda268e98cc7cdd5888264170c58688794
(cherry picked from commit dadd3a846f)
2017-10-30 10:27:45 +09:00
Josh Gao e7be481a7b Merge "Delete obsolete debuggerd references." am: 1193f3bff6 am: 2bf84f9cdd
am: bfdff800a5

Change-Id: I8f98856436285659ba41276242c799453255eed8
2017-10-28 01:23:41 +00:00
Josh Gao bfdff800a5 Merge "Delete obsolete debuggerd references." am: 1193f3bff6
am: 2bf84f9cdd

Change-Id: I08060b18ac0c767bf07ad16a04f9e7ec24993113
2017-10-28 01:19:04 +00:00
Josh Gao 18ea0978cf Delete obsolete debuggerd references.
Test: treehugger
Change-Id: Ic1a8cfb867decd76443fdc26333f2bcaa98b61bb
2017-10-27 16:12:49 -07:00
TreeHugger Robot 49bb5794c8 Merge "Permitted and search path change" 2017-10-26 06:07:06 +00:00
Elliott Hughes 446ab4a378 Merge "Remove Foreground Boost CPUSet" am: 77451492bc am: 17c8a89a08
am: 4921f97fe3

Change-Id: I8f5d7f438c41969a623d0468bb96150824feded7
2017-10-25 20:05:58 +00:00
Elliott Hughes 4921f97fe3 Merge "Remove Foreground Boost CPUSet" am: 77451492bc
am: 17c8a89a08

Change-Id: I08f25d4a799fdb7f3c5b415675dd3c50fa65fe93
2017-10-25 20:02:19 +00:00
Elliott Hughes 77451492bc Merge "Remove Foreground Boost CPUSet" 2017-10-25 19:55:50 +00:00
Jake Weinstein 60bc597183 Remove Foreground Boost CPUSet
This functionality was removed at
https://android.googlesource.com/platform/frameworks/base/+/a712d4058f6f85268838
2017-10-23 20:07:22 -04:00
Jae Shin a909e5e2a1 Merge changes from topic "rs_vndk_step2"
am: 678efa25a6

Change-Id: Idcab36c112406e3dc1fe4eb9cfd5c345cafc0290
2017-10-23 03:03:05 +00:00
Jiyong Park 324f3ed393 templatize ld.config.txt
am: ecc703c792

Change-Id: Ic9dc2f35a4a9a2c2a56cb24a9ac02e9373ed78df
2017-10-23 03:02:31 +00:00
Jiyong Park 6683a8735b Make default namespace for system processes isolated
am: 246338f90e

Change-Id: I2f2d2799ab57031a3c3b24830c0e10376e035acd
2017-10-23 03:01:58 +00:00
Justin Yun e96c957e57 vndk: add vendor/lib(64)/vndk for vendor namespace
am: b5ddc5ae6b

Change-Id: I1e22e9a994932e3e93cbbafb8d5defd5efd69b7c
2017-10-23 03:01:12 +00:00
Justin Yun c82e43034b Implement system namespace for vendor process
am: 333845c710

Change-Id: I0fda3fe689832b0b5cc13a381dacdd633886e27a
2017-10-23 03:00:13 +00:00
Jiyong Park 6d9f5e4012 Use the legacy linker namespace configs when target is sanitized
am: 614c5521a3

Change-Id: I80ff3cb047a9ad351590524a5602cdc0f9df3e61
2017-10-23 02:59:15 +00:00
Jiyong Park b9d74495b1 Permit /system/lib/vndk-sp/hw/ for 'sphal' namespace
am: b5c0fc3ceb

Change-Id: Ic74e02582c7c2f5b7e9900bf77026168a2947fd2
2017-10-23 02:57:57 +00:00
Justin Yun 1cd1a2b812 Add system/${LIB}/vndk to default namespace for vendor.
am: e373672afd

Change-Id: I4f4e47bb297ec604f79007260883112da5de67e1
2017-10-23 02:56:40 +00:00
Jiyong Park 257de3def5 fix: boot fails on ASAN builds with VNDK restriction
Fix the bug that caused boot failure on ASAN builds with VNDK
restriciton. The major cause is because incorrect (old) ld.config.txt
was used when the build is sanitized, which prevented the dynamic linker
to find some VNDK libs that only exist in /system/lib/vndk; the old
ld.config.txt does not have the directory in its search paths. So, this
CL fixes the problem by having the same ld.config.txt for both sanitized
and non-sanitizied builds.

Furthermore, ld.config.txt is modified so that dependency to
libclang_rt* libs are redirected to those in /system/lib directory. This
ensures that the sanitizer runtime libs are not dual loaded but are
provided for both platform and vendors.

Bug: 65217017
Test: SANITIZE_TARGET=integer_overflow SANITIZE_TARGET_DIAG=integer_overflow m
on 2017 pixel devices. The build is successful and the device boots to
the UI.

Merged-In: I0e21e20d9aca340b984968e07d4ce542ae10fd31
Change-Id: I0e21e20d9aca340b984968e07d4ce542ae10fd31
(cherry picked from commit faefa6bd36)
2017-10-23 02:42:47 +00:00
Jiyong Park ecc703c792 templatize ld.config.txt
Lists of libraries in between the linker namespaces are no longer
hard-coded in ld.config.txt, but instead come from Soong.

Bug: 37139976
Test: build 2017 pixel device with BOARD_VNDK_VERSION=current m -j
Test: the device is bootable, basic functionalities (camera, camcorder,
wifi, bt, gps, etc.) work.
Merged-In: I8170e6c3f6ee04b16359791d64cc46bd2714a073
Change-Id: I8170e6c3f6ee04b16359791d64cc46bd2714a073

(cherry picked from commit 367984602a)
2017-10-23 02:40:37 +00:00
Jiyong Park 246338f90e Make default namespace for system processes isolated
The default namespace for system process now becomes isolated, which
means it can load only the libs that are in search.paths and under
permitted.paths.

/system/framework, /system/app, /system/priv-app, /vendor/app, /data,
etc are added to the permitted paths since libart should be able to
dlopen odex files under the locations.

Following directories become unavailable:
/system/lib/vndk
/system/lib/vndk-sp

Bug: 37013858
Bug: 64888291
Bug: 64950640
Test: 2017 pixel devices builds and boots
Test: android.jni.cts.JniStaticTest#test_linker_namespaces passes
Merged-In: I2bbe9cc19940c3633c2fb901f9bf8ab813e38c13
Change-Id: I2bbe9cc19940c3633c2fb901f9bf8ab813e38c13
(cherry picked from commit 55f05d79f9)
2017-10-23 11:10:32 +09:00
Justin Yun b5ddc5ae6b 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
Merged-In: I99ed37eb1a9e92c83533e2d92c9c06db11f01e97
Change-Id: I99ed37eb1a9e92c83533e2d92c9c06db11f01e97
(cherry picked from commit 3094de9684)
2017-10-23 11:10:31 +09:00
Justin Yun 333845c710 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

Merged-In: If9778b9266a084846ba8fe73e6bff25828359d33
Change-Id: If9778b9266a084846ba8fe73e6bff25828359d33
(cherry picked from commit 24c29f1be4)
2017-10-23 11:10:30 +09:00
Jiyong Park 614c5521a3 Use the legacy linker namespace configs when target is sanitized
The new linker namespace config causes problem when the target is
sanitized: vendor libs which are loaded in the sphal namespace can't
link against to libclang_rt* libs which are in /system/lib directory
because the directory is not allowed for sphal namsapce.

Long-term solution would be installing libclang_rt* to both /system/lib
and /vendor/lib so that vendor libs can link against to the one in
/vendor/lib.

Until the work is done, let's just disable the new linker namespace
config when the target is to be sanitized.

Bug: 63535130
Test: make SANITIZE_TARGET=integer_overflow
SANITIZE_TARGET_DIAG=integer_overflow builds and boots to the UI

Merged-In: I6afb69885aaa3d25e554b9ca699a572248bfc50a
Change-Id: I6afb69885aaa3d25e554b9ca699a572248bfc50a
(cherry picked from commit fff6f75fc1)
2017-10-23 11:10:29 +09:00
Jiyong Park b5c0fc3ceb 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
Merged-In: I9c456983ef68120c5e8c629efc6dd66a26220ecb
Change-Id: I9c456983ef68120c5e8c629efc6dd66a26220ecb
(cherry picked from commit 7d4cf3fd33)
2017-10-23 11:10:28 +09:00
Justin Yun e373672afd Add system/${LIB}/vndk to default namespace for vendor.
With BOARD_VNDK_VERSION=current, vndk libs will be installed in
system/${LIB}/vndk. To make them available for vendor, it must be
added to default namespace.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: I9e467a6125fc89513754b56a2420975559144f98
Change-Id: I9e467a6125fc89513754b56a2420975559144f98
(cherry picked from commit 90a2487776)
2017-10-23 11:10:27 +09:00
Jiyong Park c8ae86afdd Add [test] section for /data/[nativetest|benchmarktest]
We have both system and vendor tests in the same directory
/data/nativetest. Since we can't distinguish system and vendor tests at
runtime, we choose to run all of them with the legacy namespace
configuration where /system/lib and /vendor/lib are both accessible
without any restriction. Furthermore, /system/lib/vndk-sp is added to
the list of accessible directories for tests since some libs (such as
libion.so) exist only in the directory but not in /system/lib.

This will change in the future when we install system and vendor tests
into different directories (vendor tests goes into ./vendor subdir).
Then, we will run the tests with [system] or [vendor] configurations
depending on their paths.

Bug: 63597267
Test: run bionic-unit-tests
Test: run linker-unit-tests
Merged-In: I810003b2da0b30335200c130f484ea7b041f9f80
Change-Id: I810003b2da0b30335200c130f484ea7b041f9f80
(cherry picked from commit c034a43d44)
2017-10-23 11:10:26 +09:00
Jiyong Park 433fe3a8a2 /data/nativetest[64] processes are running with the new ns config
Native tests under /data/nativetest[64] directory is now running with
the same linker namespace configuration as /system/bin/* processes.

This allows us to stop mimicing the linker namespace configuration of the
/system/bin/* processes using LD_LIBRARY_PATH.

Bug: 63597267
Test: run bionic-unit-tests
Test: run linker-unit-tests
Merged-In: If8e2ed0b8016e4e07bf6829735b8e02f952042d0
Change-Id: If8e2ed0b8016e4e07bf6829735b8e02f952042d0
(cherry picked from commit 9d1e50b809)
2017-10-23 11:10:25 +09:00
Jiyong Park 81088bf131 Remove *.dep files for ld.config.txt, [llndk|vndksp].libraries.txt
The dep files are not required because change in the command line
triggers the rule.

Test: m -j ld.config.txt llndk.libraries.txt vndksp.libraries.txt
Re-run the build after adding or removing libs to/from the vndk set.
The txt files are updated accordingly.

Change-Id: I9c9e22088cc2afeb66e8b159f611b25d698cf800
2017-10-13 16:36:49 +09:00
Dmitry Shmidt 31da436566 Merge "console: Add setenv HOSTNAME console" am: d2c66b31a0 am: 5884f608d9 am: 825915bfde
am: 455faa53ed

Change-Id: I4454a732810ef6f6d70b1f7d91455c8fb45b145f
2017-10-11 21:57:23 +00:00
Dmitry Shmidt 455faa53ed Merge "console: Add setenv HOSTNAME console" am: d2c66b31a0 am: 5884f608d9
am: 825915bfde

Change-Id: Ia845dfb8cba654766dfff15f2eab7dbee621a45d
2017-10-11 20:50:54 +00:00
Dmitry Shmidt 5884f608d9 Merge "console: Add setenv HOSTNAME console"
am: d2c66b31a0

Change-Id: I85addec989872b9e66f0e68c4fea20b969a1eb25
2017-10-11 20:28:49 +00:00
Dmitry Shmidt d0fb2510e2 console: Add setenv HOSTNAME console
Bug: 67678999
Test: Run serial console on Hikey

Change-Id: Ia5fa9c2af4771508d96545f6a8814a81d5ccee3c
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2017-10-11 11:20:02 -07:00
Sundong Ahn 85c773f0a2 Permitted and search path change
The permitted and search paths should be changed according to VNDK version.
However these paths are fixed with vndk and vndk-sp. So I define the
directory name as below
- /system/${LIB}/vndk${VNDK_VERSION}
- /system/${LIB}/vndk-sp${VNDK_VERSION}
${VNDK_VERSION} will be set by the property "ro.vndk.version".

Bug: 66074376
Test: build & run
Change-Id: I7b8e12327af89d131c4c49cb9b459a393c7dacb8
2017-10-11 14:05:58 +09:00
Marco Nelissen 593b43910b Fix media on W/T
W/T enforce restrictions on linker paths, which M/S do not.
Because of this, media.extractor was unable to load its extractors on W/T.

Bug: 67405932
Test: play sounds successfully
Change-Id: I8914da74780c909da815beaffcd4d76fbe2cc6b5
2017-10-04 13:47:17 -07:00
TreeHugger Robot 773ebbdfe3 Merge "resolve merge conflicts of 73d9596bc to oc-mr1-dev-plus-aosp" into oc-mr1-dev-plus-aosp 2017-09-30 00:57:51 +00:00
Keun Soo Yim dfe8bb87df Merge "Tests are run with proper namespace configs by their locations" into oc-mr1-dev am: aedc1c9ab0
am: 202c5af4be

Change-Id: I5e794726de781c2faf72c89c442c115862009417
2017-09-29 23:27:08 +00:00
Keun Soo Yim 202c5af4be Merge "Tests are run with proper namespace configs by their locations" into oc-mr1-dev
am: aedc1c9ab0

Change-Id: I121703da98b8c66f24bbf0efced1c592c2fc113e
2017-09-29 23:23:08 +00:00
Keun Soo Yim aedc1c9ab0 Merge "Tests are run with proper namespace configs by their locations" into oc-mr1-dev 2017-09-29 22:59:28 +00:00
Bowgo Tsai 62398781f5 resolve merge conflicts of 73d9596bc to oc-mr1-dev-plus-aosp
Change-Id: I8272038fe905a88273ce9aa690af0ee0005a6b67
2017-09-30 06:44:32 +08:00
Jiyong Park cf3c298376 Merge "Fix: make vndk namespace visible for 2016 Pixes" into oc-mr1-dev am: 2f00c80c2b
am: f196067a8f

Change-Id: Ic9c2a52d2c07174716e2e33b2e52f8169809e94b
2017-09-29 21:08:56 +00:00
Jiyong Park f196067a8f Merge "Fix: make vndk namespace visible for 2016 Pixes" into oc-mr1-dev
am: 2f00c80c2b

Change-Id: I7659a648f88559ddf65c879e695c1766b3854686
2017-09-29 20:54:04 +00:00
TreeHugger Robot 2f00c80c2b Merge "Fix: make vndk namespace visible for 2016 Pixes" into oc-mr1-dev 2017-09-29 20:41:42 +00:00
Jiyong Park afc8dda111 Merge "Remove workaround for VNDK violations" into oc-mr1-dev am: 152687b26e
am: f631a98a31

Change-Id: Ic9c4597df4d26675524ce6ebb626d60e1eb9a014
2017-09-29 20:02:08 +00:00
Jiyong Park f631a98a31 Merge "Remove workaround for VNDK violations" into oc-mr1-dev
am: 152687b26e

Change-Id: I40798ad3c2a394d3210a3c218fd52ea38fc8cbff
2017-09-29 19:05:49 +00:00
Bowgo Tsai d29ac08509 Merge "Removing $(PRODUCT_OUT)/root/root"
am: 8cbbacdc15

Change-Id: Ia671976f8d7d4b83478c58d566e309f36af125ab
2017-09-29 03:27:38 +00:00
Jiyong Park 326b783ad9 Tests are run with proper namespace configs by their locations
Tests in /data/[nativetest|benchmarktest] run with namespace config for
system and tests in /data/[nativetest|benchmarktest]/vendor run with
namespace config for vendor.

They no longer run in the 'test' namespace config which didn't impose
any restriction for libraries.

Bug: 67028906
Test: sailfish/marlin builds and boots
Test: no VTS regression on system.img from GSI + vendor.img from
marlin/sailfish
Test: VtsKernelLibcutilsTest successful in above config

Change-Id: I28cdef960d087565c8a22dca0e9a154fb1c3bb94
2017-09-29 05:04:27 +09:00
Bowgo Tsai 144893e5ec Removing $(PRODUCT_OUT)/root/root
Bug: 65570851
Test: boot sailfish
Change-Id: I80c3c3de23c57343187fde207980731b5341bc1f
Merged-In: I80c3c3de23c57343187fde207980731b5341bc1f
(cherry picked from commit ededee3e40)
2017-09-28 18:10:58 +08:00
Jiyong Park f8025aae82 Remove workaround for VNDK violations
lib-dplmedia.so and qseeproxydaemon no longer depend on non-VNDK
libraries. Remove the workaround.

Bug: 64427765
Bug: 64820887
Test: 2017 pixel devices boots
Change-Id: Ib8bcbbb16169dc5c997d6c0dad061c66dcd0ccfe
2017-09-26 01:54:57 +09:00
Jiyong Park 1cc09e749f Fix: make vndk namespace visible for 2016 Pixes
The nativeloader tries to find the 'vndk' namespace when there is a
vendor apk in the classloader paths. This can happen even for a
downloaded app if the app is using a vendor apk via <uses-library> tag.

In order to prevent the nativeloader from failing to find the vndk
namespace, the namespace is marked as visible.

Bug: 66482442
Test: download the app mentioned in the bug, it does not crash.
Change-Id: I82e2394eb6eedcb8645e1a5b3735bbfe2735b312
2017-09-26 01:38:22 +09:00
Bowgo Tsai ededee3e40 Removing $(PRODUCT_OUT)/root/root
Bug: 65570851
Test: boot sailfish
Change-Id: I80c3c3de23c57343187fde207980731b5341bc1f
2017-09-22 15:12:02 +08:00
Jiyong Park 25a03a23a8 Merge changes from topic "vndk_jni" into oc-mr1-dev
am: 6f7d928940

Change-Id: I69af1cdf06bf71f1125644c7064b40444613eaa7
2017-09-14 14:52:51 +00:00
Jiyong Park 6eaa30765e add llndk|vndksp.libraries.txt to vndk_package
am: 26335f89b1

Change-Id: Idc8d3ff696c782963337fa21ead8a7665c0a1e98
2017-09-14 14:52:40 +00:00
TreeHugger Robot 6f7d928940 Merge changes from topic "vndk_jni" into oc-mr1-dev
* changes:
  vendor apk is unbundled
  add llndk|vndksp.libraries.txt to vndk_package
2017-09-14 01:35:43 +00:00
Jiyong Park 299591e464 Merge "fix: boot fails on ASAN builds with VNDK restriction" into oc-mr1-dev
am: 80206d8f03

Change-Id: I051d1683e95171bc1e3e3d16007c5d25ea923bc2
2017-09-08 01:41:44 +00:00
TreeHugger Robot 80206d8f03 Merge "fix: boot fails on ASAN builds with VNDK restriction" into oc-mr1-dev 2017-09-08 01:20:30 +00:00
Jiyong Park a07f3057d0 vendor apk is unbundled
For devices where VNDK restrictions are all enforced, vendor apks are
recognized as unbundled; since system partition and vendor partition can
be updated independently from each other.

However, since vendor apks are still bundled in the vendor partition,
they are allowed to do more than ordinaly unbundled apks that are
downloaded and installed to the data partition.

1) /vendor/lib is allowed. So the path is added to the search_paths and
permitted paths of the classloader namespace.
2) LLNDK libs are allowed in addition to the NDK libs. So, LLNDK lib list
from llndk.libraries.txt is added to the list from public.libraries.txt.
3) VNDK-SP libs are allowed. To do so, the classloader namespace is
linked to the 'vndk' namespace where VNDK-SP libs are searched and
loaded from. The list of available VNDK-SP libs is read from
vndksp.libraries.txt file.
4) Name of the namespace is changed to 'vendor-classloader-namespace'
since the namespace is configured differently from the ordinary
'classloader-namespace'.

Bug: 63553457
Test: 2017 pixel devices build and boots to the UI
Test: a vendor apk (e.g. TimeService.apk) works. Turn the airplain mode on.
Set time. Reboot the device. The time is not reset.
Test: 1) set target as 2017 pixel
2) m -j CtsVendorJniTestCases
3) copy the built apk into /vendor/app/CtsVendorJniTestCases
4) reboot / factory reset
5) adb shell am instrument -w android.jni.vendor.cts

Change-Id: I447452eb025c0a0fd076b5c9ac081d453dc6074e
2017-09-07 20:26:10 +09:00
Jiyong Park 26335f89b1 add llndk|vndksp.libraries.txt to vndk_package
List of llndk and vndk-sp libraries are written in the txt file so that
they can be available at run-time. The information is used by
libnativeloader to configure the classloader-namespace specially for
vendor apks.

Bug: 64882323
Test: build 2017 pixel devices. check that the two files exist on
/system/etc.

Change-Id: Ifbe339a5862f6ef57a8213a14a022765ccf77283
2017-09-07 11:51:29 +09:00
Jiyong Park 533062b8d6 Merge "templatize ld.config.txt" into oc-mr1-dev
am: 2d3cf6799e

Change-Id: I570d4d52b630c3de0e82ec67638c6c37c48d1074
2017-09-01 03:28:45 +00:00
TreeHugger Robot 2d3cf6799e Merge "templatize ld.config.txt" into oc-mr1-dev 2017-09-01 03:23:17 +00:00
Jiyong Park 8e14484166 Merge "libz is back to LLNDK" into oc-mr1-dev
am: d9d20baf6f

Change-Id: Id2649fcd9c66003a5e84d75d91a34604b5f5d7e0
2017-09-01 00:54:49 +00:00
TreeHugger Robot d9d20baf6f Merge "libz is back to LLNDK" into oc-mr1-dev 2017-09-01 00:39:14 +00:00
Jiyong Park faefa6bd36 fix: boot fails on ASAN builds with VNDK restriction
Fix the bug that caused boot failure on ASAN builds with VNDK
restriciton. The major cause is because incorrect (old) ld.config.txt
was used when the build is sanitized, which prevented the dynamic linker
to find some VNDK libs that only exist in /system/lib/vndk; the old
ld.config.txt does not have the directory in its search paths. So, this
CL fixes the problem by having the same ld.config.txt for both sanitized
and non-sanitizied builds.

Furthermore, ld.config.txt is modified so that dependency to
libclang_rt* libs are redirected to those in /system/lib directory. This
ensures that the sanitizer runtime libs are not dual loaded but are
provided for both platform and vendors.

Bug: 65217017
Test: SANITIZE_TARGET=integer_overflow SANITIZE_TARGET_DIAG=integer_overflow m
on 2017 pixel devices. The build is successful and the device boots to
the UI.

Change-Id: I0e21e20d9aca340b984968e07d4ce542ae10fd31
2017-09-01 07:53:56 +09:00
Jiyong Park 367984602a templatize ld.config.txt
Lists of libraries in between the linker namespaces are no longer
hard-coded in ld.config.txt, but instead come from Soong.

Bug: 37139976
Test: build 2017 pixel device with BOARD_VNDK_VERSION=current m -j
Test: the device is bootable, basic functionalities (camera, camcorder,
wifi, bt, gps, etc.) work.
Change-Id: I8170e6c3f6ee04b16359791d64cc46bd2714a073
2017-09-01 07:53:56 +09:00
Jiyong Park ab8de9ebc3 Make default namespace for system processes isolated
am: 55f05d79f9

Change-Id: Idd31e85fbe01a506f11c88fd4dcecb23db936d0e
2017-08-31 16:17:20 +00:00
Jiyong Park 697eb2da0d libz is back to LLNDK
For 2016 pixel devices, where VNDK is not fully enforced, move libz back
to LLNDK so that we can pass the CTS without requiring the default
namespace to be isolated.

If we have libz in vndk-sp directory, test_linker_namespaces fails
because /system/lib/vndk-sp/libz.so becomes accessible. In order to make
the lib inaccessible, we have to make the default namespace isolated,
but this can't be done for 2016 pixel devices where VNDK is not fully
enforced. So, we choose to remove /system/lib/vndk-sp/libz.so and keep
the single copy at /system/lib.

Bug: 65018779
Test: android.jni.cts.JniStaticTest#test_linker_namespaces successful on
2016 pixel devices

Change-Id: Ib6b6560b02be69d2015c0afb86acf07c02b30c2f
2017-08-31 22:11:35 +09:00
Bowgo Tsai f390f04381 Merge "Move adbd from root to system"
am: 3d6f85167e

Change-Id: I3b89a7a8e98252319f850a225ef7ba2080e54879
2017-08-31 06:30:48 +00:00
Treehugger Robot 3d6f85167e Merge "Move adbd from root to system" 2017-08-31 06:22:16 +00:00
Jiyong Park 55f05d79f9 Make default namespace for system processes isolated
The default namespace for system process now becomes isolated, which
means it can load only the libs that are in search.paths and under
permitted.paths.

/system/framework, /system/app, /system/priv-app, /vendor/app, /data,
etc are added to the permitted paths since libart should be able to
dlopen odex files under the locations.

Following directories become unavailable:
/system/lib/vndk
/system/lib/vndk-sp

Bug: 37013858
Bug: 64888291
Bug: 64950640
Test: 2017 pixel devices builds and boots
Test: android.jni.cts.JniStaticTest#test_linker_namespaces passes
Change-Id: I2bbe9cc19940c3633c2fb901f9bf8ab813e38c13
2017-08-31 11:52:03 +09:00
Tom Cherry 698da68800 Merge "Globally allow up to 32K FDs open per process" am: 451ff37052 am: 42fb030221
am: 32e268561a

Change-Id: I07f13cb0ccfa5e5b1bbf9ef3c4dfb27d2e711a02
2017-08-29 21:32:05 +00:00
Tom Cherry 42fb030221 Merge "Globally allow up to 32K FDs open per process"
am: 451ff37052

Change-Id: Icb14faacb7d10fd99dd66e2172e04c0e73a8b170
2017-08-29 21:15:03 +00:00
Tom Cherry cb5fccc83c Globally allow up to 32K FDs open per process
We've seen crashes due to processes exceeding the current soft limit
for open FDs of 1024, mainly due to increases in using FDs for shared
memory and gralloc memory objects.

There is not a compelling reason to keep this limit artificially low,
so we raise it to 32K.  This matches my desktop linux limit, so it is
with precedent.

Bug: 64894637
Test: open 32K FDs in a process without failure then fail after 32K
Change-Id: Ibecfc486e9c61f273a432a108893137d2d13a530
2017-08-28 13:08:24 -07:00
Nick Kralevich 566ae3ebf6 Merge "init.rc: Lock down access to /proc/net/fib_trie" into oc-mr1-dev
am: c3090ba2f4

Change-Id: I9ffa9c76b807c8439f05388f4b8aae3d131bac5a
2017-08-28 14:42:49 +00:00
Nick Kralevich 15ffc53f6d init.rc: Lock down access to /proc/net/fib_trie
Make /proc/net/fib_trie only readable to root.

Bug: 31269937
Test: Device boots, file has appropriate permissions.
Change-Id: I0d01ce5c043d576344a6732b0b9ff93d62fcaa34
2017-08-25 12:55:52 -07:00
Mark Salyzyn 8b2136afe0 Merge "Switch /data/misc/reboot/last_reboot_reason to persistent property" am: 13cb599536 am: 37c6015d9d
am: a0641b5c13

Change-Id: Ia78340ffa961a3375dfa5f6b012f4f98bd7b01e3
2017-08-25 14:47:51 +00:00
Mark Salyzyn 37c6015d9d Merge "Switch /data/misc/reboot/last_reboot_reason to persistent property"
am: 13cb599536

Change-Id: Ib6c1b51668b892288db931b09b099bf5ed28fbae
2017-08-25 14:24:21 +00:00
Justin Yun e2c3cb1634 vndk: add vendor/lib(64)/vndk for vendor namespace
am: 3094de9684

Change-Id: I389ceda99569f3aaebac1a8b5f04e02e146fa8f0
2017-08-25 07:35:48 +00:00
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
Mark Salyzyn 73e6b49c0c Switch /data/misc/reboot/last_reboot_reason to persistent property
Switch from /data/misc/reboot/last_reboot_reason to persistent
Android property persist.sys.boot.reason for indicating why the
device is rebooted or shutdown.

persist.sys.boot.reason has a standard as outlined in b/63736262 and
the associated investigation. Made adjustments to the values so that
we did not create a problem even before we started. Compliance is
part of the tests in boot_reason_test.sh.

Test: system/core/bootstat/boot_reason_test.sh
Bug: 64687998
Change-Id: I812c55a12faf7cb7ff92101009be058ad9958d07
2017-08-24 15:13:48 -07:00
Bowgo Tsai 7b9a4d5bcd 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
Merged-In: I1b27910c06a4172ca718b3344736ec8e3429f477
(cherry picked from commit 93defc17f3)
2017-08-24 14:22:07 +08:00
Justin Yun 2e887ef819 Implement system namespace for vendor process
am: 24c29f1be4

Change-Id: Ie5358aea408aaf817a1f0a76bf6907051cb207e4
2017-08-22 07:52:54 +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
Bowgo Tsai 2a64967b7a Merge "Move adbd from root to system" into oc-mr1-dev
am: 0bb4cb6fa2

Change-Id: I0be7a2d6f0d58add826f61df14a5c6503e77413d
2017-08-18 06:06:49 +00:00
TreeHugger Robot 0bb4cb6fa2 Merge "Move adbd from root to system" into oc-mr1-dev 2017-08-18 03:52:36 +00:00
Jiyong Park b62e979d72 Merge "Make the rs namespace visible" into oc-mr1-dev
am: f34814e06c

Change-Id: I194fb3044998a8f02ff80caefae283a765594417
2017-08-18 03:15:40 +00: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
Justin Yun 27e501f100 Merge "Add libft2.so to ll-ndk for rs namespace" into oc-mr1-dev
am: acda9cba2e

Change-Id: I6835036af67f2328c8ad807b68de2970f2a99fb3
2017-08-15 10:23:08 +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
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
Justin Yun 53ed5e4729 Merge "Move libz vndk-sp from ll-ndk" into oc-mr1-dev
am: 28d4818037

Change-Id: Ic058ced0f22045c7141c312537c1c37816868b68
2017-08-11 15:20:44 +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
Ryan Campbell ce88f9878f Merge "Include asan options from data partition." am: 5d89e6c7fe am: 725fa57109 am: e817549d2a
am: 2c2595bfef

Change-Id: I240527da233e95c1eb79d71562e40c3cd5c288a6
2017-08-10 01:24:22 +00:00
Ryan Campbell 2c2595bfef Merge "Include asan options from data partition." am: 5d89e6c7fe am: 725fa57109
am: e817549d2a

Change-Id: Id77b2dd5847e391ef9db0a092ee9d4c4ecd09a2f
2017-08-10 01:19:30 +00:00
Ryan Campbell 725fa57109 Merge "Include asan options from data partition."
am: 5d89e6c7fe

Change-Id: I22bfd9e46cd377b4532e1726522b8c9fdcdfeb04
2017-08-10 01:11:22 +00:00
Ryan Campbell ce30d07b11 Include asan options from data partition.
Look for asan options under /data/asan so that multi-process coverage
can be enabled on a newly-started remote process without disabling
verity and without forcing it to be always-on.

Test: adb shell echo "include_if_exists=/data/asan/asan.options.%b" >>
/system/asan.options && adb shell echo
"coverage=1\ncoverage_dir=/data/misc/trace" >
/data/asan/asan.options.android.hardware.light@2.0-service && adb shell killall
android.hardware.light@2.0-service
Bug: 64019182

Change-Id: I241ad8478439323681dc1cfde2fa0770f030ae75
2017-08-09 15:32:23 -07:00
Jiyong Park 4220c1ab53 Merge "Permit /system/lib/vndk-sp/hw/ for 'sphal' namespace" into oc-mr1-dev
am: 42a2f5c992

Change-Id: Ifad4a6062b24db1a56994eae4776096f94cf3d07
2017-08-09 05:15:48 +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
Elliott Hughes 6a8cb78acb Merge "Add comments to "public.libraries.*.txt"." am: e7b8fc22af am: 601e5ac55b am: 3cdb21a8c7
am: 54f2e52ab5

Change-Id: Id4b155e157da0c18f2cddebf4085366ae2d0afe0
2017-08-02 19:57:29 +00:00
Elliott Hughes 54f2e52ab5 Merge "Add comments to "public.libraries.*.txt"." am: e7b8fc22af am: 601e5ac55b
am: 3cdb21a8c7

Change-Id: I049c98243b522b8c3fcb64d917ff64a1e6d576c0
2017-08-02 19:52:26 +00:00
Elliott Hughes 601e5ac55b Merge "Add comments to "public.libraries.*.txt"."
am: e7b8fc22af

Change-Id: I8519a128238758433d194f35f6090633aeb85f0a
2017-08-02 19:43:01 +00:00
Treehugger Robot e7b8fc22af Merge "Add comments to "public.libraries.*.txt"." 2017-08-02 19:34:26 +00:00
Jean-Luc Brouillet 24d43899cd Merge "Make the Neural Networks library loadable by apps." into oc-mr1-dev 2017-08-01 02:26:10 +00:00
Elliott Hughes bd0ad88202 Add comments to "public.libraries.*.txt".
Folks don't know how to add public native API. Point them in the right
direction.

Bug: 63905942
Test: boots
Change-Id: I5e1f04fb852348255a2f7f87aa961948c41c47fd
2017-07-28 18:07:44 -07:00
Joel Galenson 4de04ccb6b Merge "Move chmod of /sys/kernel/debug/tracing to fix tracing." am: 13c3a582de am: c4f2163954
am: 68e79940ea

Change-Id: Ie2ca46038cef82d7a63bed3473656c17e94bb503
2017-07-28 16:17:53 +00:00
Joel Galenson c4f2163954 Merge "Move chmod of /sys/kernel/debug/tracing to fix tracing."
am: 13c3a582de

Change-Id: I63ca85ffce7aead567c34069135fb066c5a026de
2017-07-28 16:12:23 +00:00
Joel Galenson d48c4cf234 Move chmod of /sys/kernel/debug/tracing to fix tracing.
This is a temporary fix, since we're still not sure exactly what the
bug is.

Bug: 62547086
Test: Built, flashed, and booted Sailfish.  Verified that the file has
the correct permission and that wifi and atrace work.

Change-Id: I43275e974a11754eca274f1b77d15cdd03a3b365
(cherry picked from commit 62962dd5b7)
2017-07-27 18:06:40 -07:00
TreeHugger Robot 97d2b6d785 Merge "Add system/${LIB}/vndk to default namespace for vendor." into oc-mr1-dev 2017-07-27 15:47:48 +00:00
Siqi Lin e5fa38c731 Merge "rootdir: record last build fingerprint"
am: 4e8227420e

Change-Id: I59664c816a8fbf4d7776270b28f4673418d30bcb
2017-07-27 14:33:02 +00:00
Siqi Lin 94aeecea3b rootdir: record last build fingerprint
am: b9b76de6ff

Change-Id: Ie1c4444c147969dd74a51ca5acd9fe86825f8e3a
2017-07-27 01:22:57 +00:00
Siqi Lin 8703536332 rootdir: record last build fingerprint
am: b9b76de6ff

Change-Id: I2d781eb8684a860dbb4cb9590ba43bf9d2f3b4c6
2017-07-27 01:21:50 +00:00
Siqi Lin 16bb36197b rootdir: record last build fingerprint
We can't copy /default.prop so just write the value of
$(ro.build.fingerprint) to /data/misc/recovery/ro.build.fingerprint
and rotate it after reboot instead.

Bug: 62793047
Test: manual - reboot phone and check /data/misc/recovery
Change-Id: I130a4b7a01d9e1bfe9baecde2781626eb72e768b
(cherry picked from commit b9b76de6ff)
2017-07-26 16:45:10 -07:00
Siqi Lin b9b76de6ff rootdir: record last build fingerprint
We can't copy /default.prop so just write the value of
$(ro.build.fingerprint) to /data/misc/recovery/ro.build.fingerprint
and rotate it after reboot instead.

Bug: 62793047
Test: manual - reboot phone and check /data/misc/recovery
Change-Id: I130a4b7a01d9e1bfe9baecde2781626eb72e768b
2017-07-26 13:40:15 -07:00
Justin Yun 90a2487776 Add system/${LIB}/vndk to default namespace for vendor.
With BOARD_VNDK_VERSION=current, vndk libs will be installed in
system/${LIB}/vndk. To make them available for vendor, it must be
added to default namespace.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: I9e467a6125fc89513754b56a2420975559144f98
2017-07-25 15:24:28 +09:00
Jean-Luc Brouillet 12f81dfdff Make the Neural Networks library loadable by apps.
Add to the whitelist the NN API lib.

Bug: 63905942
Test: Ran an app that uses the NN API.
Change-Id: I83c1acdff58b8fe99fbd7a8fbfb5444fe77b7902
2017-07-21 20:16:35 -07:00
Jiyong Park 342e022547 Add [test] section for /data/[nativetest|benchmarktest]
am: c034a43d44

Change-Id: I11b98ea29bbba4c3bc29f28fe7ba9864306245dd
2017-07-20 17:34:30 +00:00
Jiyong Park 7847934b8a Add [test] section for /data/[nativetest|benchmarktest]
am: c034a43d44

Change-Id: Ib068a73923a167f46368ea2adda9ff6625c7fcee
2017-07-20 17:34:29 +00:00
Jiyong Park c034a43d44 Add [test] section for /data/[nativetest|benchmarktest]
We have both system and vendor tests in the same directory
/data/nativetest. Since we can't distinguish system and vendor tests at
runtime, we choose to run all of them with the legacy namespace
configuration where /system/lib and /vendor/lib are both accessible
without any restriction. Furthermore, /system/lib/vndk-sp is added to
the list of accessible directories for tests since some libs (such as
libion.so) exist only in the directory but not in /system/lib.

This will change in the future when we install system and vendor tests
into different directories (vendor tests goes into ./vendor subdir).
Then, we will run the tests with [system] or [vendor] configurations
depending on their paths.

Bug: 63597267
Test: run bionic-unit-tests
Test: run linker-unit-tests
Change-Id: I810003b2da0b30335200c130f484ea7b041f9f80
2017-07-20 15:28:00 +09:00
Jiyong Park 5dcd83c6a0 Merge "/data/nativetest[64] processes are running with the new ns config" into oc-dr1-dev am: c5aba9702e
am: df13c1473d

Change-Id: I42d01009bef11774a3a1c7e22771d9ef72f8f39d
2017-07-19 00:42:15 +00:00
Jiyong Park df13c1473d Merge "/data/nativetest[64] processes are running with the new ns config" into oc-dr1-dev
am: c5aba9702e

Change-Id: Icf29b590738b6e3287b3635d352fe2c01d185fd8
2017-07-19 00:29:51 +00:00
Jiyong Park 9d1e50b809 /data/nativetest[64] processes are running with the new ns config
Native tests under /data/nativetest[64] directory is now running with
the same linker namespace configuration as /system/bin/* processes.

This allows us to stop mimicing the linker namespace configuration of the
/system/bin/* processes using LD_LIBRARY_PATH.

Bug: 63597267
Test: run bionic-unit-tests
Test: run linker-unit-tests
Change-Id: If8e2ed0b8016e4e07bf6829735b8e02f952042d0
2017-07-18 16:45:05 +09:00
Mark Salyzyn 3ec9aa4a91 rootdir: record last build signature and kernel version
(cherry pick from commit 93394034a2)

Rotate /default.prop and /proc/version into /data/misc/recovery/
as an aid in determining the vintage of the LAST_LOGCAT and
LAST_DMESG in the bugreport collection.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Test: manually confirm content rotation through reboots
Bug: 62793047
Change-Id: Ibbe546c76041f20e308e58e5548939afac75db97
2017-07-14 14:49:50 -07:00
Mark Salyzyn d16eebd96d Merge "rootdir: record last build signature and kernel version" am: 91a17a41f6 am: 97e90c6bb8 am: a62497c189
am: 77bf7449b2

Change-Id: Ic2d43115a4423e3870870406fdf992f7449565bd
2017-07-14 21:33:42 +00:00
Mark Salyzyn 77bf7449b2 Merge "rootdir: record last build signature and kernel version" am: 91a17a41f6 am: 97e90c6bb8
am: a62497c189

Change-Id: Ieaddd4f3b02c7b67fd2b98e9874b037af77a0702
2017-07-14 21:27:50 +00:00
Mark Salyzyn 97e90c6bb8 Merge "rootdir: record last build signature and kernel version"
am: 91a17a41f6

Change-Id: I86afacf1540ad02f5e70c08f39a5c76f98d47c4e
2017-07-14 21:20:22 +00:00
Mark Salyzyn 93394034a2 rootdir: record last build signature and kernel version
Rotate /default.prop and /proc/version into /data/misc/recovery/
as an aid in determining the vintage of the LAST_LOGCAT and
LAST_DMESG in the bugreport collection.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Test: manually confirm content rotation through reboots
Bug: 62793047
Change-Id: Ibbe546c76041f20e308e58e5548939afac75db97
2017-07-14 11:39:14 -07:00
TreeHugger Robot 01af80094e Merge "Use the legacy linker namespace configs when target is sanitized" 2017-07-12 01:11:10 +00:00
Robert Benea ed73c5c71a Merge "Use mem cgroups in libprocessgroup if they're available" am: 3c7f566495 am: 92ad7c02d4 am: 43c6c844de
am: 6a4482a438

Change-Id: I307fb64713d44d2447f835f4a74b7c40ccd61b4f
2017-07-11 22:11:10 +00:00
Robert Benea 6a4482a438 Merge "Use mem cgroups in libprocessgroup if they're available" am: 3c7f566495 am: 92ad7c02d4
am: 43c6c844de

Change-Id: I9c2976886372f5c6e1ae008872cacc0f01fc282f
2017-07-11 22:08:11 +00:00
Robert Benea 92ad7c02d4 Merge "Use mem cgroups in libprocessgroup if they're available"
am: 3c7f566495

Change-Id: I7b50c83c5ba053faf6be62200570738744dd1e7b
2017-07-11 22:01:09 +00:00
Robert Benea 3280e48847 Use mem cgroups in libprocessgroup if they're available
Use mem cgroups if the kernel is built with CONFIG_MEMCG=y,
additionally add system group.

test: verified on both kernel with/without memcg enabled
Change-Id: Ia2ae89efa3905e9da68fa77adac1225c667864d1
2017-07-11 12:48:10 -07:00
Jiyong Park fff6f75fc1 Use the legacy linker namespace configs when target is sanitized
The new linker namespace config causes problem when the target is
sanitized: vendor libs which are loaded in the sphal namespace can't
link against to libclang_rt* libs which are in /system/lib directory
because the directory is not allowed for sphal namsapce.

Long-term solution would be installing libclang_rt* to both /system/lib
and /vendor/lib so that vendor libs can link against to the one in
/vendor/lib.

Until the work is done, let's just disable the new linker namespace
config when the target is to be sanitized.

Bug: 63535130
Test: make SANITIZE_TARGET=integer_overflow
SANITIZE_TARGET_DIAG=integer_overflow builds and boots to the UI

Change-Id: I6afb69885aaa3d25e554b9ca699a572248bfc50a
2017-07-11 14:40:42 +09:00
Tim Murray 7af0deb144 Merge "Revert "Use mem cgroups in libprocessgroup if they're available"" am: e8a75e8f76 am: 7f857bb9ff am: ac68c7fc8c
am: 2c0f9c3a72

Change-Id: I36ef31b921d56222902c4bba8f891d6d21dad947
2017-07-08 01:52:51 +00:00
Tim Murray 2c0f9c3a72 Merge "Revert "Use mem cgroups in libprocessgroup if they're available"" am: e8a75e8f76 am: 7f857bb9ff
am: ac68c7fc8c

Change-Id: I19e5d24a936e992bb634fd589ce04416dbf07c21
2017-07-08 01:50:20 +00:00
Tim Murray 7f857bb9ff Merge "Revert "Use mem cgroups in libprocessgroup if they're available""
am: e8a75e8f76

Change-Id: Iec01b90ae7d49d1eaf4a6e0c5324749a358db5d6
2017-07-08 01:45:50 +00:00
Treehugger Robot e8a75e8f76 Merge "Revert "Use mem cgroups in libprocessgroup if they're available"" 2017-07-08 01:41:19 +00:00
Tim Murray fc10e3d5e5 Revert "Use mem cgroups in libprocessgroup if they're available"
This reverts commit 32375c2328.

bug 63164307

Change-Id: I3336bbf7c2f3297b231c5b0a1ef538faff9513fd
2017-07-08 00:04:42 +00:00
Wei Wang cea7028cf4 Merge "init: Support custom shutdown actions" into oc-dr1-dev 2017-07-06 22:36:47 +00:00
Wei Wang 5d4d6f7269 init: Support custom shutdown actions
We have been seeing panics and errors during shutdown sequence in
some vendor's platform, and it is required to disable error handling
during shutdown.

This CL separates the shutdown request to execute another "shutdown"
trigger at the beginning of shutdown stage. And vendor can use this
trigger to add custom commands needed for shutting down gracefully.

Bug: 38203024
Bug: 62084631
Test: device reboot/shutdown
Change-Id: I3fac4ed59f06667d86e477ee55ed391cf113717f
(cherry picked from commit eeab491efd)
2017-07-06 02:30:14 +00:00
Keun-young Park f5b616dabf Merge "add "shutdown critical" to service" am: b3915d113d am: a4ad5d0328 am: 19ec8e7bcf
am: bedc5faea7

Change-Id: I62cd1bc82531b88f5d8c8ac2dd637d5ec9d52572
2017-07-06 01:38:15 +00:00
Keun-young Park bedc5faea7 Merge "add "shutdown critical" to service" am: b3915d113d am: a4ad5d0328
am: 19ec8e7bcf

Change-Id: Ide84d7f87a9884068ebc1cc9680c997507727af3
2017-07-06 01:13:19 +00:00
Keun-young Park d266d37e4c add "shutdown critical" to service
- "shutdown critical" prevents killing the service during
  shutdown. And the service will be started if not running.
- Without it, services will be killed by SIGTERM / SIGKILL during shutdown.
- Even services with "shutdown critical" will be killed if shutdown
  times out.
- Removes ueventd and vold from hard coded list. Each service's rc will
  be updated to add "shutdown critical". watchdogd is still kept in the list.

bug: 37626581
Test: reboot and check last kmsg

(cherry picked from commit cccb34fce8)

Change-Id: I3c6aeb7151e64beca4b435f843ae64455217262d
2017-07-06 00:54:02 +00:00
Keun-young Park a4ad5d0328 Merge "add "shutdown critical" to service"
am: b3915d113d

Change-Id: I25b6f42478efda7077e00141042a427245393d28
2017-07-06 00:46:31 +00:00
Treehugger Robot b3915d113d Merge "add "shutdown critical" to service" 2017-07-06 00:40:55 +00:00
Wei Wang a89b61ad99 Merge "init: Support custom shutdown actions" am: c1bc4241f8 am: 5b89535442 am: b39890048c
am: 2a38e6d119

Change-Id: I6776039ebf9f87b41193cc24a9786dc80db99e43
2017-07-06 00:22:45 +00:00
Wei Wang 2a38e6d119 Merge "init: Support custom shutdown actions" am: c1bc4241f8 am: 5b89535442
am: b39890048c

Change-Id: I57a0422f47094cc061163510138e9562648fdd98
2017-07-05 23:58:51 +00:00
Wei Wang 5b89535442 Merge "init: Support custom shutdown actions"
am: c1bc4241f8

Change-Id: I6bb1789dbc5edbb10f2f4d712e9ca83e6302fdf4
2017-07-05 23:54:56 +00:00
Keun-young Park cccb34fce8 add "shutdown critical" to service
- "shutdown critical" prevents killing the service during
  shutdown. And the service will be started if not running.
- Without it, services will be killed by SIGTERM / SIGKILL during shutdown.
- Even services with "shutdown critical" will be killed if shutdown
  times out.
- Removes ueventd and vold from hard coded list. Each service's rc will
  be updated to add "shutdown critical". watchdogd is still kept in the list.

bug: 37626581
Test: reboot and check last kmsg

Change-Id: Ie8cc699d1efbc59b9a2561bdd40fec64aed5a4bb
2017-07-05 14:55:22 -07:00
Wei Wang eeab491efd init: Support custom shutdown actions
We have been seeing panics and errors during shutdown sequence in
some vendor's platform, and it is required to disable error handling
during shutdown.

This CL separates the shutdown request to execute another "shutdown"
trigger at the beginning of shutdown stage. And vendor can use this
trigger to add custom commands needed for shutting down gracefully.

Bug: 38203024
Bug: 62084631
Test: device reboot/shutdown
Change-Id: I3fac4ed59f06667d86e477ee55ed391cf113717f
2017-07-05 14:49:57 -07:00
Logan Chien bee0ff2524 Revert "Move libz to vndk-sp" am: f499bcdde7
am: b0bff4a55c

Change-Id: I30ff5acb75c0e6f8c4285703f9a8b4f5ce44bf70
2017-07-05 13:20:23 +00:00
Logan Chien b0bff4a55c Revert "Move libz to vndk-sp"
am: f499bcdde7

Change-Id: I7f641efd4c8e88289496507c7f940db9ea60f745
2017-07-05 13:16:22 +00:00
Logan Chien f499bcdde7 Revert "Move libz to vndk-sp"
This commit removes libz.so from the exported libs of "vndk" linker
namespace and export libz.so from "default" linker namespace instead.

We have to remove libz.so from vndk-sp because we don't have a good
mechanism to stop "classloader" linker namespace from loading
/system/lib[64]/vndk-sp/libz.so.  Other alternatives require significant
changes to dynamic linker or CTS test cases.

Let's temporarily revert the commit to fix b/62195853 for oc-dr1-dev.
The long-term solution will be discussed in b/37617391.

This reverts commit 63226400f3.

Bug: 62195853
Bug: 37617391
Test: Boot sailfish to home screen.
Change-Id: I4a97819b080f7091b633152d4a11353b24c463ee
2017-07-05 11:18:13 +08:00
Robert Benea ea5fd4d828 Merge "Use mem cgroups in libprocessgroup if they're available" am: d3afc124b6 am: 46706e6824 am: 74c02e7b58
am: 888d9e198b

Change-Id: I6f3a475bfff19801792ff7017150be6955cdd631
2017-06-30 02:45:24 +00:00
Robert Benea 888d9e198b Merge "Use mem cgroups in libprocessgroup if they're available" am: d3afc124b6 am: 46706e6824
am: 74c02e7b58

Change-Id: Iba2c643286063a9ffa22f3917f8acbcca1d77ef3
2017-06-30 02:41:24 +00:00
Robert Benea 46706e6824 Merge "Use mem cgroups in libprocessgroup if they're available"
am: d3afc124b6

Change-Id: Idd72671eb144343a73a02bfbde8603265ca78650
2017-06-30 02:32:24 +00:00
Robert Benea 32375c2328 Use mem cgroups in libprocessgroup if they're available
Use mem cgroups if the kernel is built with CONFIG_MEMCG=y,
additionally add system group.

test: verified on both kernel with/without memcg enabled
Change-Id: Ib9d1c8e3c797e75f160e0e92edf3f11c9d8e9f17
2017-06-29 23:49:00 +00:00
Mark Salyzyn 4a4259b51b Merge changes Ibe1feb39,I05be83e4,If1422e4d am: a4f086ab20 am: 3a156e6c2b am: ca0c0bb96e
am: 872206fd80

Change-Id: I9c08baaf94f2eaaf2ad9633e70b9cd0c1dd484ed
2017-06-27 22:14:25 +00:00
Mark Salyzyn 872206fd80 Merge changes Ibe1feb39,I05be83e4,If1422e4d am: a4f086ab20 am: 3a156e6c2b
am: ca0c0bb96e

Change-Id: I21636d01cf0cb0bd581104d2bfb5624877bfaf6a
2017-06-27 21:57:34 +00:00
Mark Salyzyn 3a156e6c2b Merge changes Ibe1feb39,I05be83e4,If1422e4d
am: a4f086ab20

Change-Id: I7e5d431c992f9860ca7b42ca81edfbfd1d8e0a1c
2017-06-27 21:52:06 +00:00
Mark Salyzyn 4eb0ba058c init.rc: setup console-ramoops-0
On later kernels /sys/fs/pstore/console-ramoops becomes
/sys/fs/pstore/console-ramoops-0

Test: none
Bug: 63058217
Change-Id: Ibe1feb39ef9081b1ab2316510674bf181bdc7b0c
2017-06-27 09:32:38 -07:00
Logan Chien 0821c9c4e0 ld-config: Export android.hidl.memory@1.0-impl am: bd7503dae7
am: 6db67ddca3

Change-Id: Ifeda019991f85a45e4d938d80a82f2940c0a0952
2017-06-23 05:21:07 +00:00
Logan Chien 735a32e30e ld-config: Export android.hidl.memory@1.0-impl
am: fb2a4f0874

Change-Id: Ib23a91581514f275642cb05afddbfc5324bca3bb
2017-06-23 05:07:34 +00:00
Logan Chien fb2a4f0874 ld-config: Export android.hidl.memory@1.0-impl
This commit exports android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace.  This fixes
libhidlmemory.so failure.

Note: Exposing android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace shall be fine because its
APIs are frozen and won't be changed in the future.

Note: android.hidl.memory@1.0-impl.so is NOT exported to sphal linker
namespace.

Bug: 35107583
Bug: 62778280
Test: Write a test SP-HAL lib which links libhidlmemory.so, load that
SP-HAL lib into system executable, and make sure mapMemory() works.
Test: sailfish boots w/o problems.

Merged-In: Ia36350dcf1f8c8dc6d7bf2c7a6ae65e0ebaef578
Merged-In: Iddb723558c3a814a905cd42797594a707bc651da
Change-Id: I69034595b2cd355e786ce7943fed7dddf1b12525
(cherry picked from commit bd7503dae7)
(cherry picked from commit 3251e582f2)
2017-06-22 20:13:01 +08:00
Logan Chien bd7503dae7 ld-config: Export android.hidl.memory@1.0-impl
This commit exports android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace.  This fixes
libhidlmemory.so failure.

Note: Exposing android.hidl.memory@1.0-impl.so from default linker
namespace to vndk (VNDK-SP) linker namespace shall be fine because its
APIs are frozen and won't be changed in the future.

Note: android.hidl.memory@1.0-impl.so is NOT exported to sphal linker
namespace.

Bug: 35107583
Bug: 62778280
Test: Write a test SP-HAL lib which links libhidlmemory.so, load that
SP-HAL lib into system executable, and make sure mapMemory() works.
Test: sailfish boots w/o problems.

Change-Id: Ia36350dcf1f8c8dc6d7bf2c7a6ae65e0ebaef578
2017-06-22 20:12:21 +08:00
Logan Chien 34d0b91b15 ld-config: Add HIDL memory libs to VNDK-SP am: d7a6fb9383
am: 78daf5696d

Change-Id: I2f0d1f2d74acb74a9defb6ef0f7bec9c955152a4
2017-06-21 17:55:23 +00:00
Logan Chien 7b66b21773 ld-config: Add HIDL memory libs to VNDK-SP
This commit adds libhidlmemory.so and android.hidl.memory@1.0.so to the
exported libs of the `vndk` linker namespace (aka. VNDK-SP).  This is
necessary because some vendors' GLES implementation uses
libhidlmemory.so.  Check http://b/35107583#comment15 for the context.

Bug: 35107583
Test: sailfish boots

Merged-In: Idb5ba4ed4a89795e0e6105d55a84e7f6bbffff51
Change-Id: I1556b7499bd981af995f000519b7a314c70567d1
2017-06-21 20:15:36 +08:00
Logan Chien d7a6fb9383 ld-config: Add HIDL memory libs to VNDK-SP
This commit adds libhidlmemory.so and android.hidl.memory@1.0.so to the
exported libs of the `vndk` linker namespace (aka. VNDK-SP).  This is
necessary because some vendors' GLES implementation uses
libhidlmemory.so.  Check http://b/35107583#comment15 for the context.

Bug: 35107583
Test: sailfish boots
Change-Id: Idb5ba4ed4a89795e0e6105d55a84e7f6bbffff51
2017-06-21 20:13:08 +08:00
Logan Chien ea2719f9f1 ld-config: Add HIDL memory libs to VNDK-SP
This commit adds libhidlmemory.so and android.hidl.memory@1.0.so to the
exported libs of the `vndk` linker namespace (aka. VNDK-SP).  This is
necessary because some vendors' GLES implementation uses
libhidlmemory.so.  Check http://b/35107583#comment15 for the context.

Bug: 35107583
Test: sailfish boots

Merged-In: Idb5ba4ed4a89795e0e6105d55a84e7f6bbffff51
Merged-In: I1556b7499bd981af995f000519b7a314c70567d1
Change-Id: I5af7c954d432a2e8de6c6b744cedbada836bbd98
2017-06-21 20:10:56 +08:00
Joel Galenson 62962dd5b7 Move chmod of /sys/kernel/debug/tracing to fix traceur.
This is a temporary fix, since we're still not sure exactly what the
bug is.

Bug: 62547086
Test: Built, flashed, and booted Marlin.  Verified that the file has
the correct permission and that traceur does not popup an error.

Change-Id: I43275e974a11754eca274f1b77d15cdd03a3b365
2017-06-13 10:15:05 -07:00
Jiyong Park b4929b2194 Merge "Don't allow libui.so to RS drivers." into oc-dr1-dev am: 1a7a5419d0
am: 5e4da5195f

Change-Id: I4c495f24ed4bab5fbca4f0d6432f8612ba2c6132
2017-06-12 02:11:45 +00:00
Jiyong Park 9242f68c0d Don't allow libui.so to RS drivers.
libui.so is not VNDK-SP, so it must not be allowed to RS drivers.

Bug: 37550338
Test: camerascript app works well in 2017 pixel devices
Change-Id: I34971baebdc91f11935d1eb4ddd07d89d4c38958
2017-06-09 17:38:28 +09:00
Logan Chien ef9a611bb7 Add libion.so to vndk-sp am: 5c880b948e
am: 60c9e4486b

Change-Id: If9947f17c2af1253bef9b2d8664deaba6a222e11
2017-06-07 16:04:28 +00:00
Logan Chien 184505597f Add libion.so to vndk-sp
This commit adds libion.so to VNDK-SP so that some vendor's
gralloc.${chipset}.so can run without problems.

Bug: 62280700
Test: Boots a device from our partners
Merged-In: I2bcfe40ed9342de6d81dd310313e984a2c64964b
Change-Id: Ib745dfe52107d792296426b097e13b7c7755d88c
2017-06-07 18:31:49 +08:00
Logan Chien 40624c5d1d Add libion.so to vndk-sp
This commit adds libion.so to VNDK-SP so that some vendor's
gralloc.${chipset}.so can run without problems.

Bug: 62280700
Test: Boots a device from our partners
Merged-In: Ib745dfe52107d792296426b097e13b7c7755d88c
Merged-In: I2bcfe40ed9342de6d81dd310313e984a2c64964b
Change-Id: If30657b93157a2abea29fadcdb0004b37ad9eaf2
2017-06-07 18:13:32 +08:00
Logan Chien 5c880b948e Add libion.so to vndk-sp
This commit adds libion.so to VNDK-SP so that some vendor's
gralloc.${chipset}.so can run without problems.

Bug: 62280700
Test: Boots a device from our partners
Change-Id: I2bcfe40ed9342de6d81dd310313e984a2c64964b
2017-06-07 18:09:37 +08:00
Jiyong Park f01b52895d vndk: remove vendor/lib from the search path of the 'vndk' namespace
'vndk' namespace is the place for VNDK-SP libs. So /vendor/lib must be
removed from its search paths. It was there just because libhardware
(which is VNDK-SP) is loading HAL libs in vendor partition from there.
However this problem has been solved by modifying the libhardware so
that HAL libs are loaded from the 'sphal' namespace and not from the
current (the 'vndk') namespace.

Bug: 37731053
Test: sailfish builds and boots
Change-Id: Ia88934a975aa8811e05b5ba408e42d132f20f4e9
2017-06-07 17:37:33 +09:00
Robert Benea ec39a758a1 Merge "cgroups used by init must be mounted before any services start" am: 63c15c1b11 am: cc6da8ec5b am: b30ad069ec
am: 9c18097147

Change-Id: I49aee8cae9374ba40312f6a929909a77f2df6492
2017-06-01 08:25:53 +00:00
Robert Benea 9c18097147 Merge "cgroups used by init must be mounted before any services start" am: 63c15c1b11 am: cc6da8ec5b
am: b30ad069ec

Change-Id: I5627d6720aa0c237aca0cdd1cb75b654cb183158
2017-06-01 08:17:03 +00:00
Robert Benea c638569c2e cgroups used by init must be mounted before any services start
init uses /acct and optionally /dev/memcg for tracking services and
therefore these must be started before any services start.

Test: check that cgroups are mounted appropriately.

Change-Id: Ice095287963181fe687dbe6b7d291076e674d1cc
2017-05-31 16:12:23 -07:00
Yueyao Zhu f97d96b8f4 init.rc: import /vendor/etc/init/hw/init.${ro.hardware}.rc
/init.${ro.hardware}.rc would sometime rely on being parsed before other
.rc files. In this case all vendors are still able to have a .rc file
included before all the ones in /vendor/etc/init.

Merged-In: I3fb6df13a39204a516874ea94f5e5ad84bca42c6
Bug: 38301110
Change-Id: I3fb6df13a39204a516874ea94f5e5ad84bca42c6
(cherry picked from commit f7c34ad4bf)
2017-05-25 12:02:32 -07:00
Logan Chien 948624faca Merge "Move libz to vndk-sp" 2017-05-24 02:19:41 +00:00
Thierry Strudel 2a20488a77 Merge "init.rc: import /vendor/etc/init/hw/init.${ro.hardware}.rc" into oc-dev am: 64bea883cb
am: b1fad8a5b0

Change-Id: I0f1f47059715fc55bf9ebe4b9a61e3f6d2d50726
2017-05-19 18:14:51 +00:00
Thierry Strudel b1fad8a5b0 Merge "init.rc: import /vendor/etc/init/hw/init.${ro.hardware}.rc" into oc-dev
am: 64bea883cb

Change-Id: I785aac40d7ee2617213f949fd9074bf6f394c952
2017-05-19 18:12:51 +00:00
Yueyao Zhu f7c34ad4bf init.rc: import /vendor/etc/init/hw/init.${ro.hardware}.rc
/init.${ro.hardware}.rc would sometime rely on being parsed before other
.rc files. In this case all vendors are still able to have a .rc file
included before all the ones in /vendor/etc/init.

Bug: 38301110
Change-Id: I3fb6df13a39204a516874ea94f5e5ad84bca42c6
2017-05-18 17:29:49 -07:00
Jiyong Park a214d3123e Allow vndk-sp to be extended by vendors am: eb9694a2d1
am: ee7da4f37d

Change-Id: I7cb5b7c225774d14bc72219143ce22e1246b2ad7
2017-05-17 16:55:14 +00:00
Jiyong Park ee7da4f37d Allow vndk-sp to be extended by vendors
am: eb9694a2d1

Change-Id: I35e4a6f0f7a712e01923a9e1d3456c81d5c0367a
2017-05-17 16:52:13 +00:00
Jiyong Park eb9694a2d1 Allow vndk-sp to be extended by vendors
Exteded vndk-sp should go to /vendor/lib/vndk-sp.

Bug: 37940694
Test: sailfish builds and boots
Test: manually copying a lib from /system/lib/vndk-sp to
/vendor/lib/vndk-sp. Check that the copied one in /vendor partition is
loaded instead of the original one.

Change-Id: Ia5dd6f35bd31d4a20a794bec148e1fc3c6d7b72b
2017-05-18 01:42:27 +09:00
Jiyong Park c9c527f81f resolve merge conflicts of fbe942724 to oc-dev-plus-aosp
Test: I solemnly swear I tested this conflict resolution.
Merged-In: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
Change-Id: I90c3ff7c82a9b53ce00057fd87cf227d5faf0975
2017-05-17 14:29:44 +09:00
Logan Chien 63226400f3 Move libz to vndk-sp
This commit moves libz.so from default namespace to vndk namespace.
Accodring to b/37617391, libz.so is not as stable as we thought, thus
it should be vndk-sp instead of ll-ndk.

Bug: 37617391
Test: sailfish builds, boots, no new dynamic linker errors in log
Change-Id: I3922895a169303c33914a8a0f4b50cb993a724c9
2017-05-15 13:41:19 +08:00
Jiyong Park 15d7483bb7 add libvndksupport.so to ll-ndk
libvndksupport.so is a new member of ll-ndk.

Bug: 37323945
Test: sailfish builds and boots

Merged-In: Ic5db48292a30a6face7f263d939f27a0760240b1
Change-Id: Ic5db48292a30a6face7f263d939f27a0760240b1
(cherry picked from commit 7000859b7c)
2017-05-15 11:35:34 +09:00
Jiyong Park abaab6ff03 libbacktrace is VNDK-SP
libbacktrace and its dependents are now VNDK-SP. Since they are in
/vendor/lib/vndk-sp directory, they are accessible directly from the
vndk namespace. Therefore, libbacktrace is removed from the exported
shared libs list of the default namespace.

Bug: 37413104
Test: sailfish builds and boots
Merged-In: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
Change-Id: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
(cherry picked from commit b2a4b8cd18)
2017-05-15 11:35:34 +09:00
Joel Fernandes f50d1091e9 init.rc: Add a new schedtune group 'rt' for rt tasks
Add a new boost group for rt tasks. Device specific changes will be in
the device init rc.

Bug: 33085313

Change-Id: I99ca085d0933d878795bb0eda639bb2075419415
Signed-off-by: Joel Fernandes <joelaf@google.com>
2017-05-13 19:40:50 +00:00
Steve Muckle 583c5c1b2d Revert "disable module loading after BOOT_COMPLETED broadcast" am: f59c55aa7a
am: e8240c4551

Change-Id: I5d78cb0eded0f11bf7009ed792484b414f2aa704
2017-05-12 18:33:18 +00:00
Steve Muckle e8240c4551 Revert "disable module loading after BOOT_COMPLETED broadcast"
am: f59c55aa7a

Change-Id: Ib871ab1f2005c074dad0dd207e4dc41bd35568d6
2017-05-12 18:26:20 +00:00
Siarhei Vishniakou f608eb283a Merge "Adding 'uhid' permission for access to /dev/uhid." am: cecbc9993d am: 04daed4793 am: d819380f50
am: b995b58631

Change-Id: I0c4f2e22d6195f219a2e1b0ef346ce89b642dc6c
2017-05-12 03:50:14 +00:00
Siarhei Vishniakou b995b58631 Merge "Adding 'uhid' permission for access to /dev/uhid." am: cecbc9993d am: 04daed4793
am: d819380f50

Change-Id: If06b07c88276c32cdf5b53e6afcf0563e6538544
2017-05-12 01:00:46 +00:00
Siarhei Vishniakou cecbc9993d Merge "Adding 'uhid' permission for access to /dev/uhid." 2017-05-11 19:02:32 +00:00
Jiyong Park 7000859b7c add libvndksupport.so to ll-ndk
libvndksupport.so is a new member of ll-ndk.

Bug: 37323945
Test: sailfish builds and boots

Change-Id: Ic5db48292a30a6face7f263d939f27a0760240b1
2017-05-11 15:09:02 +09:00
Siarhei Vishniakou 0729dd1edb Adding 'uhid' permission for access to /dev/uhid.
This CL is in support of another CL c/2048848, topic
'Refactor hid command in /frameworks/base/cmds' in
internal master. Adding the permissions for
shell here to access uhid_node as part of the
new 'uhid' group.

Bug: 34052337
Test: Tested on angler, bluetooth mouse works OK.

Change-Id: If9e100aa1262d689fb8adc5c0ce93f157c96399e
2017-05-11 01:28:53 +00:00
Steve Muckle f59c55aa7a Revert "disable module loading after BOOT_COMPLETED broadcast"
This reverts commit 6ed19d1675.

Allow devices to decide for themselves whether to allow
module loading after boot.

Bug: 38204366
Test: boot sailfish, load a kernel module
Change-Id: Ib9e77381de9003fb5160463664015a95316ddfc5
2017-05-10 13:39:28 -07:00
Tom Cherry 657b967d48 Merge "Revert "Make /data/data a symlink to /data/user/0"" am: 823816ee9f am: 20a74298a5 am: e4f35b111e
am: 2920471ffa

Change-Id: I9057d2ee58e3f99e422ac1a203bd219e7f552ba0
2017-05-08 22:58:05 +00:00
Tom Cherry 2920471ffa Merge "Revert "Make /data/data a symlink to /data/user/0"" am: 823816ee9f am: 20a74298a5
am: e4f35b111e

Change-Id: I9fdb4b5d8e6b1dcf89b853a737f389553cc1a1df
2017-05-08 21:00:47 +00:00
Tom Cherry 982e0693ce Revert "Make /data/data a symlink to /data/user/0"
This reverts commit d147cb5887.

Original change breaks AVD
Original changes breaks SF/AF
Bug: 38026755
Bug: 38030346
Bug: 38114264

Change-Id: Iab56244f0dc0f6b0df2916c691277a882fc7d184
2017-05-08 16:06:38 +00:00
Jiyong Park b2a4b8cd18 libbacktrace is VNDK-SP
libbacktrace and its dependents are now VNDK-SP. Since they are in
/vendor/lib/vndk-sp directory, they are accessible directly from the
vndk namespace. Therefore, libbacktrace is removed from the exported
shared libs list of the default namespace.

Bug: 37413104
Test: sailfish builds and boots
Change-Id: I137c17d55940b783eab6d0125bc4d26b96bcc2f2
2017-05-08 10:40:14 +09:00
Steven Moreland 55337fd5cc Remove redundant dependencies
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.

Test: boot internal marlin
Bug: 33276472
Change-Id: I32dc22607f2df5c71555161178865900b35fc75b
(cherry picked from commit fa5ea6a81a)
2017-05-04 15:25:02 +00:00
TreeHugger Robot 04df8f456c Merge "Remove redundant dependencies" 2017-05-04 08:56:29 +00:00
Jiyong Park c1c4dada31 Merge "update /vendor/*/vndk-sp to /system/*/vndk-sp" into oc-dev am: d5398bf97d
am: 874ed5ec96

Change-Id: I965e8ccb742a0133ba75fd913ffd2edb9559359a
2017-05-04 04:27:27 +00:00
Jiyong Park 874ed5ec96 Merge "update /vendor/*/vndk-sp to /system/*/vndk-sp" into oc-dev
am: d5398bf97d

Change-Id: I77ff71643767c0c0933d80d835b648673d68a343
2017-05-04 04:24:57 +00:00
Tom Cherry 4ffa5c5de9 Merge "Make /data/data a symlink to /data/user/0" am: 49bbe16447 am: c43da33005 am: f95686e0cf
am: b4f7e5b0c4

Change-Id: I225a92299452373b3e428b3b303dfb823acd3c6c
2017-05-04 00:01:10 +00:00
Tom Cherry b4f7e5b0c4 Merge "Make /data/data a symlink to /data/user/0" am: 49bbe16447 am: c43da33005
am: f95686e0cf

Change-Id: I081704dc6d7d60edaca979f6af2b1c4418ebc844
2017-05-03 23:54:23 +00:00
cjbao d147cb5887 Make /data/data a symlink to /data/user/0
For legacy reason, /data/data is a real dir and /data/user/0 is a
symbolic link to it.  Overhead for linux kernel to walk through
symbolic link is not negligible. This is unnessary overhead to
carry over.  This patch is to make /data/user/0 a a real dir and
make legacy folder /data/data a symbolic link.  OTAed system does
not get impacted.

Test: Manual test
Change-Id: I419564a75f6ebf3154badb8725ba9831164592b6
Signed-off-by: cjbao <cathy.bao@intel.com>
2017-05-03 21:38:31 +00:00
Steven Moreland fa5ea6a81a Remove redundant dependencies
android.hidl.base@1.0 and android.hidl.manager@1.0 are built into libhidltransport.

Test: boot internal marlin
Bug: 33276472
Change-Id: I32dc22607f2df5c71555161178865900b35fc75b
2017-05-03 10:24:58 -07:00
Jiyong Park c641e19c7e update /vendor/*/vndk-sp to /system/*/vndk-sp
Some paths weren't updated.

Bug: 37522144
Test: sailfish builds and boots
Change-Id: I7aeb5d6e0d61bbc6bde4e6f221e90b21ca422622
2017-05-03 11:53:03 +09:00
Guang Zhu 82ab44ce09 Merge "Revert "Enable metadata encryption"" 2017-04-29 00:01:35 +00:00
Guang Zhu 9709c5a7ff Revert "Enable metadata encryption"
Bug: 37792477

This reverts commit 2bf87eebe4.

Change-Id: I1a43793beda24c01f0fe9e25a7c183af1200fa76
2017-04-28 23:58:55 +00:00
Nick Desaulniers 4f4a2baa21 Merge "Enable metadata encryption" 2017-04-28 21:29:29 +00:00
Paul Lawrence 2bf87eebe4 Enable metadata encryption
Bug: 26778031
Test: Boots, reboots, sector 0 of userdata encrypted
      Make sure an FDE device, both default and password protected,
      boots.
      Make sure an FBE device without metadata encryption boots.
Change-Id: I55135f2d81002f4010a857c021ee840f792f7917
2017-04-28 17:26:30 +00:00
Abodunrinwa Toki d6ab6456c5 Initialize textclassifier model update directory
Test: Builds successfully. Directory is initialized on install. Tests pass.
bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 34780396

Merged-In: Icbf7962f11b66579931f48053132da6e03e62c61
Change-Id: Icbf7962f11b66579931f48053132da6e03e62c61
2017-04-28 04:15:57 +01:00
Abodunrinwa Toki 3e6e906448 Merge "Initialize textclassifier model update directory" am: a079e453a3 am: f566376046 am: d13dca13e8
am: 552a4c10b3

Change-Id: I3067795ddd40e8ff1a8eca10fa2188f36c0769ba
2017-04-28 02:30:47 +00:00
Jerry Zhang af96b5e80b Merge "Move adbd stopped trigger for configfs into core." am: e21b2fb6b4 am: fa14b1de73 am: b3988e670d
am: ee82936ecd

Change-Id: Ib276a0384eafe25d81a684c76f8d5d58a5596414
2017-04-28 02:30:11 +00:00
Abodunrinwa Toki 552a4c10b3 Merge "Initialize textclassifier model update directory" am: a079e453a3 am: f566376046
am: d13dca13e8

Change-Id: Icb4af42818bd715709858abfb75e610c52ce48db
2017-04-28 00:44:54 +00:00
Treehugger Robot a079e453a3 Merge "Initialize textclassifier model update directory" 2017-04-28 00:30:26 +00:00
Jerry Zhang ee82936ecd Merge "Move adbd stopped trigger for configfs into core." am: e21b2fb6b4 am: fa14b1de73
am: b3988e670d

Change-Id: I303a29c590df9e018d00e18c1818f8ca0f1dd3ce
2017-04-28 00:04:39 +00:00
Jerry Zhang 423af1a86a Merge "Add ffs.mtp.ready triggers to mtp configs." am: a06ac26dd1 am: c6faf65758 am: 78a4f0f567
am: c9fd178fb0

Change-Id: I09be5a5f34f81b8594184cf64d6897349aa9c82f
2017-04-28 00:02:34 +00:00
Jerry Zhang c9fd178fb0 Merge "Add ffs.mtp.ready triggers to mtp configs." am: a06ac26dd1 am: c6faf65758
am: 78a4f0f567

Change-Id: Ibb785165c83341c098edc254520b0cfeda9c8a79
2017-04-27 22:25:32 +00:00
Jerry Zhang 75f8d89a8a Move adbd stopped trigger for configfs into core.
This trigger resets ffs.ready in situations where
adbd is stopped via commandline.

Test: stop adbd
Change-Id: Ib5028d55c4883a8291d6de2dbcb0641ff8eb7a48
2017-04-27 14:59:48 -07:00
Abodunrinwa Toki 40673e3381 Initialize textclassifier model update directory
Test: Builds successfully. Directory is initialized on install. Tests pass.
bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Bug: 34780396

Change-Id: Icbf7962f11b66579931f48053132da6e03e62c61
2017-04-27 22:56:43 +01:00
Jiyong Park b185e01a88 Merge "Relocate VNDK-SP to /system/lib/vndk-sp and add RS libs to VNDK-SP" into oc-dev am: c43a4ad4bc
am: 7eccd838c0

Change-Id: I6a5ec9f6a65ddd39736691c1c208d9ca33ed340c
2017-04-27 01:23:14 +00:00
Jiyong Park 7eccd838c0 Merge "Relocate VNDK-SP to /system/lib/vndk-sp and add RS libs to VNDK-SP" into oc-dev
am: c43a4ad4bc

Change-Id: Ib2c7ba873d7e71aa23bcf28702c2e188f6918c15
2017-04-27 01:12:46 +00:00
Jerry Zhang fb256b696b Add ffs.mtp.ready triggers to mtp configs.
This allows devices to use functionfs for mtp and ptp instead
of the ordinary functions. The property is set regardless of
which function is enabled so mtp and ptp functions will continue
to work.

Bug: 33220530
Test: use mtp with ffs and non ffs devices
Change-Id: I4527e153bd10ef1e262e487482ae455835d1c698
2017-04-26 17:11:50 -07:00
Andreas Gampe 8252e664f3 Merge "Linker: Add ASAN support to treble ld.config" into oc-dev
am: 57e3528d2e

Change-Id: I694aaf1f3307270f973845644dedf51786dcc6cd
2017-04-26 00:39:02 +00:00
Jiyong Park bfa03ee9dc Relocate VNDK-SP to /system/lib/vndk-sp and add RS libs to VNDK-SP
VNDK-SP is relocated back to /system partition from /vendor partition,
following the original design.

In addition, the namespace for RenderScript is added. The namespace is
dedicated for loading VNDK-SP libs for RenderScript such as
libRS_internal.so. The reason for having a separate namespace is that
RenderScript requires more permitted paths (/data/*) which should not be
allowed for normal SP-HALs.

Bug: 37522144
Bug: 37550338
Test: sailfish builds and boots well
Test: lsof shows VNDK-SP libs are loaded from /system/lib/vndk-sp
Test: RenderScript app (CameraScript) runs well
Change-Id: Id139f626cafae2e43ee4eefc5a57a204e31bbbc9
2017-04-26 09:30:36 +09:00
TreeHugger Robot 57e3528d2e Merge "Linker: Add ASAN support to treble ld.config" into oc-dev 2017-04-26 00:28:56 +00:00
Wei Wang 07fc6421cf Merge "Revert "Revert "Ensure update_verifier run before zygote""" am: 5fe07acd07 am: 0380041304 am: b8fdeb4c5a
am: b0d85903cd

Change-Id: I77a093146a7db8651e6a6bd204ccd97ca2e37412
2017-04-25 17:53:34 +00:00
Wei Wang 53842e7dc6 Ensure update_verifier run before zygote
Currently zygote is started early for FBE device but update_verifier is run later
which creates a potential risk. This CL ensures update_verifier run before
zygote touches anything within data/ partition. With this change, we also start zygote
early for unencrypted/unsupported encryption state device.

Bug: 37543411
Test: marlin boots

(cherry picked from commit 5dc05effec)

Change-Id: I97cde0c20f74b1b17c995d84c2e31c86fe006395
2017-04-25 17:49:22 +00:00
Wei Wang b0d85903cd Merge "Revert "Revert "Ensure update_verifier run before zygote""" am: 5fe07acd07 am: 0380041304
am: b8fdeb4c5a

Change-Id: Ief5492dd4b08de351c5ef8c72aeb3ffb09f6feff
2017-04-25 17:46:07 +00:00
Andreas Gampe c7c2d7bcd4 Linker: Add ASAN support to treble ld.config
Add asan counterparts.

Bug: 37579959
Test: m && m SANITIZE_TARGET=address
Merged-in: I23f05436b79fbcb3f6fa11d84c95fcd180fad3b3
Change-Id: I23f05436b79fbcb3f6fa11d84c95fcd180fad3b3
2017-04-25 21:59:37 +09:00
Wei Wang 35a2ee84d5 Revert "Revert "Ensure update_verifier run before zygote""
This reverts commit 2de3344180.

Change-Id: Ifc49bf389ed43a56baf5bb55d5f2028b8725083d
2017-04-24 21:33:12 +00:00
Andreas Gampe 146b9a7254 Linker: Add ASAN support to treble ld.config
Add asan counterparts.

Bug: 37579959
Test: m && m SANITIZE_TARGET=address
Change-Id: I23f05436b79fbcb3f6fa11d84c95fcd180fad3b3
2017-04-24 08:07:53 -07:00
Keun-young Park 4971972b54 Merge "Revert "Ensure update_verifier run before zygote"" am: a037bddd8a am: 615211301e am: 2e211888c0
am: 1a6eb1628c

Change-Id: Ia7afc768cc1f140787f99c021859a99e59fa0762
2017-04-22 01:20:22 +00:00
Keun-young Park 1a6eb1628c Merge "Revert "Ensure update_verifier run before zygote"" am: a037bddd8a am: 615211301e
am: 2e211888c0

Change-Id: Ie9eb8fc13d35a615ff14d120816e675d8ea20f2b
2017-04-22 01:12:06 +00:00
Keun-young Park 2de3344180 Revert "Ensure update_verifier run before zygote"
This reverts commit 5dc05effec.

Change-Id: Ic041860dee8a2993c6b4890beca4da745cfbfb60
2017-04-22 00:43:55 +00:00
Wei Wang 34f0c315d0 Merge "Ensure update_verifier run before zygote" am: a42ec8a9e3 am: 29a0f68c11 am: 73fc12cbda
am: 1214e236eb

Change-Id: I13cb7894245cd242890574473a60a636dc598854
2017-04-21 22:31:11 +00:00
Wei Wang 1214e236eb Merge "Ensure update_verifier run before zygote" am: a42ec8a9e3 am: 29a0f68c11
am: 73fc12cbda

Change-Id: Ife005b30f6115747309f0b3f096f5380e17f192a
2017-04-21 22:28:27 +00:00
Wei Wang 5dc05effec Ensure update_verifier run before zygote
Currently zygote is started early for FBE device but update_verifier is run later
which creates a potential risk. This CL ensures update_verifier run before
zygote touches anything within data/ partition. With this change, we also start zygote
early for unencrypted/unsupported encryption state device.

Bug: 37543411
Test: marlin boots
Change-Id: I95daa73bc1a503eecb70d7be78251b74b773abf8
2017-04-21 11:54:55 -07:00
Keun-young Park d1cb50c66a Merge "early start zygote_secondary as well" am: a0bf415cad am: b7896f0a0d am: 1abccccb71
am: 93ee9b3cb3

Change-Id: I8080e62c965fce0db456e3f61a2098794d5e448e
2017-04-21 17:10:04 +00:00
Keun-young Park 93ee9b3cb3 Merge "early start zygote_secondary as well" am: a0bf415cad am: b7896f0a0d
am: 1abccccb71

Change-Id: I0bf50e54aacc5cd2f967c44dd5176800ee69a695
2017-04-21 17:07:33 +00:00
Keun-young Park 5fb5b81fc7 early start zygote_secondary as well
- late start of zygote_secondary leads into occasional
  1 second wait for starting system service.
- Early start secondary zygote so that there is no additional
  wait.

bug: 37508384
Test: python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 100 -f -e 16 -w 30

(cherry picked from commit f8532445b4)

Change-Id: Ia46b07f3d6abb090cc169ebd807e21b16694d172
2017-04-21 09:55:03 -07:00
Keun-young Park f8532445b4 early start zygote_secondary as well
- late start of zygote_secondary leads into occasional
  1 second wait for starting system service.
- Early start secondary zygote so that there is no additional
  wait.

bug: 37508384
Test: python packages/services/Car/tools/bootanalyze/bootanalyze.py -r -c packages/services/Car/tools/bootanalyze/config.yaml -n 100 -f -e 16 -w 30
Change-Id: I2e4eb0b59a9a8417b56a72fe2de6fa2a6e1ab0a2
2017-04-20 18:31:48 -07:00
Andreas Gampe a2b67d6063 Asan_extract: Use sys.powerctl
rc-style powerctl has beem removed. Accordingly, asan_extract now
needs to access sys.powerctl directly.

Bug: 36458146
Test: m && m SANITIZE_TARGET=address SANITIZE_TARGET_SYSTEM=true
Change-Id: Ic65a858962b4b3dd613fdbfa09f93d21425bf892
2017-04-19 18:32:27 -07:00
Andreas Gampe 4648792228 Asan_extract: Set access flags.
After untar-ing, set correct access flags.

Bug: 36458146
Test: m && m SANITIZE_TARGET=address SANITIZE_TARGET_SYSTEM=true
Change-Id: Ibd98dfaeb58a0040ff2a9fee0bb880a281a673e8
2017-04-19 16:03:39 -07:00
Andreas Gampe cb46b01167 Asan_extract: Add FDE check
Under full-disk encryption, we must skip extracting libraries
into the temporary /data directory. It is too small, and the
framework will not be able to come up.

Add a check for the vold.decrypt system property. As it turns
out that we can't reliably use this, also add a size check
(and use 512M = 131072 4K blocks as the limit).

Bug: 36458146
Test: m && m SANITIZE_TARGET=address SANITIZE_TARGET_SYSTEM=true
Change-Id: Ib350094b049b6e75832d393527b8b62a58a7fece
2017-04-19 16:03:39 -07:00
TreeHugger Robot 1b0895300f Merge changes I33ad185f,I5fc2d727 into oc-dev
* changes:
  init.rc: move load_system_props to beginning of 'on fs'
  liblog: __android_logger_property_bool svelte+eng default
2017-04-19 20:16:15 +00:00
Mark Salyzyn 82a395de27 init.rc: move load_system_props to beginning of 'on fs'
(cherry pick from commit 3510359a3c)

ro.logd.kernel, ro.config.low_ram, ro.logd.timestamp and ro.debuggable
need to be retrieved prior to logd start in order for the service to
behave in a configured manner.  Other essential services are also
dependent on these system properties as well, so it just makes sense
to pick them all up first in 'on fs'.

Test: smoke test
Bug: 37425809
Change-Id: I33ad185f397ee527ed3c84cc2bcb40ff8ca785b5
2017-04-19 17:32:17 +00:00
Wei Wang ac0aa5f30c Merge "init.rc: set initial cpuset to all cores" into oc-dev 2017-04-19 16:49:59 +00:00
Mark Salyzyn 2563a726fb Merge "init.rc: move load_system_props to beginning of 'on fs'" am: 798ac73dcf am: 03393e6f63 am: 925a895266
am: e4f22b16a5

Change-Id: Ib999ec2f8c052a80cd4db64939a77031cd8f2cd5
2017-04-19 16:49:44 +00:00
Mark Salyzyn e4f22b16a5 Merge "init.rc: move load_system_props to beginning of 'on fs'" am: 798ac73dcf am: 03393e6f63
am: 925a895266

Change-Id: I4ea086b0fcf12a0d5df279712807e4e44e82f955
2017-04-19 16:47:51 +00:00
Mark Salyzyn 3510359a3c init.rc: move load_system_props to beginning of 'on fs'
ro.logd.kernel, ro.config.low_ram, ro.logd.timestamp and ro.debuggable
need to be retrieved prior to logd start in order for the service to
behave in a configured manner.  Other essential services are also
dependent on these system properties as well, so it just makes sense
to pick them all up first in 'on fs'.

Test: smoke test
Bug: 37425809
Change-Id: I33ad185f397ee527ed3c84cc2bcb40ff8ca785b5
2017-04-19 14:55:35 +00:00
Tom Cherry 5ceb7b3ebd init: handle sys.powerctl immediately
Currently if a process sets the sys.powerctl property, init adds this
property change into the event queue, just like any other property.
The actual logic to shutdown the device is not executed until init
gets to the action associated with the property change.

This is bad for multiple reasons, but explicitly causes deadlock in
the follow scenario:

A service is started with `exec` or `exec_start`
The same service sets sys.powerctl indicating to the system to
shutdown
The same service then waits infinitely

In this case, init doesn't process any further commands until the exec
service completes, including the command to reboot the device.

This change causes init to immediately handle sys.powerctl and reboot
the device regardless of the state of the event queue, wait for exec,
or wait for property conditions.

Bug: 37209359
Bug: 37415192

Test: Init reboots normally
Test: Update verifier can reboot the system
Change-Id: Iff2295aed970840f47e56c4bacc93001b791fa35
(cherry picked from commit 98ad32a967)
2017-04-18 12:24:58 -07:00
Tom Cherry 3b6367af46 Merge "init: handle sys.powerctl immediately" am: 14ed55bae8 am: e6bfb53196 am: 8972f887d2
am: 1f49801ab1

Change-Id: I6af3f4e1850593f13f27a3fd48f1310e0c3e369c
2017-04-18 18:39:20 +00:00
Tom Cherry 1f49801ab1 Merge "init: handle sys.powerctl immediately" am: 14ed55bae8 am: e6bfb53196
am: 8972f887d2

Change-Id: I3af0841fc3c23e2758ec5f330e9ba03f7695d50f
2017-04-18 18:33:17 +00:00
Tom Cherry 14ed55bae8 Merge "init: handle sys.powerctl immediately" 2017-04-18 18:14:18 +00:00
Jiyong Park dd39cf5e05 Merge "linker: don't allow libui to SP-HALs and fix warning" into oc-dev am: 02012596c1
am: 9cd5ed710b

Change-Id: I730e0cec8bdd2f8dfb6158f50a66a08519b6f562
2017-04-18 03:00:10 +00:00
Jiyong Park 9cd5ed710b Merge "linker: don't allow libui to SP-HALs and fix warning" into oc-dev
am: 02012596c1

Change-Id: Ia82a1515e8e47e5a8a39d5fb214ca8a5690efe5e
2017-04-18 01:51:48 +00:00
Tom Cherry 98ad32a967 init: handle sys.powerctl immediately
Currently if a process sets the sys.powerctl property, init adds this
property change into the event queue, just like any other property.
The actual logic to shutdown the device is not executed until init
gets to the action associated with the property change.

This is bad for multiple reasons, but explicitly causes deadlock in
the follow scenario:

A service is started with `exec` or `exec_start`
The same service sets sys.powerctl indicating to the system to
shutdown
The same service then waits infinitely

In this case, init doesn't process any further commands until the exec
service completes, including the command to reboot the device.

This change causes init to immediately handle sys.powerctl and reboot
the device regardless of the state of the event queue, wait for exec,
or wait for property conditions.

Bug: 37209359
Bug: 37415192

Test: Init reboots normally
Test: Update verifier can reboot the system
Change-Id: Iff2295aed970840f47e56c4bacc93001b791fa35
2017-04-17 16:40:06 -07:00
Jiyong Park 7b701de5e0 linker: don't allow libui to SP-HALs and fix warning
libui.so is not used by SP-HALs, so it is removed from the list of libs
exposed from the default namespace.

Also, this fixes a warning message "property value is empty" caused by
the automatically removed trailing '/' for the section 'legacy'. Since
the legacy behavior is already implemented by the linker itself, the
behavior doesn't need to specified in ld.config.txt.

Test: marlin/sailfish boots
Test: no warning message is shown
Change-Id: Ib679794d63b01c6794663dc88f1ab7e72cfb11d3
2017-04-18 08:16:03 +09:00
Wei Wang 81794deecf Merge "init.rc: set initial cpuset to all cores" am: 66f44d823f am: eb9ddd14f1 am: d7652f553c
am: c9c66cd486

Change-Id: Ibb9248214e48f937c80bf6af88124d602e32d502
2017-04-17 20:44:23 +00:00
Wei Wang c9c66cd486 Merge "init.rc: set initial cpuset to all cores" am: 66f44d823f am: eb9ddd14f1
am: d7652f553c

Change-Id: I1e1fee25ddd8f990dac12712dc1ae1955736f2d8
2017-04-17 20:29:05 +00:00
Wei Wang 66f44d823f Merge "init.rc: set initial cpuset to all cores" 2017-04-17 20:01:43 +00:00
Jiyong Park 2e24e8e2f0 Merge "Configure ld.config.txt for SP-HALs" into oc-dev am: 43b72b58f2
am: 7610066315

Change-Id: I59ede8903c6890b976ef3ca42c7ad1d220470a42
2017-04-15 02:07:02 +00:00
Jiyong Park 7610066315 Merge "Configure ld.config.txt for SP-HALs" into oc-dev
am: 43b72b58f2

Change-Id: I3e7e5f142f6c8e76da26e25362eccd35f10b81f1
2017-04-15 02:04:49 +00:00
TreeHugger Robot 43b72b58f2 Merge "Configure ld.config.txt for SP-HALs" into oc-dev 2017-04-15 01:47:39 +00:00
Wei Wang 8dbd12b948 init.rc: set initial cpuset to all cores
Starting zygote early requires cpuset to be initialized to all cores for
foreground cpuset. Change to expolit all cores by default at boot and
let device manufacturers override to proper values in device specific
init script.

Bug: 36576280
Test: marlin boot fast and checked cpuset during early boot
Change-Id: I2c1ce0630e58a7b04d1a453c6740d3f0bce9de9f
(cherry picked from commit 2e83b86a8a)
2017-04-14 22:09:14 +00:00
Wei Wang 2e83b86a8a init.rc: set initial cpuset to all cores
Starting zygote early requires cpuset to be initialized to all cores for
foreground cpuset. Change to expolit all cores by default at boot and
let device manufacturers override to proper values in device specific
init script.

Bug: 36576280
Test: marlin boot fast and checked cpuset during early boot
Change-Id: I2c1ce0630e58a7b04d1a453c6740d3f0bce9de9f
2017-04-14 15:03:29 -07:00
Jiyong Park 450cff4b68 Configure ld.config.txt for SP-HALs
Now, framework process (any process that is executing /system/bin/* or
/system/xbin/*) are started with three namespaces; default, sphal and
vndk.

default namespace is the namespace that is responsible for loading libs
from /system/lib. It can't load libs from other places such as
/vendor/lib. (However, we temporarily open the path since we haven't
finished the system partition cleanup, but will do eventually).

sphal namespace is the namespace where SP-HAL (Same-process HAL) is
loaded. SP-HAL are the only vendor libraries that are allowed to be
loaded inside framework processes. libEGL_<chipset>.so and
android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs. When
framework needs to load those SP-HALs, it explicitly loads it from this
namespace using android_get_exported_namespace() and
android_dlopen_ext().

vndk namespace is the namespace for loading vndk-sp (Vendor-NDK for
Same-Process) libs, which is a small set of framework libraries that
SP-HALs can link against. These libraries are compiled for the same
version of Android that the vendor partition is compiled against.
SP-HALs can not use libraries other than vndk-sp and ndk libs.
Membership to vndk-sp and ndk are strictly closed.

Note that in a system, there are two copies of vndk-sp libs. One at
/system/lib and the other at /vendor/lib/vndk-sp. As a result, there can
be two instances of a same library in a process.

Also adds ld.config.legacy.txt which is used on non-Treble devices where
PRODUCT_FULL_TREBLE is not set to true.
Note, this split can be cleaned up further after b/37139976 is solved.

Bug: 34407260
Test: git diff HEAD:rootdir/etc/ld.config.legacy.txt
HEAD^:rootdir/etc/ld.config.txt => 0
Test: sailfish boots (because BOARD_VNDK_VERSION is not set to
'current')

Change-Id: I8331d94edc38f22c4f8abc66cdf2050af9d0605b
2017-04-14 16:39:36 +09:00
Todd Poynor 4224f030c4 Merge changes I76212f65,I6a29c678 into oc-dev am: 5975d4e337
am: a03b4dc574

Change-Id: Ib202914daeb62057d4575e4815329f5a7bee80f0
2017-04-14 02:05:13 +00:00
Wei Wang e61f5c42fa Merge "init.rc: start all 3 servicemanagers early" into oc-dev am: d12835d19f
am: c74c092929

Change-Id: Ib436e16a88570a6b896ec917b40be87cf9a66fe0
2017-04-14 02:04:58 +00:00
Todd Poynor a03b4dc574 Merge changes I76212f65,I6a29c678 into oc-dev
am: 5975d4e337

Change-Id: I0441dc1f8a9ff11429a253d0510790b20b42e3b4
2017-04-14 01:37:03 +00:00
TreeHugger Robot 5975d4e337 Merge changes I76212f65,I6a29c678 into oc-dev
* changes:
  init.rc: create /data/misc/reboot owned by system
  reboot: fix owner and permissions of last_reboot_reason file
2017-04-14 01:29:39 +00:00
Wei Wang c74c092929 Merge "init.rc: start all 3 servicemanagers early" into oc-dev
am: d12835d19f

Change-Id: I935cc9f8b353a6b513fb825e989156684f27a9dd
2017-04-14 01:26:18 +00:00
Todd Poynor e092b72bf4 init.rc: create /data/misc/reboot owned by system
Directory will be read and modified by system uid.

Bug: 37251463
Test: Manual: reboot and inspect
Change-Id: I76212f65af991ff9ad0969b9c0b8460b80fb9cd2
2017-04-13 18:01:13 -07:00
Todd Poynor e1e6edcf33 init.rc: create /data/misc/reboot owned by system
Directory will be read and modified by system uid.

Bug: 37251463
Test: Manual: reboot and inspect
Change-Id: I76212f65af991ff9ad0969b9c0b8460b80fb9cd2
2017-04-13 15:48:11 -07:00
Tom Cherry ec1d24f522 Merge changes Ie5ec609a,I5a2ac369,I690137b5 am: 659b78ed10 am: 01b87aac9c am: 8d9eee4f2b
am: aa85663027

Change-Id: I69be112c0020f7b4ce1a9a92c1e60e8f2941c5a9
2017-04-13 22:25:29 +00:00
Tom Cherry aa85663027 Merge changes Ie5ec609a,I5a2ac369,I690137b5 am: 659b78ed10 am: 01b87aac9c
am: 8d9eee4f2b

Change-Id: I5cd7d00f71bfd3970189481f381629cedc358c9b
2017-04-13 21:45:58 +00:00
Tom Cherry 659b78ed10 Merge changes Ie5ec609a,I5a2ac369,I690137b5
* changes:
  ueventd: Fix up string handling in handle_*_device_event()
  ueventd: convert mkdir_recursive() to std::string
  ueventd: move subsystem logic from code to ueventd.rc
2017-04-13 21:22:45 +00:00
Wei Wang 00cdc10662 init.rc: start all 3 servicemanagers early
With the binder traffic of composer moved to vndbinder,
vndservicemanager is needed to be started early to get bootanim
displayed quickly.

Also servicemanager is required to be start early to support early
bootanim and sufaceflinger.

Bug: 37306311
Test: bootanim regression fixed
Change-Id: Ice1e05bdb3fe4e67a63a49f1db8afdb018c7b61b
2017-04-13 21:06:17 +00:00
Jaesoo Lee 498e500e8f Merge "disable module loading after BOOT_COMPLETED broadcast" into oc-dev am: a02b1f5bed
am: 00b0b347a0

Change-Id: I62f0b7d807a96276d08d13adcd758d126a509c39
2017-04-12 23:54:37 +00:00
Tom Cherry 780a71e779 ueventd: move subsystem logic from code to ueventd.rc
Test: Boot bullhead
Test: Boot sailfish, observe no boot time regression
Test: init unit tests

Change-Id: I690137b584fcc2b9cd2dd932a2678f75a56d6737
2017-04-12 16:36:20 -07:00
Jaesoo Lee 00b0b347a0 Merge "disable module loading after BOOT_COMPLETED broadcast" into oc-dev
am: a02b1f5bed

Change-Id: I7c750c9838b22cbcd9acb849c10be47ba7a50feb
2017-04-12 23:09:04 +00:00
Jaesoo Lee 20b7f78204 Merge "disable module loading after BOOT_COMPLETED broadcast" 2017-04-12 22:59:37 +00:00
Tom Cherry a72518f588 Merge "ueventd: remove /dev/log" am: 120add07ab am: 9ae606d659 am: 6c2e8b10fe
am: 6289bb1341

Change-Id: I688c8cca7ebca7f4cd86ac8d3595b6ba01be9221
2017-04-12 08:23:22 +00:00
Tom Cherry 6289bb1341 Merge "ueventd: remove /dev/log" am: 120add07ab am: 9ae606d659
am: 6c2e8b10fe

Change-Id: Ic257774710a74e72a97f4187e48587150ee3d613
2017-04-12 08:17:29 +00:00
Jaesoo Lee dcf4d19dd9 disable module loading after BOOT_COMPLETED broadcast
This CL disables module loading by writing 1 to
/proc/sys/kernel/modules_disabled when the property sys.boot_completed
is set to 1 by ActivityManagerService (at the broadcast of
PHASE_BOOT_COMPLETED).

Bug: 36515654
Test: tested on sailfish and verified that module loading is disabled in
userdebug and enabled in eng mode
Merged-In: Id38d34a6395966ab21e440614337c0cfca791ad0
(cherry picked from commit 6ed19d1675)

Change-Id: I2faa459b450b3a64f854c832c6b91cbf682bbffa
2017-04-12 10:08:26 +09:00
Tom Cherry d4ff8d83d3 ueventd: remove /dev/log
This was marked deprecated in 2014 and removed in 2015, let's remove
the uevent rule now too.

Test: see that logging still works on bullhead
Change-Id: Idaf3f49a1afe7046eba6c976628b9f1c8b3ec094
2017-04-11 21:35:46 +00:00
Jaesoo Lee 6ed19d1675 disable module loading after BOOT_COMPLETED broadcast
This CL disables module loading by writing 1 to
/proc/sys/kernel/modules_disabled when the property sys.boot_completed
is set to 1 by ActivityManagerService (at the broadcast of
PHASE_BOOT_COMPLETED).

Bug: 36515654
Test: tested on sailfish and verified that module loading is disabled in
userdebug and enabled in eng mode
Change-Id: Id38d34a6395966ab21e440614337c0cfca791ad0
2017-04-11 10:22:47 +09:00
Janis Danisevskis ec0ab6524e Move early_hal start to late-fs trigger action
The class early_hal is essentially for the keymaster hal which needs
to be up before vold tries to unlock a storage encryption key (FDE or
FBE). The current position is too early in the boot process, because
on devices with legacy HAL the wrapper service uses system properties
to find the legacy HAL.

This patch moves the start of the early_hal class to the late-fs trigger
action which runs right after the system property action.

Test: Manually tested and update tested on bullhead, sailfish, and
      another device.
Bug: 35764921

Change-Id: I34b45b85f8450e9ef18861535fdb2ee963df8c9b
(cherry picked from commit 1ad8d21947)
2017-04-07 15:28:56 -07:00
Janis Danisevskis 71132a8608 Merge "Move early_hal start to late-fs trigger action" into oc-dev am: 9cadfde2d6
am: a074e16357

Change-Id: I4dc06d4929a68a5ad1d8dc1386876e8d772802e5
2017-04-07 06:16:27 +00:00
Janis Danisevskis 1ad8d21947 Move early_hal start to late-fs trigger action
The class early_hal is essentially for the keymaster hal which needs
to be up before vold tries to unlock a storage encryption key (FDE or
FBE). The current position is too early in the boot process, because
on devices with legacy HAL the wrapper service uses system properties
to find the legacy HAL.

This patch moves the start of the early_hal class to the late-fs trigger
action which runs right after the system property action.

Test: Manually tested and update tested on bullhead, sailfish, and
      another device.
Bug: 35764921

Change-Id: I34b45b85f8450e9ef18861535fdb2ee963df8c9b
2017-04-07 02:30:18 +00:00
Steven Moreland 2ad7aafa23 Merge "init.rc: add class_start early_hal" am: 7bbd2a5290 am: 795eb840a7 am: 4bf15ab6b5
am: 53ae57e0bf

Change-Id: I10c10cfde7c6f4ffeabcad04eb738b62dfcbb831
2017-04-05 00:56:20 +00:00
Steven Moreland 53ae57e0bf Merge "init.rc: add class_start early_hal" am: 7bbd2a5290 am: 795eb840a7
am: 4bf15ab6b5

Change-Id: Ieae51492b03168b13224c252d075c03c8f80942d
2017-04-05 00:47:01 +00:00
Steven Moreland 38b5735987 init.rc: add class_start early_hal
This class is used to start hals which are required in order to mount
data (for instance keymaster).

Test: works to start early_hal in internal
Bug: 36278706
Change-Id: If06908135e59b187683d8cf4cc4a00b490559081
(cherry picked from commit 5d56bad4bd)
2017-04-04 15:35:05 -07:00
Steven Moreland 5d56bad4bd init.rc: add class_start early_hal
This class is used to start hals which are required in order to mount
data (for instance keymaster).

Test: works to start early_hal in internal
Bug: 36278706
Change-Id: If06908135e59b187683d8cf4cc4a00b490559081
2017-04-04 21:22:47 +00:00
Martijn Coenen 1e667f1e19 Merge "Add /dev/vndbinder to ueventd.rc" into oc-dev am: 026d17dab3
am: 92b49c03b5

Change-Id: I5d6d3f65a3f6cd66f503c6e915bb9e5404ed8bac
2017-04-04 06:40:45 +00:00
Martijn Coenen 62c5b47b9f Add /dev/vndbinder to ueventd.rc
Bug: 36052864
Test: vndservicemanager can access /dev/vndbinder
Change-Id: I208ae91e722185f015fe8f0047c54087be6d21a2
2017-04-03 17:04:02 -07:00
Andreas Gampe 4542eda998 ASAN: Fix ASAN directory in asan_extract.sh
Move things over to the new layout.

Bug: 36458146
Test: m && m SANITIZE_TARGET=address SANITIZE_TARGET_SYSTEM=true
Change-Id: I4dba269f82e4f88e39f926c6c2dd3c5efa07b2a1
2017-04-03 10:41:54 -07:00
Andreas Gampe df5496aa65 ASAN-Extract
Add init script and shell script to unzip a tar containing ASAN
libraries on boot.

Bug: 36458146
Test: m && m SANITIZE_TARGET=address
Test: manual (build steps for tar missing)
Change-Id: I1bcf332f86c5bf2e0333cbe3def684999c1002f8
2017-03-31 16:02:24 -07:00
Tom Cherry aaeb792312 init.rc: launch update_verifier with exec_start
This allows update_verifier to raise it's priority and ioprio.

Bug: 36511808
Bug: 36102163
Test: Boot bullhead
Test: Verify boottime decrease on sailfish
Change-Id: I5710c6a98dc7acee9063d1fa1d1c80668f0f1528
(cherry picked from commit 1e2d8c7fce)
2017-03-29 13:37:54 -07:00
Tom Cherry 61c5bdf6de Merge changes from topic 'exec-start-update-verifier' am: 8772b3686e am: 571cb53797
am: 5b591daf83

Change-Id: I9b6a559f4295dd25e84d17e89d93ee0cb3c3a7f2
2017-03-29 18:49:24 +00:00
Tom Cherry 1e2d8c7fce init.rc: launch update_verifier with exec_start
This allows update_verifier to raise it's priority and ioprio.

Bug: 36511808
Bug: 36102163
Test: Boot bullhead
Test: Verify boottime decrease on sailfish
Change-Id: I5710c6a98dc7acee9063d1fa1d1c80668f0f1528
2017-03-28 15:54:45 -07:00
Steven Moreland da48f4938a Merge "Revert "Revert "Start hwservicemanager earlier.""" am: ca622b4e78 am: e326cb121e
am: 352b3d737c

Change-Id: I7cb77ed1a7e4d7d8cee945a1ddee0c448f350452
2017-03-27 17:37:30 +00:00
Treehugger Robot ca622b4e78 Merge "Revert "Revert "Start hwservicemanager earlier.""" 2017-03-27 17:28:38 +00:00
Dimitry Ivanov 0bc3add41b Merge "Add ld.config.txt to /system/etc" am: d444f8663d am: e6f9497cca
am: 7bbe56c46b

Change-Id: I17bd0af0e7acdb8f4cea33c29812825ec78d5f3f
2017-03-25 05:26:30 +00:00
Treehugger Robot d444f8663d Merge "Add ld.config.txt to /system/etc" 2017-03-25 05:17:33 +00:00
Steven Moreland d627502bb0 Revert "Revert "Start hwservicemanager earlier.""
This reverts commit 5011270225.

Now starting even earlier.

Reason for revert: Needed change, reverted b/c broken device.

Bug: 36278706
Test: original DOA device boots
Test: angler, bullhead, fugu, marlin, ryu
Test: all these devices boot with wipe
Test: all these devices boot with w/o wipe
Test: lshal shows all included services

Change-Id: Ic639aedf7834b1bd3a26d23d109727f5559317e9
2017-03-24 20:52:44 -07:00
Thierry Strudel 7d84086639 Merge "Revert "Start hwservicemanager earlier."" am: 3ba313597d am: 263cf5c8d9
am: ea6de14c5e

Change-Id: Ia0b57d328df2fc47e7f5dee35930e43bb514c4f5
2017-03-24 14:42:14 +00:00
Thierry Strudel 3ba313597d Merge "Revert "Start hwservicemanager earlier."" 2017-03-24 14:33:18 +00:00
Steven Moreland 5011270225 Revert "Start hwservicemanager earlier."
This reverts commit 9e36331174.

Reason for revert: a DOA device

Bug: 36546734

Change-Id: I0456247d362fe43b8c37623d04432eb494f68f68
2017-03-24 06:05:41 +00:00
Jeff Vander Stoep 5659c9cf1d Merge "Create dir in /data for vendor customization" am: c39a31f002 am: bfc4da8369
am: bc4d384d49

Change-Id: Ic14d961fb28c1cbad6a2082a321a679580a69d2c
2017-03-23 19:48:45 +00:00
Treehugger Robot c39a31f002 Merge "Create dir in /data for vendor customization" 2017-03-23 19:36:52 +00:00
Jeff Vander Stoep 61efb0dab8 Create dir in /data for vendor customization
Vendor owns /data/vendor.

HAL data must go in /data/vendor/hardware/.

Bug: 34980020
Test: build and boot AOSP Marlin. Observe /data/vendor and
      /data/vendor/hardware exist and are empty.
Change-Id: I6fe96e3c76a10a5eb480ba10e10d4d006de56c12
2017-03-23 10:30:34 -07:00
Steven Moreland 2b9a3391d0 Merge "Start hwservicemanager earlier." am: fcd509298d am: 0a85db775e
am: 6c546660d9

Change-Id: Ifd4e04fef289f8ece3884434efa1a3c6d47890fa
2017-03-23 03:53:01 +00:00
Treehugger Robot fcd509298d Merge "Start hwservicemanager earlier." 2017-03-23 03:39:40 +00:00
Steven Moreland 9e36331174 Start hwservicemanager earlier.
Also start hals where hwservicemanager was started before.

Bug: 36278706
Test: internal marlin+angler boots
Change-Id: Ia55d2ef747fcbd086a09e1bb856824b14343118b
2017-03-22 11:19:31 -07:00
Wei Wang 33a55b3d52 init.rc: remove bg_non_interactive cgroup am: a27a91a5fd am: 20943abad0
am: 7d4d63ca18

Change-Id: I5c1d3a860c64dae63be5edcc91734805863d6f85
2017-03-22 00:34:33 +00:00
Wei Wang a27a91a5fd init.rc: remove bg_non_interactive cgroup
We have seen cases when threads in this cgroup not scheduled for more than
a few seconds in heavy workload situation and causing device freeze.
In Linux, multiple threads placed in ROOT cgroup cause the CPU resource to
be split per thread, rather than per group.
Currently we have many threads in ROOT cgroup, which makes threads in
bg_non_interactive cgroup to have "tiny" CPU resource other than 5%
quota defined.

Bug: 34193533
Test: on marlin
Change-Id: I7721f6196560fbedf6265e8b6db130cec9edefd7
2017-03-20 22:13:07 -07:00
Dimitry Ivanov ee34aecafe Add ld.config.txt to /system/etc
This file describes how loader should set up
default namespace for different kind of binaries.

Note that vendor and some of system binaries are
not yet ready for this config to be enabled - they
rely on libraries they shouldn't be relying upon.

Bug: http://b/30435785
Test: m
Change-Id: I7d5853a6b55db169be1dc2c38cc682711bf7f7f5
2017-03-17 12:27:37 -07:00
Jeff Vander Stoep 13b8bd0175 Merge "init-debug.rc: don't mount debugfs" am: 54e7365fee am: 9a1ed6106d
am: 038a906997

Change-Id: Ie32933ee52b6b81c3b51adfbe93cf176b3805198
2017-03-16 17:41:48 +00:00
Jeff Vander Stoep 082807f3b4 init-debug.rc: don't mount debugfs
Motivation:
1. Reduce skew between userdebug and user builds.
2. Make the decision to mount debugfs on debug builds on a
   per-device basis.
3. Prepare to not mount it at all to reduce the attack surface
   of the kernel, reduce boot time, and free up memory.
4. Remove the selinux denial on devices that mount twice, i.e.
   unconditionally in the device specific .rc file and in the
   init-debug.rc file.
   avc: denied { mounton } for path="/sys/kernel/debug" dev="debugfs"
   ino=1 scontext=u:r:init:s0 tcontext=u:object_r:debugfs:s0
   tclass=dir permissive=0

If desired, debugfs may be mounted in device specific rc files
instead.

Bug: 31856701
Bug: 35197529
Test: Build and boot Marlin. Selinux denial no longer observed.
Change-Id: Ie0d954f77f7cf70ed2b94f67a57a6c9eba45ba8e
2017-03-14 21:56:24 -07:00
David Lin a44f638a01 Merge "init.rc: enable ledtrig-transient support for vibrator" am: 75b66a6f2a am: 64af4183a1
am: f357e1989a

Change-Id: I98daea756aceeaeaca099bfb6dd668c68c58a8dd
2017-03-11 01:35:24 +00:00
Treehugger Robot 75b66a6f2a Merge "init.rc: enable ledtrig-transient support for vibrator" 2017-03-11 01:23:18 +00:00
Andreas Gampe 19c4f38402 Merge "ASAN: Separate SANITIZE_LITE from asan.options" am: e7195be772 am: ee7be79816
am: df13a9e51e

Change-Id: Ia3f1b5b5a7ecac19658da9b1700d9f860f3005ae
2017-03-10 21:18:24 +00:00
Andreas Gampe 21bb2e0388 ASAN: Separate SANITIZE_LITE from asan.options
Add SANITIZE_LITE_SERVICES to drive usage of asan.options for a
large set of native services.

Test: m SANITIZE_TARGET=address SANITIZE_LITE=true
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true SANITIZE_LITE_SERVICES=true
Change-Id: I84458dcc1b193b762daeb3004cf6c49e2fd8fae2
2017-03-10 10:48:00 -08:00