Commit Graph

38340 Commits

Author SHA1 Message Date
Badhri Jagan Sridharan 461316dd0e Merge "Fix selinux denials for usbd"
am: 23e60de4ff

Change-Id: Ia081a6206bc30c98c7cce2eb8c34ea750894871c
2018-01-24 02:21:47 +00:00
Treehugger Robot 23e60de4ff Merge "Fix selinux denials for usbd" 2018-01-24 02:17:43 +00:00
Daniel Colascione d39adf2a4a Add MCL_ONFAULT to mlockall
This way, we don't fault in the entirety of our DSOs immediately;
instead, used pages are "sticky" in memory. Works only on kernel 4.4
and up: downlevel, we ignore the mlockall failure.

Once we get statically-linked lmkd in better shape, we'll just switch
to that.

Change-Id: I07a75ee3bc1264a1db41635c2acf611fede99b91
2018-01-24 01:53:52 +00:00
Tom Cherry 5759bcccbb Merge "Label /vendor_file_contexts as file_contexts_file"
am: a0e50d0b56

Change-Id: I868f7f5e0e11e4a8926d6e2b40b042b8d81d2d3d
2018-01-24 01:14:38 +00:00
Tom Cherry a0e50d0b56 Merge "Label /vendor_file_contexts as file_contexts_file" 2018-01-24 00:59:11 +00:00
Badhri Jagan Sridharan d5db344807 Fix selinux denials for usbd
auditd  : type=1400 audit(0.0:9): avc: denied { dac_override } for comm="usbd" capability=1 scontext=u:r:usbd:s0 tcontext=u:r:usbd:s0 tclass=capability permissive=
auditd  : type=1400 audit(0.0:9): avc: denied { dac_override } for comm="usbd" capability=1 scontext=u:r:usbd:s0 tcontext=u:r:usbd:s0 tclass=capability permissive=0

Bug: 72397740
Test: booted the device to make sure that the denials are no longer
seen.
Change-Id: Ie276103ba261fd762fb8c24234904e3f3ce3d2f1
2018-01-24 00:24:49 +00:00
Christopher Ferris 0b06a590d9 Add extra frame when dex_pc is non-zero.
Use the art dex file library to read the dex data.

Add unit tests for the UnwindDexFile code.

Bug: 72070049

Test: All unit tests continue to pass.
Test: Dumped the backtrace of the 137-cfi test while running in interpreter
Test: mode and verified that the stack trace is correct. Did this on host
Test: and for arm/arm64.

Change-Id: Ia6f343318c5dd6968a954015a7d59fdf101575b0
2018-01-23 13:17:48 -08:00
Tom Cherry af0a1f87b9 Label /vendor_file_contexts as file_contexts_file
vendor_init doesn't have permissions to read rootfs labeled files, but
needs to read /vendor_file_contexts to do restorecon correctly.  This
file is a file_contexts file, so labeling it as such seems appropriate.

Test: bullhead + vendor_init doesn't hit this audit
Change-Id: I475e9735616c2426b9c7073700272f878ced2135
2018-01-23 12:40:31 -08:00
Elliott Hughes 9e2d0b33f1 Merge "Build toolbox with _FILE_OFFSET_BITS=64."
am: 98aad49d58

Change-Id: I114766583ec2743b6c8f4b0c7508cd4a61b6e991
2018-01-23 19:31:48 +00:00
Tom Cherry 6c8ab36b0e Merge "Make vendor_init check SELinux before setting properties"
am: f09649c231

Change-Id: I352c9be985d9d87d861d7ef58230d845f06b23bf
2018-01-23 19:30:45 +00:00
Christopher Ferris 67c7c1d911 Merge "Fix null ptr dereference if jit debug not enabled."
am: b04bbccbb6

Change-Id: I50ab7b3b070781cf49716a13467a6296019fac42
2018-01-23 19:30:19 +00:00
Elliott Hughes 98aad49d58 Merge "Build toolbox with _FILE_OFFSET_BITS=64." 2018-01-23 19:15:39 +00:00
Badhri Jagan Sridharan 9f249c9dd4 Merge "Initial commit for usb daemon"
am: b9b54e7b7a

Change-Id: Ib433b96e17920c335468238ae773120387716043
2018-01-23 18:36:30 +00:00
Tom Cherry f09649c231 Merge "Make vendor_init check SELinux before setting properties" 2018-01-23 18:34:34 +00:00
Christopher Ferris b04bbccbb6 Merge "Fix null ptr dereference if jit debug not enabled." 2018-01-23 14:58:09 +00:00
Badhri Jagan Sridharan b9b54e7b7a Merge "Initial commit for usb daemon" 2018-01-23 03:09:27 +00:00
Logan Chien ea4a2bdd44 ld.config.txt: Link vendor vndk ns to default ns
This commit links the vndk namespace of vendor processes to the default
namespace of vendor processes.  allow_all_shared_libs is specified so
that VNDK extensions can link with other vendor libraries in
/vendor/lib[64].

Bug: 69824336

Test: Create a vndk-ext lib that links to vendor lib and use that
vndk-ext lib in a vendor executable.

Change-Id: Ibd3dc2e5f0f2e6ff9fc9677c6bcfcf87a1a70e50
2018-01-23 11:02:54 +08:00
Logan Chien 0779a259b7 Merge "ld.config.txt: Move vendor vndk to vndk namespace"
am: c6805c3e9c

Change-Id: I37769e578c41f8a699a77993c0ed0ae01d35f035
2018-01-23 02:20:52 +00:00
Logan Chien c6805c3e9c Merge "ld.config.txt: Move vendor vndk to vndk namespace" 2018-01-23 02:02:21 +00:00
Christopher Ferris 2486d5a10d Fix null ptr dereference if jit debug not enabled.
Test: No crash when a jit debug object is not instantiated.
Change-Id: Ic4350a10258459ead7c5679ceb84372f1084f0ad
2018-01-22 17:37:59 -08:00
Elliott Hughes 16b82b7e24 Build toolbox with _FILE_OFFSET_BITS=64.
32-bit devices still exist...

Bug: http://b/72335947
Test: builds
Change-Id: Ia644640f19ad9d9160554e3fe329b3ce8e585c66
2018-01-22 16:15:55 -08:00
Steve Paik 0a8ab16db2 Merge "Add force_suspend function"
am: daac5aafa7

Change-Id: I764f10d0e310be0206e063334c1bd846ed88bc5c
2018-01-22 23:44:38 +00:00
Treehugger Robot daac5aafa7 Merge "Add force_suspend function" 2018-01-22 23:32:55 +00:00
Steven Moreland 9380bfda08 Merge "Init remove direct calls to light sys nodes."
am: 17b959c9ed

Change-Id: I1ffd4e68ebcdc444bd673f108ddd205a84dc2885
2018-01-22 20:35:27 +00:00
Treehugger Robot 17b959c9ed Merge "Init remove direct calls to light sys nodes." 2018-01-22 20:27:17 +00:00
Tom Cherry 32228485ff Make vendor_init check SELinux before setting properties
Finishing a TODO from vendor_init, check SELinux permissions before
setting properties in vendor_init.

Bug: 62875318
Test: N/A
Change-Id: I3cb6abadd2613ae083705cc6b9c970587b6c6b19
2018-01-22 18:20:56 +00:00
Tom Cherry 12fbce5c2a Merge "Move all of init to libinit"
am: ad939afaf4

Change-Id: Ib2df5914dd2f24958d95f5b9dfe01577c8b796b0
2018-01-22 17:56:27 +00:00
Tom Cherry ad939afaf4 Merge "Move all of init to libinit" 2018-01-22 17:50:56 +00:00
Logan Chien 91b3fb4f3f ld.config.txt: Move vendor vndk to vndk namespace
This commit moves /{odm,vendor}/lib[64]/vndk[-sp] to vndk namespace so
that vndk extension can override vndk libs from
/system/lib[64]/vndk[-sp].

Bug: 69824336

Test: Create libutils_ext locally and it can be called from
android.hardware.nfc@1.0-service.

Change-Id: Id63e58d665fa41eda85950ee1d16fe06c35cd7d3
2018-01-22 11:30:56 +08:00
Christopher Ferris 91f68e9340 Merge "Fix regression caused by libbacktrace API change."
am: 0ba2c9f4a2

Change-Id: I16e50d5d317cd43440338c1ad0da7aacaadc43a2
2018-01-20 18:25:16 +00:00
Christopher Ferris 0ba2c9f4a2 Merge "Fix regression caused by libbacktrace API change." 2018-01-20 18:18:43 +00:00
Christopher Ferris e36afb0429 Fix regression caused by libbacktrace API change.
The stack dump was not printing leading zeros for data after the
change to remove uintptr_t types from the libbacktrace API.

Bug: 65682279

Test: Created an arm tombstone and an arm64 tombstone and verified
Test: that the stack data has leading zeros.
Change-Id: I1fbec2c4fa7c8b0fab18894c5628d18c5a580299
2018-01-20 00:59:11 -08:00
Josh Gao 76dd792450 Merge "debuggerd: add seccomp policies and tests."
am: fd0e0db391

Change-Id: If95e65c018e78dc62d351f03a8c2a0365f4cc0e6
2018-01-20 02:51:47 +00:00
Josh Gao fd0e0db391 Merge "debuggerd: add seccomp policies and tests." 2018-01-20 02:45:37 +00:00
Max Bires 69c428e5a6 Merge "Adding /data/local/traces for traceur app"
am: 658e4ddd03

Change-Id: Icd96940adf99c754a6bdb06c42ae8b1ad615cf9d
2018-01-20 00:57:00 +00:00
Treehugger Robot 658e4ddd03 Merge "Adding /data/local/traces for traceur app" 2018-01-20 00:51:30 +00:00
Christopher Ferris b5ca867bd5 Merge "Change all uintptr_t to uint64_t in API."
am: e20b4a48fe

Change-Id: Id0bb2e33e87a6889ded796fc29fdb6a273d4c5ff
2018-01-19 23:38:38 +00:00
Christopher Ferris e20b4a48fe Merge "Change all uintptr_t to uint64_t in API." 2018-01-19 23:30:33 +00:00
Elliott Hughes 944cc0d002 Merge "Fix fastboot memory corruption."
am: b6d7f2655d

Change-Id: Idc566a2dad5cdeeee1b049598d9b92e6cf7c3c73
2018-01-19 22:48:03 +00:00
Steven Moreland d5eccfd417 Init remove direct calls to light sys nodes.
These are halified. Instead launch blank_screen which
does the same task w/o init itself having binder
dependencies.

Bug: 70846424
Test: manual + reboot appears similar
Change-Id: If8b2a56cbc31077122ea81406721b06034e4498f
2018-01-19 14:45:10 -08:00
Treehugger Robot b6d7f2655d Merge "Fix fastboot memory corruption." 2018-01-19 22:39:14 +00:00
Tom Cherry 618d3102c9 Move all of init to libinit
I'd be not doing this for a while since some of this code doesn't
compile on host and libinit previously did.  But after realizing
the property_service.cpp (libinit) references symbols in init.cpp
(init) and seeing a new linker error crop up due to that, it's time to
make the fix.

My only hold out previously was that libinit compiled on host bionic
and some of init (builtins.cpp, etc) do not, however given that we
don't actually have host bionic support or host bionic init tests,
that isn't a good reason.  We can and should mock out the libraries
that aren't available with host bionic when ready.

Test: build, unit tests, boot
Change-Id: Ie49362ddb637924efc272540a4f32b693643fcdc
2018-01-19 14:25:48 -08:00
Steve Paik 10b149f18f Add force_suspend function
This CL implements a simple force_suspend().  This function takes a
timeoutMs argument that is currently ignored.  It also uses a two-stage
init process that spawns the suspend_thread when autosuspend is in use.

Follow-up CLs will:
- Implement file locking to prevent multiple libsuspend instances from
starting multiple suspend threads in the system.
- Fully implement timout for force_suspend.
- Integrate force_suspend with suspend_thred.

Bug: 70669809
Test:  autosuspend still works
Change-Id: I6b2c72d0c61d1bec6db0f0b28481ffe0e20ec615
2018-01-19 12:30:39 -08:00
Max Bires 181d11c5cb Adding /data/local/traces for traceur app
Traceur app is being split out of shell user. Previously it logged to
shell's bugreports directory. It no longer has access, so it needs a
new, user-friendly file location to store trace data.

Bug:68126425
Test: Traceur can write and shell can read from this directory
Change-Id: I9e344973fd43eb5699f7a848524e20b06458fb77
2018-01-19 09:37:44 -08:00
Ian Pedowitz 11ecd63660 Merge "Fixing app compat issue b/72143978"
am: 0f2ed7d398

Change-Id: Iee2097bf9db16f0056da2daa6c319a894078195a
2018-01-19 04:13:22 +00:00
Treehugger Robot 0f2ed7d398 Merge "Fixing app compat issue b/72143978" 2018-01-19 02:38:33 +00:00
Christopher Ferris 7937a36c8e Change all uintptr_t to uint64_t in API.
In order to support the offline unwinding properly, get rid of the
usage of non-fixed type uintptr_t from all API calls.

In addition, completely remove the old local and remote unwinding code
that used libunwind.

The next step will be to move the offline unwinding to the new unwinder.

Bug: 65682279

Test: Ran unit tests for libbacktrace/debuggerd.
Test: Ran debuggerd -b on a few arm and arm64 processes.
Test: Ran crasher and crasher64 and verified tombstones look correct.
Change-Id: Ib0c6cee3ad6785a102b74908a3d8e5e93e5c6b33
2018-01-18 17:26:20 -08:00
Elliott Hughes aaa3b6bbf2 Fix fastboot memory corruption.
Bug: http://b/68664649
Test: echo 'ANDROID!' > fake.img ; fastboot -c `python -c "print 'A'*4000"` boot fake.img
Change-Id: I3299e0fba24a6c1f6178c994731a94cea68f7254
2018-01-18 16:50:14 -08:00
Ian Pedowitz 7bb9785a1d Fixing app compat issue b/72143978
Revert "Remove obsolete workaround."

This reverts commit 1f3ac7583f.

Bug: 72143978
Bug: 24465209
Test: Tested failing case on sailfish, reverted back all CL's since
Test: 3471433 for b/24465209 and apps open
2018-01-18 16:25:24 -08:00
David Sehr 8b70132880 Merge "Remove libziparchive dependency on libutils"
am: 34f8eaab0d

Change-Id: I41c99c26aebc23b2cc1d82b2e147e5be5aada114
2018-01-19 00:21:21 +00:00