Commit graph

89112 commits

Author SHA1 Message Date
Sijie Chen
cb53fe136b Reland "[Berberis][CrashReporting] Extend ThreadInfo to ..."
Revert submission 3081452-revert-3062926-CJGHTRPCBP

Reason for revert: Will make the change base on the original CLs for a reland.

(Original CL commit message)
This CL is to get guest registers information.

Bug: b/321799516
Test: m
Testing for TLS Slot:
Manual testing by: 1. crash the jni tests to produce tombstones file 2.
get the signature field of guest state header 3. verified it is the same
value as NATIVE_BRIDGE_GUEST_STATE_SIGNATURE

Manual test the arm64 by: 1. flash build to pixel phone and verify
retrieving TLS_SLOT_THREAD_ID's tid field is the same as current thread
id.

Testing for register values:
Test and print out registers values for riscv64, looks make sense that
has null zero value slots.

Change-Id: Ieebf845bff517380ee07fac77f24b48efeb53521
2024-05-14 21:28:32 +00:00
Florian Mayer
0b36b59e45 Create OWNERS for test_upgrade_mte
Change-Id: I0dd6bccf9f6a1767f11fd3e687d819eceaab7b5e
2024-05-14 19:43:07 +00:00
Keir Fraser
b2016ecadc mkbootfs: Fix usage message for dev node list files
Bug: 328362894
Change-Id: If44918c52ff5bb0ca207fa4817ac14ae5af8c55f
2024-05-13 13:10:44 +00:00
Keir Fraser
7ae58649ae mkbootfs: Fix -f typo in usage message
Bug: 328362894
Change-Id: I559fb2640cb9fda7dbba172709ad1c3a7f3b6dd9
2024-05-13 13:10:44 +00:00
Dimitry Ivanov
9fbd7e1026 Merge changes from topic "revert-3062926-CJGHTRPCBP" into main
* changes:
  Revert "[Berberis][CrashReporting] Extend ThreadInfo to have gue..."
  Revert "[Berberis][CrashReporting] Dump guest thread info to tom..."
2024-05-10 16:14:06 +00:00
Dimitry Ivanov
cdf499f9cd Revert "[Berberis][CrashReporting] Extend ThreadInfo to have gue..."
Revert submission 3062926

Reason for revert: We want guest state to be present in all threads - revert to be able to fix the proto field type.

Reverted changes: /q/submissionid:3062926

Change-Id: I32b745cca95a619b78bdce0a7d948ac479d42f21
2024-05-10 10:02:07 +00:00
Dimitry Ivanov
899c1bdfa1 Revert "[Berberis][CrashReporting] Dump guest thread info to tom..."
Revert submission 3062926

Reason for revert: We want guest state to be present in all threads - revert to be able to fix the proto field type.

Reverted changes: /q/submissionid:3062926

Change-Id: I87b282a0d9caebe4eae2e7d8eca8ec8ebaa3eca6
2024-05-10 10:02:07 +00:00
Sijie Chen
a6e1ac8efe Merge changes from topic "berberis-crash-reporting-guest_regs" into main
* changes:
  [Berberis][CrashReporting] Dump guest thread info to tombstone file
  [Berberis][CrashReporting] Extend ThreadInfo to have guest registers
2024-05-09 22:16:44 +00:00
Sijie Chen
4c3a9dfd2f [Berberis][CrashReporting] Dump guest thread info to tombstone file
As title.

Bug: b/321799516
Test: riscv64, checked tombstone file has wanted block.
https://paste.googleplex.com/5958508322750464
Added arm64 support and tested arm64 unwinding in internal repo.
https://paste.googleplex.com/6545612887818240

Change-Id: I4e8a3414d0198de88a577ef4d5672a9ad0286fc5
2024-05-09 20:21:16 +00:00
Sijie Chen
3ff250f6d7 [Berberis][CrashReporting] Extend ThreadInfo to have guest registers
This CL is to get guest registers information.

Bug: b/321799516
Test: m
Testing for TLS Slot:
Manual testing by: 1. crash the jni tests to produce tombstones file 2.
get the signature field of guest state header 3. verified it is the same
value as NATIVE_BRIDGE_GUEST_STATE_SIGNATURE

Manual test the arm64 by: 1. flash build to pixel phone and verify
retrieving TLS_SLOT_THREAD_ID's tid field is the same as current thread
id.

Testing for register values:
Test and print out registers values for riscv64, looks make sense that
has null zero value slots.

Change-Id: Iff44ac5c2b202e44f3fb4e6909fbea141e54ae6b
2024-05-09 18:28:30 +00:00
Christopher Ferris
0455ca3e09 Merge "Clean up usage of 32 bit/64 bit checks." into main 2024-05-08 20:06:18 +00:00
Treehugger Robot
68c89b7d7c Merge "Updated 'cc' field of fuzz_config in Android.bp file" into main 2024-05-08 03:42:25 +00:00
Christopher Ferris
2f77c2a516 Clean up usage of 32 bit/64 bit checks.
Rather than have to create a number of #if defines for the memory
dumping parts of the tombstone, create a single function to generate
these strings for the memory tests.

Make CrasherTest.smoke use a regex that passes on 32 bit and 64 bit.

Make the tests page size agnostic.

Bug: 339017792

Test: Treehugger.
Test: Ran 32 bit and 64 bit versions of tests on a real device.
Test: Ran on the aosp_cf_x86_64_phone_pgagnostic-trunk_staging-userdebug
Change-Id: If9365061b85de23b00a1bf947d85923cde06c068
2024-05-07 15:30:47 -07:00
Martijn Coenen
3e29843f2a Merge "Add maco to OWNERS." into main 2024-05-07 20:05:13 +00:00
Devin Moore
87ff7115ef Merge "Add page size info to tombstone" into main 2024-05-07 19:55:51 +00:00
Treehugger Robot
d6f6d0e6e3 Merge "[Trusty][Coverage] Update counter to let Trusty know coverage dump has been read" into main 2024-05-07 19:45:05 +00:00
Snehal
b47c9b065f [Trusty][Coverage] Update counter to let Trusty know coverage dump has been read
Bug: 339194547

Change-Id: I075742200998e837e59ba9c24e4dca8b5d4d1199
2024-05-07 15:07:35 +00:00
Akshata Kadam
87b1dc23c2 Updated 'cc' field of fuzz_config in Android.bp file
corrected cc field in fuzz_config

Bug: 306435930
Test: Build liblp_apis_fuzzer

Change-Id: Id74b2d0d6328ba84df1dcabd47ab1795206f8ca2
2024-05-07 11:42:02 +00:00
Kiyoung Kim
5bec4e0cdd Move sanitizer.libraries.txt definition into Soong
Currently sanitizer.libraries.txt module is defined from Makefile, while
all logics to create the list of modules is implmented within the Soong.
This change moves sanitizer.libraries.txt module definition into Soong,
so it can be generated without sharing list of modules over Make
variable.

Bug: 339131599
Test: AOSP CF build succeeded, with same list of modules in
/system/etc/sanitizer.libraries.txt
Change-Id: I25cd4cf55b0a0992d05990d1b67869435f37de93
2024-05-07 05:56:08 +00:00
Kiyoung Kim
eba4057e94 Merge "Move llndk.libraries.txt definition" into main 2024-05-07 04:51:15 +00:00
Devin Moore
4647b6b305 Add page size info to tombstone
Now that Android devices can use 16k page size, it's important that we
know what configuration the device is in when see issues.

1) If the device is in 4k mode, we see nothing new.

2) If the device is in 16k mode, we see this line in the tombstones:

Page size: 16

3) If the device is in 4k mode, but was previous in 16k mode we see:

Has been in 16kb mode: yes

Test: atest debuggerd_test
Test: atest debuggerd_test with ro.misctrl.16kb_before="1"
Test: adb shell cat /data/tombstones/tombstone_00
Bug: 335247092
Change-Id: If7ca3b0954a01070ff413758296460ca1d023ca5
2024-05-06 22:20:04 +00:00
Christopher Ferris
94c9cb6447 Merge "Replace malloc_not_svelte with malloc_low_memory." into main 2024-05-06 19:45:05 +00:00
Daniel Zheng
b631cf70a2 Merge "libsnapshot: update write error logs" into main 2024-05-06 16:51:36 +00:00
Daniel Zheng
c542da2674 libsnapshot: update write error logs
We want to print how much total data we are attempting to write if a
failure occurs

Bug: 336461151
Test: th
Change-Id: I269b7e280df34994c80fa8ef7d39163d053fa9ea
2024-05-06 09:49:07 -07:00
Martijn Coenen
f9b4b0fe0b Add maco to OWNERS.
Change-Id: I6e9d770a4a7c2a66774f9fe4fd342ceefade5e71
2024-05-06 13:22:28 +00:00
Treehugger Robot
babf597508 Merge "Use no_full_install: true instead of installable: false" into main 2024-05-04 00:04:03 +00:00
Kiyoung Kim
ef637fd13c Move llndk.libraries.txt definition
Previously llndk.libraries.txt definition was located in VNDK along with
other vndk related libraries.txt files. As of VNDK deprecation, all
other VNDK libraries.txt files are being removed, and there is no need
to keep llndk.libraries.txt whtin the VNDK project, as LLNDK is not
VNDK. This change moves definition of llndk.libraries.txt into system
core project, to keep with other files installed in /system/etc.

Bug: 328994089
Test: AOSP CF build succeeded
Change-Id: I1535ebbab514ecf81a044c0e5ac4472f964f4312
2024-05-03 16:09:43 +09:00
Christopher Ferris
92e3fd78ad Merge "Make sure debuggerd_test is run on device." into main 2024-05-02 21:35:40 +00:00
Treehugger Robot
4dced90fdc Merge "Add device= in Fstab" into main 2024-05-02 20:11:52 +00:00
Nate Myren
31b1582797 Merge "Revert "Only write appcompat properties if flag is defined"" into main 2024-05-02 19:49:45 +00:00
Treehugger Robot
966cc3dc0e Merge "Fix fallback signal issue." into main 2024-05-02 04:02:42 +00:00
Jaegeuk Kim
d18649eab3 Add device= in Fstab
This adds a raw partition to /data.

Bug: 336319772
Change-Id: Iaae51452be621a15ccd9c2530dae44f4c8714b2f
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2024-05-02 00:54:46 +00:00
Nate Myren
6d8304aa46 Revert "Only write appcompat properties if flag is defined"
Revert submission 3049635-cherrypicker-L52500030003287943:N44300030053199935

Reason for revert: b/338244859
Bug: 338244859

Reverted changes: /q/submissionid:3049635-cherrypicker-L52500030003287943:N44300030053199935

Change-Id: I4b99429ce5df0af30e6ad99d3463d4dc2c96c012
2024-05-01 19:21:49 +00:00
Jiyong Park
b33025849d Use no_full_install: true instead of installable: false
So far, we have used `instalable: false` to avoid collision with the
other modules that are installed to the same path. A typical example was
<foo> and <foo>.microdroid. The latter is a modified version of the
former for the inclusion of the microdroid image. They however both have
the same instalation path (ex: system/bin) and stem (ex: foo) so that we
can reference them using the same path regardless of whether we are in
Android or microdroid.

However, the use of `installable: false` for the purpose is actually
incorrect, because `installable: false` also means, obviously, "this
module shouldn't be installed". The only reason this incorrect way has
worked is simply because packaging modules (ex: android_filesystem)
didn't respect the property when gathering the modules.

As packaging modules are now fixed to respect `installable: false`, we
need a correct way of avoiding the collision. `no_full_install: true` is
it.

If a module has this property set to true, it is never installed to the
full instal path like out/target/product/<partition>/... It can be
installed only via packaging modules.

Bug: 338160898
Test: m
Change-Id: I37380c19232f2c497bdf492a83cdc16616f0ae8d
2024-05-01 20:59:19 +09:00
Elliott Hughes
2026332ed8 Merge "Don't reject "ctl.stop.*" during shutdown." into main 2024-04-30 22:56:32 +00:00
Treehugger Robot
b6c33dc967 Merge "Move native coverage output directory." into main 2024-04-30 22:18:42 +00:00
Elliott Hughes
c9d44b84fe Don't reject "ctl.stop.*" during shutdown.
We're shutting down anyway, so the service is either dead already
or about to be killed, and callers get upset (and don't have a good
response themselves) if we reject the request.

This was seen by a partner where adbd was asked to stop during
shutdown.

Bug: https://issuetracker.google.com/336223505
Change-Id: If09feeef2e0f2d1be9ff84a88cca6ed593a35362
2024-04-30 20:20:43 +00:00
Snehal Koukuntla
8240c53ec2 Merge "[Coverage] Fix coverage bug in which extra garbage is being written" into main 2024-04-30 15:58:41 +00:00
Snehal
030dd05027 [Coverage] Fix coverage bug in which extra garbage is being written
Bug: 296356127

Change-Id: I2e4128af461b297bbe170c015dc52899089e9b8b
2024-04-30 14:32:07 +00:00
Xiaohui Niu
7bfbe41714 Fix fallback signal issue.
Add signo for target thread in fallback path;
Update test for seccomp tombstone thread abort.

Bug: 336946834

Test: debuggerd_test
Test: Send fatal signal to process with NO_NEW_PRIVS
Change-Id: Ie9d77a93da9cd89ab7093b8949f311e03d96ec50
2024-04-30 21:22:31 +08:00
Treehugger Robot
e451837298 Merge "libvendorsupport provides an API to replace vndk version" into main 2024-04-30 03:27:35 +00:00
Justin Yun
c0659f0107 libvendorsupport provides an API to replace vndk version
ro.vndk.version cannot be simply replaced with ro.board.api_level with
the vndk deprecation. Even with the latest system updates, devices may
still run on old vendor images that do not define ro.board.api_level,
but define ro.vndk.version.
To provide the replacement of ro.vndk.version, provide a platform API
AVendorSupport_getVendorApiLevel() to return the expected vendor
version.

Bug: 312311458
Bug: 312315580
Test: manual test for AVendorSupport_getVendorApiLevel()
Change-Id: Id7c04483956d95fd49414cebde41d7cc4d2fb1d1
2024-04-30 10:59:07 +09:00
Florian Mayer
67027efd06 Merge "[MTE] disable memtag stack in early init" into main 2024-04-29 20:58:05 +00:00
Treehugger Robot
342f6a41c2 Merge "Update shell_and_utilities for V." into main 2024-04-29 18:56:14 +00:00
Elliott Hughes
fff3c92985 Update shell_and_utilities for V.
Change-Id: Ia617ba0e2b056b3b620400cb5e78445f810c388a
2024-04-29 16:39:01 +00:00
Florian Mayer
c2eaac5ed2 [MTE] disable memtag stack in early init
when introducing instrumentation for MTE stack history buffer, we cannot
use stack MTE in early init

Bug: 309446520
Change-Id: I0921ae4ffe03ed971697f8daff4215c9b3772e35
2024-04-26 17:25:05 -07:00
Steven Moreland
cd3ffd1f2c Merge "libutils: T* is a trivial type" into main 2024-04-26 23:06:22 +00:00
Steven Moreland
38d36e4492 libutils: T* is a trivial type
Avoid calling constructors/destructors for
each element, when we have Vector<T*>. These
are used in libbinder and elsewhere.

std::vector is still faster but uses more mem.

Bugs: me
Test: boot && binderLibTest
Change-Id: Id1239daddd018f8eee5480d1cb6dd25d6f4df808
2024-04-26 21:08:48 +00:00
Ellen Arteca
6f7e39526c Merge "Create and support isolation for /data/storage_area" into main 2024-04-26 20:59:43 +00:00
Christopher Ferris
1c46a00865 Replace malloc_not_svelte with malloc_low_memory.
The malloc_not_svelte variable name is confusing and makes the
low memory config the default. Change this so that the default is
the regular allocator, and that Malloc_low_memory is used to enable
the low memory allocator.

Update blueprint rules so that scudo is the default action.

Test: Verified scudo config is used by default.
Test: Verfified Android GO config uses the jemalloc low memory config.
Change-Id: Ie7b4b005a6377e2a031bbae979d66b50c8b3bcdb
2024-04-26 13:33:26 -07:00