Commit Graph

20430 Commits

Author SHA1 Message Date
Elliott Hughes 9b0eb7cdf4 Merge "Don't include <machine/cpu-features.h>." 2016-05-17 03:10:05 +00:00
Dimitry Ivanov 24db75c1ce Set parent namespace for linker-namespaces
This change allows applications to share RTLD_GLOBAL
native libraries between namespaces associated with
different classloaders.

The rule is - if a library is GLOBAL within namespace
associated with parent classloader, it is shared
with namespace associated with this classloader

Note that the sharing happens on create_namespace
event, which is tied to createClassloader in case of
application classloaders created by the framework, for
custom application classloaders it is tied to first
loadLibrary() event.

Bug: http://b/28560538
Bug: https://code.google.com/p/android/issues/detail?id=208458
Change-Id: I7ee701166f8ec5eff033b7acc0f80c7aa4ec5bda
2016-05-16 18:13:49 -07:00
Treehugger Robot a214a769f9 Merge "Pass permitted_path to the linker as is." 2016-05-17 01:05:01 +00:00
Elliott Hughes a1b9bd901f Don't include <machine/cpu-features.h>.
We're not using it.

Change-Id: Ic128cf9297e1627c839c48f1954c19d7070654d7
2016-05-16 17:55:27 -07:00
Dimitry Ivanov b31caa95ec Pass permitted_path to the linker as is.
Now that we have the fixed list of whitelisted libraries
there is no longer need to check if java_permitted_path is nullptr.
In fact checking it prevents custom classloaders created by apps
from loading libraries using absolute path.

Bug: http://b/28659864
Change-Id: I1bfc16a573b090f70f078ecccd0e4016939a5dc0
2016-05-16 17:08:06 -07:00
Treehugger Robot 210fdc2742 Merge "adb/base: allow use of unique_fd inside adb." 2016-05-16 21:42:02 +00:00
Badhri Jagan Sridharan 2a26c2a836 Merge "init: usb: disable usb function switch until adbd is ready" 2016-05-16 19:34:51 +00:00
Treehugger Robot e3ff256228 Merge "SystemClock: elapsedRealtimeNano() should use clock_gettime() on Linux" 2016-05-16 18:18:57 +00:00
Treehugger Robot 282e8fb037 Merge "SystemClock: add test" 2016-05-16 18:18:30 +00:00
Badhri Jagan Sridharan 4cefb91611 Merge "fs_mgr: update block device reference in verity metadata" 2016-05-16 18:06:38 +00:00
Elliott Hughes 54fed512b9 Merge "Don't expose ashmem constants on the host." 2016-05-16 17:23:52 +00:00
Jeremy Compostella dfd2478bd1 fs_mgr: update block device reference in verity metadata
The dm-verity metadata contains the block device path that is given to
the dm-android-verity driver.  If the device is using slot A/B, this
path is missing the slot suffix.

This patch makes fs_mgr replace all the block device path reference
with the one including the active slot suffix.

Change-Id: Ib624d0d18b12a8a287cac7f15605a2e0fb7c97c6
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
2016-05-16 16:37:24 +00:00
Josh Gao 4abdeee073 adb: replace failing exits in adbd with abort().
This makes it possible to get a core dump from adbd when it decides to
exit.

Bug: http://b/28347842
Change-Id: I4cfe5f273f62b2c32e61232d3c39881ecdd6b582
2016-05-14 18:52:46 -07:00
Josh Gao b463baf610 adb: add track-jdwp and track-devices commands.
Expose these to the command line client to make it easier to poke
around.

Bug: http://b/28347842
Change-Id: Ia939b3a41eb8201365d50cd2996b83d884e42b64
2016-05-14 18:35:44 -07:00
Josh Gao 13ea01db45 adb/base: allow use of unique_fd inside adb.
adb implements its own file descriptor emulation layer on Windows,
which requires the use of adb_close instead of close throughout the
codebase. Add a template argument to unique_fd that allows for this.

Bug: http://b/28347842
Change-Id: I6397261f4973d49f2f8e04257bf67b348585bb63
2016-05-14 18:25:51 -07:00
Elliott Hughes 427c605b2a Don't expose ashmem constants on the host.
Change-Id: I86bf58841645114e382300228be7be69a555e76b
2016-05-13 14:47:30 -07:00
Treehugger Robot faa14b94d5 Merge "init: support matching sysfs class paths in ueventd.rc" 2016-05-13 21:38:12 +00:00
Rob Herring 6de783af07 init: support matching sysfs class paths in ueventd.rc
Currently, ueventd.rc files only support /sys/devices/... paths
and don't support symlinked paths, specifically /sys/class/...
Supporting the class paths is necessary to have non-hardware
dependent paths. Some subsystems like IIO use /sys/bus/iio/, so
support that as well.

Change-Id: I29f3bf67b41664d1d75ac1820c46e13afe336d56
Signed-off-by: Rob Herring <robh@kernel.org>
2016-05-13 13:46:46 -07:00
Treehugger Robot 0504a94cd9 Merge "init: rework fixup_sys_perms to use perm_path_matches" 2016-05-13 20:23:44 +00:00
William Roberts 875476d8ed fs_mgr: pass sehandle to ext4 format routine
When fs_mgr_do_format() is executed, fs_mgr creates a new
blank data file system. However, that filesystem is not
labeled and causes some unlabeled denials on early boot.

Example Denial:
avc: denied { search } for pid=2535 comm="logd" name="/" dev="mmcblk0p9" ino=2 scontext=u:r:logd:s0 tcontext=u:object_r:unlabeled:s0 tclass=dir permissive=1

To correct this, pass sehandle to the internal ext4 routine.
This way the ext4 filesystem will be labeled at creation and
the root inode will have a label.

Change-Id: Ieeecaa8bbc258e6d743d281dd956bdaca98b365f
Signed-off-by: William Roberts <william.c.roberts@intel.com>
2016-05-13 11:28:24 -07:00
Treehugger Robot e62cec6e39 Merge "Move canned_fs_config into libcutils" 2016-05-13 18:13:22 +00:00
David Pursell cb90562bcf Merge "adb: support forwarding TCP port 0." 2016-05-13 15:12:51 +00:00
Mohamad Ayyash 8374276bfa Move canned_fs_config into libcutils
It's no longer specific to make_ext4fs, will be used for mksquashfs as
well.

BUG: 27467028
Change-Id: I41b8c2b168ada45c8378dee522391edfb8f6b9a6
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
BUG: 28704419
2016-05-12 18:44:13 -07:00
Treehugger Robot 422492c506 Merge "init.rc: Remove cpu weight set on the root cgroup" 2016-05-12 18:05:46 +00:00
Treehugger Robot 1d560ff24a Merge "liblog: sleep 20ms before critical property_set" 2016-05-12 16:38:07 +00:00
Mark Salyzyn 5cceee6404 liblog: sleep 20ms before critical property_set
Going too fast can result in the property not being set
and causing an extreme corner case failure being reported
and blamed on is_loggable functionality.

Bug: 25792367
Change-Id: Idda6f67d655d8a84d2809daf695394d5293e7431
2016-05-12 15:58:57 +00:00
Irina Patru c560c6310f init.rc: Remove cpu weight set on the root cgroup
It isn't allowed to change the cpu.share value for the root cgroup.
See kernel commit:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ec7dc8ac73e4a56ed03b673f026f08c0d547f597

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

BUG: 28735908

Change-Id: I5ef359fb275792f99d13d35c62499026d354f6af
Signed-off-by: Irina Patru <irina.patru@intel.com>
2016-05-12 14:57:31 +03:00
Elliott Hughes 8c5384e50b Merge "Report errno more often in fastboot." 2016-05-11 21:27:44 +00:00
Dimitry Ivanov 37ed923d1c Merge "Move linker-namespace functions declarations" 2016-05-11 21:14:41 +00:00
Elliott Hughes 53ec495b40 Report errno more often in fastboot.
Change-Id: I4b4b47c584a146b38876a379f26ceb20d071c643
2016-05-11 12:39:27 -07:00
Elliott Hughes e674d32d2d Merge "Add a fortify test to crasher." 2016-05-11 17:47:21 +00:00
Rob Herring e5636a3fce init: rework fixup_sys_perms to use perm_path_matches
fixup_sys_perms does the same matching as the function perm_path_matches
other than the leading '/sys'. Adjust the path and use the common
matching function. Replace the fixed length C strings with std::string.

Change-Id: Ic09d91aa4ac1f1096018617537d782b82ee9ef63
Signed-off-by: Rob Herring <robh@kernel.org>
2016-05-11 09:20:19 -05:00
Dimitry Ivanov 39d1230ee3 Merge "nativeloader: Ignore empty java_permitted_path" 2016-05-11 07:36:31 +00:00
Dimitry Ivanov 72ca40f738 nativeloader: Ignore empty java_permitted_path
Passing empty permitted path should result in no-op.
This addresses review comment on CL with commit
f334cbf0e1

Bug: http://b/28639227
Change-Id: I4a4540e522e90a145a374939921932c86f35e88d
(cherry picked from commit d0b1531929)
2016-05-10 22:02:05 -07:00
Dimitry Ivanov 0756fae4f1 Merge "Check if public namespace has already been initialized" 2016-05-11 01:23:20 +00:00
Treehugger Robot 3fb5f13806 Merge "Extend white-listed directories to include /mnt/expand" 2016-05-10 23:17:27 +00:00
Dimitry Ivanov 637da4eeeb Extend white-listed directories to include /mnt/expand
Apps on sdcard live under /mnt/expand and therefore
this directory should be under linker namespaces
permitted_path.

Bug: http://b/28639227
Change-Id: I462f9f23656c95d9c2a48bb3f513abcd9d08f340
(cherry picked from commit f334cbf0e1)
2016-05-10 15:31:18 -07:00
Elliott Hughes 23d1cad9e0 Add a fortify test to crasher.
Change-Id: I675dbeaa39529583be5877946fd38b94ec341315
2016-05-10 14:44:59 -07:00
Elliott Hughes c5016de66b Merge "<cutils/atomic.h> has been inlined for two years now." 2016-05-10 15:55:22 +00:00
Dimitry Ivanov 80ddb8f551 Check if public namespace has already been initialized
There is no point in reading/loading the list of public
libraries once public namespace is already initialized.

Change-Id: I5a53c46bb57b8de241ba521a6321c12e94a76476
2016-05-09 18:12:00 -07:00
Dimitry Ivanov 6796522256 Move linker-namespace functions declarations
They are intended for platform use only and we shouldn't have them
in the public header file. This CL moves them to libnativeloader
private header file.

Bug: http://b/28174921
Change-Id: I01cf446d2d8d7cf6f9e31130aa3d4e54fbbbb9fc
2016-05-09 18:09:06 -07:00
David Pursell eaae97e127 adb: support forwarding TCP port 0.
This CL adds support to forward or reverse TCP port 0 to allow the
system to automatically select an open port. The resolved port number
will be printed to stdout:
  $ adb forward tcp:0 tcp:8000
  12345
  $ adb reverse tcp:0 tcp:9000
  23456
This allows testing to be more robust by not hardcoding TCP ports which
may already be in use.

Forwarding port 0 is a host-only change and will work with any device,
but reversing port 0 requires the device to be updated with a new adbd
binary.

This CL also does a little bit of cleanup such as moving the alistener
class out of adb.h, and adds some error checking and additional tests.

Bug: 28051746
Test: python -m unittest discover
Test: adb_test
Test: `adb forward` and `adb reverse` with tcp:0
Change-Id: Icaa87346685b403ab5da7f0e6aa186aa091da572
2016-05-09 16:55:10 -07:00
Elliott Hughes 103e8f5608 <cutils/atomic.h> has been inlined for two years now.
Change-Id: If4f817acc054d7336df09a5b8dde34693e0e96a5
2016-05-09 15:11:56 -07:00
Dimitry Ivanov 179fea40bb Merge "nativeloader: Fix the case of search_path == null" 2016-05-09 19:17:10 +00:00
Dimitry Ivanov 8a0425b86a nativeloader: Fix the case of search_path == null
When user creates custom classloader which does not extend
BaseDexClassLoader the librarySearchPath gets set to null
by java.lang.Runtime.doLoad().

This patch makes nativeloader correctly handle it.

Bug: http://b/28659864
Change-Id: I1b61c6bc952984d7c49775a9178fc3270948e62a
2016-05-09 10:55:50 -07:00
Treehugger Robot fc2a8b2bd6 Merge "Return correct length from pmsgRead()" 2016-05-09 15:22:43 +00:00
Dimitry Ivanov c6160d2a0e Merge "Add public libs from an environment variable" 2016-05-06 19:44:17 +00:00
Dimitry Ivanov 4ddabd01bf Add public libs from an environment variable
This is enabled only for builds with ro.debuggable=1
It is intended for use only in tests using dalvikvm
and needing access to platform libraries.

Bug: http://b/28449304
Change-Id: I402457d0da542996ccf265aeaa305f09881e4333
2016-05-06 11:39:47 -07:00
Nick Kralevich 532ab82e10 Merge "enable integer sanitizer for sdcard service" 2016-05-06 16:58:56 +00:00
Treehugger Robot f34304019d Merge "Set groups before dropping privileges." 2016-05-06 01:08:14 +00:00