Commit Graph

21907 Commits

Author SHA1 Message Date
Josh Gao 029b787469 Don\'t demangle symbol names. DO NOT MERGE am: a183654 -s ours am: 908c511 -s ours
am: ba1f9d5  -s ours

* commit 'ba1f9d50bdcc282b30bca99c2a4111f0d6fad126':
  Don't demangle symbol names. DO NOT MERGE
2016-03-23 00:56:45 +00:00
Josh Gao ba1f9d50bd Don\'t demangle symbol names. DO NOT MERGE am: a183654 -s ours
am: 908c511  -s ours

* commit '908c511e50c2ed5f69dcafbe82af75d5a090275f':
  Don't demangle symbol names. DO NOT MERGE
2016-03-23 00:53:20 +00:00
Josh Gao 908c511e50 Don\'t demangle symbol names. DO NOT MERGE
am: a183654  -s ours

* commit 'a183654b820447e6bd9980413e1f7ff5b89f875b':
  Don't demangle symbol names. DO NOT MERGE
2016-03-23 00:49:48 +00:00
Mark Salyzyn df4e31b031 Merge changes If37ef423,If93df3ae,I01b38637 into nyc-dev
* changes:
  liblog: add __android_log_pmsg_file_read
  liblog: add __android_log_pmsg_file_write
  liblog: split out transports into separate files
2016-03-22 23:18:59 +00:00
dcashman 9261ad13ed init: Fix typo.
Bug: 27681085
Change-Id: I4308435a5b58189852c991d1bec65ed11933566a
2016-03-22 16:04:26 -07:00
dcashman 69022e03d8 Temporarily add set_mmap_rnd_bits brillo exception
Bug: 27794137
Change-Id: Idc6fc1e208bdb19556173d40215feb66e235c6d6
2016-03-22 15:18:29 -07:00
Mark Salyzyn 2b8157d9fd liblog: add __android_log_pmsg_file_read
(cherry pick from commit 864e8e80e4)

- This is considered an Android Private function, not exported
  for general use.
- goal is to retreive a file's content from a series of log
  messages from pmsg, to be retrieved after a reboot for
  transfer to a persistent location.
- files are presented in reverse sorted order, first based on
  _any_ numerical content, then by alphanumeric order.
- Add a gTest for this function, relies on gTest for
  liblog.__android_log_pmsg_file_write from prior to reboot.

Bug: 27176738
Change-Id: If37ef423009bd28b598b233af3bccef3429bdc22
2016-03-22 14:08:00 -07:00
Mark Salyzyn 10bdf61e5f liblog: add __android_log_pmsg_file_write
(cherry pick from commit d4b061bde2)

- This is considered an Android Private function, not exported
  for general use.
- goal is to record a file's content into a series of log
  messages into pmsg, to be retrieved after a reboot for
  transfer to a persistent location.
- filename reference is converted to a tag-unique
  "<dirbase>:<filebase>".
- buffer and length representing the filename contents are
  recorded, along with a sequence number placed into the nsec
  time field to ANDROID_LOG_PMSG_FILE_MAX_SEQUENCE.
- Add a gTest for this function.

Bug: 27176738
Change-Id: If93df3ae8bfc1bb75516d4a1fd8dae0301af644b
2016-03-22 14:07:54 -07:00
Mark Salyzyn facf94c74a liblog: split out transports into separate files
(cherry pick from commit 018a96d03f)

Create config_logger, logger and logger_read to house the log
interfaces. Add fake_logger, logd_logger and pmsg_logger to
house the write and read transports. Allows for an easier and
direct path to add new transports to the library.

SideEffects: None, logger benchmark performance unaffected

Bug: 27176738
Bug: 27405083
Change-Id: I01b38637334a5242905c8c89f6ab0a92e2540008
2016-03-22 14:06:00 -07:00
dcashman 5d36813dc8 Set mmap_rnd_bits to maximum value.
Also make sure it is above a minimum threshold, else abort.

Bug: 27681085
Change-Id: Id03ede491e5e013a2a7a090abb306d00cb74f901
2016-03-22 12:11:51 -07:00
Josh Gao 7c903fbacf Don't demangle symbol names.
Bug: http://b/27299236
Change-Id: I3a698c6d93e262fd78e743c1e6e946b054b9dcd1
2016-03-22 11:51:36 -07:00
Josh Gao a183654b82 Don't demangle symbol names. DO NOT MERGE
Bug: http://b/27299236
Change-Id: I80524d8d5df9c5abea8c6db8ded965a5dfa3d607
2016-03-22 11:33:28 -07:00
Stephen Hines bfbb25da24 Merge "Update BacktraceOffline for LLVM rebase to r256229." into nyc-dev 2016-03-21 19:27:28 +00:00
Mike Stroyan 57288ad825 run-as should accept /data/user/0 symlink
This works around b/21028929.
That old bug reappeared in nyc-dev because of file-based-encryption.

Bug: 21028929
Change-Id: I4eb65ee3b57fb86605fa56fd1395a9666f6aef7f
2016-03-21 07:56:46 -06:00
Stephen Hines a0062cfc31 Update BacktraceOffline for LLVM rebase to r256229.
Bug: http://b/26987366

(cherry picked from commit 19c30e9516)

Change-Id: I5e4568292c0b4bbd2daefc0abd3d36c691622eb4
2016-03-20 22:58:29 -07:00
Eino-Ville Talvala 5f31ca2231 Add camera2 NDK library to public library lists
It was dropped in the migration to the public.libraries format
NDK is the same on standard Android and Wear.

Bug: 27742249
Change-Id: I1eafbb649c0ccc5b9a93471fa387624d838bd3d0
2016-03-18 12:33:19 -07:00
Martijn Coenen e9ea8db617 Merge "Don't use mem cgroups for pid accounting." into nyc-dev 2016-03-18 15:50:17 +00:00
Martijn Coenen 5bb91ab553 Don't use mem cgroups for pid accounting.
Commit b82bab66 introduced the use of memory cgroups for keeping track
of forked PIDs; it basically creates a separate memory cgroup for every
process forked from zygote.

Each such memory cgroup which also have its own LRU with (in)active file
and anonymous pages. The current theory is this could potentially introduce
two problems:
1) kswapd runs longer because it has to iterate over the LRUs of all mem
cgroups, instead of over the LRUs of a single root mem cgroup;
2) the way kswapd reclaims things will be different also - I think it will
tend to bias reclaim to smaller mem cgroups, and process private pages
will end up on ZRAM swap much sooner.

Until we figure this out, fall back to the CPU accounting cgroup for keeping
track of forked PIDs. This leaves us with a single root mem cgroup again. We
can also keep userspace lmkd enabled because it only requires the root mem
cgroup.

Bug: 27381069
Change-Id: Ife397a6ac232761f2adfe6f5056582be0d1b4ff1
2016-03-18 15:35:48 +01:00
Pablo Ceballos 248e77156d Rename single buffer mode to shared buffer mode
Change-Id: If5d45b2955d1219687c624395799b81e432dcfcc
2016-03-17 16:11:08 -07:00
Josh Gao e59c76ab62 debuggerd: don't apply timeout when wait_for_gdb is on.
Change-Id: Ic632dde4a0510c212a4b1c01890df9a41e9771c9
(cherry picked from commit 676a756b7b)
2016-03-17 15:33:24 -07:00
Daniel Rosenberg a775e62693 Merge "sdcard: Support sdcardfs" into nyc-dev 2016-03-17 21:55:05 +00:00
Josh Gao 965d6f4d17 debuggerd: don't send SIGSTOP to crashing processes.
This was actually nonfunctional until f5e8f0b, because it was using kill
after privileges were dropped. This doesn't seem necessary after the
changes to the sibling thread ptrace logic, though.

Bug: http://b/27427439
Change-Id: I6bffbc14e0cf5e377bbfa39c945518e0d436c223
(cherry picked from commit b17f228ff6)
2016-03-17 14:15:01 -07:00
Daniel Rosenberg 290127b292 Merge "Set up configfs" into nyc-dev 2016-03-17 21:11:03 +00:00
Josh Gao a951f4ca55 debuggerd: fix stupid typo.
Change-Id: Icd9a25a71e1e8580a200fe68bce0b17d09c51642
2016-03-17 13:23:41 -07:00
Josh Gao 036ff2ce83 debuggerd: monitor the worker process for failure.
Use sigtimedwait on SIGCHLD to watch our forked worker processes for
failure, so that we can guarantee that we always resume/kill the target
process if libunwind crashes.

Bug: http://b/27427439
Change-Id: I5a5da1f1abd7dc9d01223f5b3778e946e2d47d20
(cherry picked from commit 630bc80e18)
2016-03-17 13:11:08 -07:00
Josh Gao e5dbdd09c7 debuggerd: fork the signal sender once.
Bug: http://b/27427439
Change-Id: I6294ff68a150bc9950a300264c31d2141307ac66
(cherry picked from commit f5e8f0b9cd)
2016-03-17 13:11:05 -07:00
Elliott Hughes 1a69e2811e Clean up CLOEXEC in debuggerd.
Change-Id: I1cd75f6a8f98e99f4a4fedfc706103ce34035765
(cherry picked from commit 17ba68d0cd)
2016-03-17 13:11:01 -07:00
Elliott Hughes aa41756851 Remove dead code from debuggerd.
system/core/debuggerd/debuggerd.cpp:683:5: warning: Value stored to 'logsocket' is never read
    logsocket = -1;
    ^           ~~

Bug: http://b/27264392
Change-Id: I8eab8a02b67f219c32aea49e4d4957e5642df38f
(cherry picked from commit 6da1353863)
2016-03-17 13:10:58 -07:00
Dimitry Ivanov eb43104db1 Merge "Add libvulkan.so to the list of public libraries" into nyc-dev 2016-03-17 18:04:33 +00:00
Dimitry Ivanov dbae9a9b77 Add libvulkan.so to the list of public libraries
Accidentally dropped it in 4b0e963872

Bug: http://b/27546414
Change-Id: I28835ce3229f778387efedf269d7f32572e09184
2016-03-17 10:57:22 -07:00
Dimitry Ivanov c8bc211e66 Merge changes from topic 'fix-nativeloader-todo' into nyc-dev
* changes:
  Move list of public libraries to a config file
  Revert "libnativeloader: Make webviewchromium so file optional"
2016-03-17 17:47:09 +00:00
Dimitry Ivanov 4b0e963872 Move list of public libraries to a config file
This list contains libraries that should directly or indirectly
be accessible to apps for the platform. Note that this list is
not device specific but rather device class specific.

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

Bug: http://b/27546414
Bug: http://b/22548808
Change-Id: I83de5e3cf67392d0e9af66f70123898bd5997146
2016-03-17 09:45:52 -07:00
Josh Gao bcb58e6d64 debuggerd: kill crashing processes with the signal they died with.
Bug: http://b/27675306
Change-Id: I951c5d7e54c35d88c65c5dc856e0b9d5a93d47b2
(cherry picked from commit 561497c0a8)
2016-03-16 16:16:41 -07:00
Daniel Rosenberg 2bd0efa89c sdcard: Support sdcardfs
Add ability to use sdcardfs if kernel support is found.
In the future, we will likely remove the fuse components
entirely, but for now, just use sdcardfs when possible.

Bug: 19160983
Change-Id: I35e4d6cb5976c00c6f87ff7fc478ba9f9d212c05
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2016-03-16 15:58:24 -07:00
Daniel Rosenberg 4edec25396 Set up configfs
Bug: 19160983
Change-Id: I8fddf11fb6124950dfa2528a4f420abd9d461df6
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2016-03-16 15:58:24 -07:00
Dimitry Ivanov 9c0a202977 Revert "libnativeloader: Make webviewchromium so file optional"
This reverts commit 75dda7551f.

Bug: http://b/27546414
2016-03-16 13:54:33 -07:00
Prashant Malani 75dda7551f libnativeloader: Make webviewchromium so file optional
Not all android devices ship with Webview. The requirement of
libwebviewchromium_plat_support.so to be loaded while initializing the
android namespace is therefore liable to cause a crash on devices that
don't support or use Webview. Therefore, this patch makes this
requirement conditional, but enabled by default.

To remove the dependency, device make files should add the following:

TARGET_IGNORE_WEBVIEW_CHROMIUM := true

Bug: 27336841
Bug: 27546414
Change-Id: Iaec1b58236356d981504ea8f716413ea334ca4f4
2016-03-16 13:03:12 -07:00
Mark Salyzyn 53263ffa00 liblog: test: security buffer is allowed to be denied
(cherry pick from commit 29e70a98fe)

Bug: 27405083
Change-Id: I7cbc8fda326a2aea3bef5dabee9d3290cc818b24
2016-03-16 09:05:15 -07:00
Mark Salyzyn a6f2f81d1e liblog: test: do not LOG in signal handler
(cherry pick from commit 50af7f8b1d)

- We actually are logging in a signal handler, the title is bluster
  to remind developers. It is not a reliable path though as it can
  lock up. Our goal is to minimize the chances of a lockup regardless
  in the name of stability only. The test remains to catch regression
  in the name of code quality and reliability. Expected to be
  >99.999% reliable.
- Add a new _correct_ duplicate test that uses signal to release a
  semaphore to a thread that performs the task. This path is expected
  to be 100% reliable.

Bug: 27405083
Change-Id: Ibb7cf4b13e34ebfac2db2af8724b7db7a27f81a8
2016-03-16 09:04:30 -07:00
Sami Tolvanen 05d2a9002e mkbootimg: add os_version
Adds operating system version and security patch level to the boot
image header. This change take into use one of the existing unused
fields to preserve compatibility.

Note: All information is packed into a single field, because there
are a lot of existing devices that break if the first unused field
is set to a non-zero value.

Bug: 27498078
Bug: 22914603
Change-Id: I24953129e06019b95014a050e916fe4f5c199286
(cherry picked from commit d162828814)
2016-03-15 10:37:52 -07:00
James Hawkins eef069acc5 bootstat: Disambiguate boot time on encrypted devices.
This change introduces new metrics to discern boot time on encrypted devices:
* post_decrypt_time_elapsed
* boot_decryption_complete
* boot_complete_post_decrypt
* boot_complete_no_encryption

Bug: 27497357
Change-Id: I8d3a411029bd6a45f80589ff67c408593e133a87
(cherry picked from commit c08e996ac8)
2016-03-14 14:27:35 -07:00
Mark Salyzyn 73207ce139 liblog: truncate logtags that overflow prefixBuf
(cherry pick from commit 2f83d679dd)

Bug: 27585978
Change-Id: If2f45e8787b05b46491a771702746cfc248b9ccd
2016-03-14 10:08:06 -07:00
Sami Tolvanen 1338dc40ca Merge "Revert "mkbootimg: add version and patch level"" into nyc-dev 2016-03-14 15:49:15 +00:00
Sami Tolvanen 3b87395032 Revert "mkbootimg: add version and patch level"
This reverts commit dcdf300a1f.

Bug: 27580174
Change-Id: I49780dc522b5d1c4939749fe0d38124821f67c12
2016-03-14 15:47:25 +00:00
Brian Carlstrom e71b914775 system/core: Make Thread::run threadName argument required
Bug: 27557176
Change-Id: Iae83a1e5489c86c2858fc8481f246b8480f0eec4
2016-03-12 21:32:52 -08:00
Elliott Hughes 1ef5bf839e Fix buffer overrun in adb wait-for-device.
Bug: http://b/27444063

(cherry picked from commit 34e560b9a1)

Change-Id: Ic71cb2070f509d76fb4208dbab6711c5dd5e1f62
2016-03-11 08:55:01 -08:00
James Hawkins 87c4210a86 Merge "bootstat: Add more debug logging metrics to RecordFactoryReset." into nyc-dev 2016-03-11 16:39:15 +00:00
Mark Salyzyn 6d753faaf8 liblog: audit declare LIBLOG_ABI_PUBLIC
(cherry pick from commit be1d3c21b5)

- replace <sys/cdefs.h> with local "log_cdefs.h" which
  fortifies and expands definitions, adding LIBLOG_ABI_PUBLIC,
  LIBLOG_HIDDEN, LIBLOG_ABI_PRIVATE and LIBLOG_WEAK.
- clearly tag each interface as LIBLOG_ABI_PUBLIC, LIBLOG_HIDDEN,
  LIBLOG_ABI_PRIVATE, LIBLOG_WEAK or static depending on scope
- Add -fvisibility=hidden to ensure nothing else leaks
- some code standard adjustments

Bug: 27566046
Change-Id: Ic14033c4e6d833d973beb035ddc1c6134fb35a3f
2016-03-10 14:44:27 -08:00
Mark Salyzyn 029c737380 liblog: document fakeLogClose never to be called
(cherry pick from commit bc81b17e06)

Bug: 27107691
Change-Id: Ia699646ec2e83ca46f8b62b5d4f144e533b36074
2016-03-10 14:44:22 -08:00
Mark Salyzyn 8edbbe1dc1 fake_log_device: long lived allocations
(cherry pick from commit 0085a135b9)

Use static space for long lived allocations as they
will appear to act like a memory leak. Resort to a
larger on-stack iovec to reduce the chances of an
allocation. Fix bug in writer where not enough size
was available for "security" buffer name. Minor
transitions to more consistent coding style.

Bug: 27107691
Change-Id: I68c918e7b916b1ae3b04829d48b3eddaa0a7e739
2016-03-10 14:44:16 -08:00