5 years agoMerge cherrypicks of [4392181, 4392182, 4392183, 4392184, 4392201, 4392202] into... android-9.0.0_r1 android-9.0.0_r2 android-9.0.0_r3 android-9.0.0_r5 android-9.0.0_r6 android-9.0.0_r7 android-9.0.0_r8 android-cts-9.0_r1
Merge cherrypicks of [4392181, 4392182, 4392183, 4392184, 4392201, 4392202] into pi-release
Change-Id: I82b5577e2ecdbf50a73df940db72964b9c6969af
Change-Id: I82b5577e2ecdbf50a73df940db72964b9c6969af
Determine product partition path on build time
Path of product partitoin can be set as /product or /system/product
whether generate extra product partition or not.
Substitute %PRODUCT% to relevant path to know linker which path should
search and permit.
Bug: 110286945
Test: m -j # Check /system/etc/ld.config.$(PLATFORM_VNDK_VERSION).txt
Change-Id: I6ca177d0c9c5af00ad821879fece40848331fc8d
Merged-In: I6ca177d0c9c5af00ad821879fece40848331fc8d
(cherry picked from commit cccad0bf8461ab575a5861f9bc68c9f8f69db582)
(cherry picked from commit 93d837f3a90acec007647f21ed4573f044fa6f1e)
Path of product partitoin can be set as /product or /system/product
whether generate extra product partition or not.
Substitute %PRODUCT% to relevant path to know linker which path should
search and permit.
Bug: 110286945
Test: m -j # Check /system/etc/ld.config.$(PLATFORM_VNDK_VERSION).txt
Change-Id: I6ca177d0c9c5af00ad821879fece40848331fc8d
Merged-In: I6ca177d0c9c5af00ad821879fece40848331fc8d
(cherry picked from commit cccad0bf8461ab575a5861f9bc68c9f8f69db582)
(cherry picked from commit 93d837f3a90acec007647f21ed4573f044fa6f1e)
Add /system/product/* paths to permitted paths
As linker doesn't resolve paths in permitted paths, /system/product
variants should be added to support devices having product partition
under /system.
Bug: 110286945
Test: m -j succeeds on taimen and libraries under /system can dlopen
libraries under /system/product/apps
Change-Id: Icd102d44511702e4ec66c07a367b59c3d9700a44
Merged-In: Icd102d44511702e4ec66c07a367b59c3d9700a44
(cherry picked from commit 3918936b9e7fee51828d285a1217c7202d5cb2d1)
(cherry picked from commit c4cf62f4b4e9186a897e943b2419fb9a13739c1b)
As linker doesn't resolve paths in permitted paths, /system/product
variants should be added to support devices having product partition
under /system.
Bug: 110286945
Test: m -j succeeds on taimen and libraries under /system can dlopen
libraries under /system/product/apps
Change-Id: Icd102d44511702e4ec66c07a367b59c3d9700a44
Merged-In: Icd102d44511702e4ec66c07a367b59c3d9700a44
(cherry picked from commit 3918936b9e7fee51828d285a1217c7202d5cb2d1)
(cherry picked from commit c4cf62f4b4e9186a897e943b2419fb9a13739c1b)
Merge cherrypicks of [4368877, 4369031, 4369032, 4369033, 4369034, 4368878, 4369035, 4369036, 4369008] into pi-release
Change-Id: I05769d63a54c76d20b8724dce36b30e54cba9be6
Change-Id: I05769d63a54c76d20b8724dce36b30e54cba9be6
Populate recovery DTBO offset correctly
Also, remove recovery_dtbo_offset argument
for mkbootimg as this is calculated based
on sizes of kernel, ramdisk and second
binaries.
Also, modify unpack_bootimg to use the recovery_dtbo_offset
field to extract recovery_dtbo.
Test: make recoveryimage showcommands -j32
Bug: 80207223
unpack_bootimg --boot_img $OUT/recovery.img
diff recovery_dtbo dtbo.img
Change-Id: I588ccc8b739c169b6f78c17ffe554c5562397d98
Merged-In: I588ccc8b739c169b6f78c17ffe554c5562397d98
(cherry picked from commit 26e01bbdc5cb2dcad64d73ec836447b8ded4fc6c)
(cherry picked from commit b8371d532d6cd1314954c2d3e9b8a79d3d70e7c7)
Also, remove recovery_dtbo_offset argument
for mkbootimg as this is calculated based
on sizes of kernel, ramdisk and second
binaries.
Also, modify unpack_bootimg to use the recovery_dtbo_offset
field to extract recovery_dtbo.
Test: make recoveryimage showcommands -j32
Bug: 80207223
unpack_bootimg --boot_img $OUT/recovery.img
diff recovery_dtbo dtbo.img
Change-Id: I588ccc8b739c169b6f78c17ffe554c5562397d98
Merged-In: I588ccc8b739c169b6f78c17ffe554c5562397d98
(cherry picked from commit 26e01bbdc5cb2dcad64d73ec836447b8ded4fc6c)
(cherry picked from commit b8371d532d6cd1314954c2d3e9b8a79d3d70e7c7)
Correct comment in boot image header
Test: make
Bug: 80207223
Change-Id: I88cf7683e036ff43bbe3ff5418519c7e35e08b79
Merged-In: I88cf7683e036ff43bbe3ff5418519c7e35e08b79
(cherry picked from commit d0ab4e3701dcec866cb05f4d2a122fbbcabf61cc)
(cherry picked from commit f514f6f66aba10f2668481a4d643c7983a0ea93a)
Test: make
Bug: 80207223
Change-Id: I88cf7683e036ff43bbe3ff5418519c7e35e08b79
Merged-In: I88cf7683e036ff43bbe3ff5418519c7e35e08b79
(cherry picked from commit d0ab4e3701dcec866cb05f4d2a122fbbcabf61cc)
(cherry picked from commit f514f6f66aba10f2668481a4d643c7983a0ea93a)
Snap for 4826885 from 820ef1505828e89b704f319311ed0cf4ec73752c to pi-release
Change-Id: Ifbb0531108a6292880957b7f4a4a5225926e32c6
Change-Id: Ifbb0531108a6292880957b7f4a4a5225926e32c6
Merge "Parse IfIndex for Netlink RTM_NEWADDR / RTM_DELADDR event" into pi-dev
Snap for 4824048 from ea03e1f8412903838b449871190e1279dc79e076 to pi-release
Change-Id: I0f4785f6e473990eb636cea655c7d1c78022de93
Change-Id: I0f4785f6e473990eb636cea655c7d1c78022de93
liblog: expect content only if ro.logd.kernel is enabled
On svelte devices, CTS test liblog#android_logger_get_ fails on the
missing kernel buffer because it is not enabled to save space.
Test: gTest liblog_unit_tests
Bug: 109669791
Change-Id: Iaf46fe9713d3462a56885515a67db640544345ab
On svelte devices, CTS test liblog#android_logger_get_ fails on the
missing kernel buffer because it is not enabled to save space.
Test: gTest liblog_unit_tests
Bug: 109669791
Change-Id: Iaf46fe9713d3462a56885515a67db640544345ab
Snap for 4818534 from 9bd3ee1c4f14f268b0959edd891ef852b95370b8 to pi-release
Change-Id: Idc9af3a531d434302036e2d1d61e172bd9a7849d
Change-Id: Idc9af3a531d434302036e2d1d61e172bd9a7849d
Support /product/bin
Bug: 80422611
Test: m -j succeeded and permissions of files under /product/bin are set
correctly
Change-Id: I83377d809c47c92da6b226d2853ea6a7462fb127
Merged-In: I83377d809c47c92da6b226d2853ea6a7462fb127
(cherry picked from commit 25195daaca079e048e47b38b83fc41527a89ccb0)
Bug: 80422611
Test: m -j succeeded and permissions of files under /product/bin are set
correctly
Change-Id: I83377d809c47c92da6b226d2853ea6a7462fb127
Merged-In: I83377d809c47c92da6b226d2853ea6a7462fb127
(cherry picked from commit 25195daaca079e048e47b38b83fc41527a89ccb0)
Merge "Support product-specific libraries" into pi-dev
Camera: add DISABLE error code
Test: CTS CameraEvictionTest + IdleUidTest
Bug: 77486868
Change-Id: I1411d6667776963435ce25bd643a33c41d224921
Test: CTS CameraEvictionTest + IdleUidTest
Bug: 77486868
Change-Id: I1411d6667776963435ce25bd643a33c41d224921
Support product-specific libraries
Product-specific libraries in /product/lib can be exposed to Android
apps by adding the list of the libs into
/product/etc/public.libraries-<companyname>.txt. The libs MUST be named
as lib<name>.<companyname>.so.
Bug: 73095206
Test: with taimen
mma -j and runtest.sh. The libs are all loaded in system, but not in
vendor. After reinstalling app using adb -r and reopening app, only
libraries listed in .txt are loaded
Change-Id: I7c386813c72a7b225a7f244b6c5fec4ac0660fd3
Merged-In: I7c386813c72a7b225a7f244b6c5fec4ac0660fd3
(cherry picked from commit 67cb05654cfa677fd5db33ea0629a9496a9ae907)
Product-specific libraries in /product/lib can be exposed to Android
apps by adding the list of the libs into
/product/etc/public.libraries-<companyname>.txt. The libs MUST be named
as lib<name>.<companyname>.so.
Bug: 73095206
Test: with taimen
mma -j and runtest.sh. The libs are all loaded in system, but not in
vendor. After reinstalling app using adb -r and reopening app, only
libraries listed in .txt are loaded
Change-Id: I7c386813c72a7b225a7f244b6c5fec4ac0660fd3
Merged-In: I7c386813c72a7b225a7f244b6c5fec4ac0660fd3
(cherry picked from commit 67cb05654cfa677fd5db33ea0629a9496a9ae907)
Snap for 4807121 from 39edb87aaf21f9bd452f3f164ee90cf7a9e14518 to pi-release
Change-Id: Ie984edd49d1535bd3fc0686a3b6144b2659b25a9
Change-Id: Ie984edd49d1535bd3fc0686a3b6144b2659b25a9
Snap for 4801384 from c70e76f1a4571dbc767a07e809341a73d3cdb289 to pi-release
Change-Id: I33f4e3cdd7a211df7432408c810cf3194112db93
Change-Id: I33f4e3cdd7a211df7432408c810cf3194112db93
Merge "healthd_mode_charger: unblank the screen only on first frame" into pi-dev
Merge "Add cwren to libmetricslogger OWNERS" into pi-dev
Merge "Make per-application memcg hierarchy configurable via a property" into pi-dev
healthd_mode_charger: unblank the screen only on first frame
Original code is unblank screen for all frames of the first
cycle, unblank is needed only before the first frame of the
first cycle.
Bug: 74771887
Change-Id: I51d8390e359335a0b1cb127b096db1a8b889b169
Signed-off-by: Thierry Strudel <tstrudel@google.com>
Original code is unblank screen for all frames of the first
cycle, unblank is needed only before the first frame of the
first cycle.
Bug: 74771887
Change-Id: I51d8390e359335a0b1cb127b096db1a8b889b169
Signed-off-by: Thierry Strudel <tstrudel@google.com>
Make per-application memcg hierarchy configurable via a property
Introduce ro.config.per_app_memcg Android property to enable/disable
per-application memcg hierarchy.
On low-ram devices (ro.config.low_ram=true) ro.config.per_app_memcg
defaults to true, otherwise it defaults to false.
Bug: 80201565
Test: set ro.config.per_app_memcg=true and verify /proc/<app_pid>/cgroup
membership (memory:/apps/uid_xxx/pid_xxx)
Test: set ro.config.per_app_memcg=false and verify /proc/<app_pid>/cgroup
membership (memory:/)
Change-Id: Iabd3ef6c9c16c774b9da959a7f43b5f66df120a3
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Introduce ro.config.per_app_memcg Android property to enable/disable
per-application memcg hierarchy.
On low-ram devices (ro.config.low_ram=true) ro.config.per_app_memcg
defaults to true, otherwise it defaults to false.
Bug: 80201565
Test: set ro.config.per_app_memcg=true and verify /proc/<app_pid>/cgroup
membership (memory:/apps/uid_xxx/pid_xxx)
Test: set ro.config.per_app_memcg=false and verify /proc/<app_pid>/cgroup
membership (memory:/)
Change-Id: Iabd3ef6c9c16c774b9da959a7f43b5f66df120a3
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Merge "Add Hardware Reliabilty metrics to C header" into pi-dev
Add cwren to libmetricslogger OWNERS
Bug: 69978775
Test: None.
Change-Id: Ic48e37fa4a1fa192bcd948954dc056219535e0b8
Bug: 69978775
Test: None.
Change-Id: Ic48e37fa4a1fa192bcd948954dc056219535e0b8
Snap for 4799153 from 428a6ffaf8fb3b9420180a6f54ad4e0f229c96d7 to pi-release
Change-Id: I8b50c825ba0cdcaedd4729b759cecf5ee3d48a4c
Change-Id: I8b50c825ba0cdcaedd4729b759cecf5ee3d48a4c
Add Hardware Reliabilty metrics to C header
Expose Hardware Reliabilty TRON metrics constants
for logging via C++ interfaces.
Bug: 69978775
Test: Logged events from Pixelstats HAL
Change-Id: I9a1c4467d31f64ae3c43e35b0a4cf5a92157c39f
Expose Hardware Reliabilty TRON metrics constants
for logging via C++ interfaces.
Bug: 69978775
Test: Logged events from Pixelstats HAL
Change-Id: I9a1c4467d31f64ae3c43e35b0a4cf5a92157c39f
Merge "Add a new directory to store downloaded apns" into pi-dev
Merge "init: finer grained permissions for ctl. properties" into pi-dev
Merge "init: allow entering of network namespaces" into pi-dev
Merge "Fix bug when doing signal handler lookup." into pi-dev
init: finer grained permissions for ctl. properties
Currently, permissions for ctl. property apply to each action verb, so
if a domain has permissions for controlling service 'foo', then it can
start, stop, and restart foo.
This change implements finer grainer permissions such that permission
can be given to strictly start a given service, but not stop or
restart it. This new permission scheme is mandatory for the new
control functions, sigstop_on, sigstop_off, interface_start,
interface_stop, interface_restart.
Bug: 78511553
Test: see appropriate successes and failures based on permissions
Change-Id: I6ce915ae39954a67eb6fe1795a93cf715c352ae4
Currently, permissions for ctl. property apply to each action verb, so
if a domain has permissions for controlling service 'foo', then it can
start, stop, and restart foo.
This change implements finer grainer permissions such that permission
can be given to strictly start a given service, but not stop or
restart it. This new permission scheme is mandatory for the new
control functions, sigstop_on, sigstop_off, interface_start,
interface_stop, interface_restart.
Bug: 78511553
Test: see appropriate successes and failures based on permissions
Change-Id: I6ce915ae39954a67eb6fe1795a93cf715c352ae4
Snap for 4796401 from 93d48fe0b6e891d785caefdc02065da58e749c69 to pi-release
Change-Id: I9d5a3d4d48b6944b00e032511151eb1a4a391d4b
Change-Id: I9d5a3d4d48b6944b00e032511151eb1a4a391d4b
Merge "Add files to CleanSpec.mk" into pi-dev
lmkd: Do not set soft_limit_in_bytes on high-end devices
Setting memory.soft_limit_in_bytes on high-end devices with large memory
reserves affects performance of memory-hungry applications that have
large workingsets and keep thrashing because of the memory limits imposed.
Limit the usage of memory.soft_limit_in_bytes to low-memory devices only.
Add debug messages for future troubleshooting to capture cases when
vmpressure events are being ignored.
Bug: 78916015
Test: collect vmstat while running a heavy app
Change-Id: Ib4434b96d2be802ef89960b573486eae8d12f198
Merged-In: Ib4434b96d2be802ef89960b573486eae8d12f198
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Setting memory.soft_limit_in_bytes on high-end devices with large memory
reserves affects performance of memory-hungry applications that have
large workingsets and keep thrashing because of the memory limits imposed.
Limit the usage of memory.soft_limit_in_bytes to low-memory devices only.
Add debug messages for future troubleshooting to capture cases when
vmpressure events are being ignored.
Bug: 78916015
Test: collect vmstat while running a heavy app
Change-Id: Ib4434b96d2be802ef89960b573486eae8d12f198
Merged-In: Ib4434b96d2be802ef89960b573486eae8d12f198
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Merge changes from topic "generic_by_name" into pi-dev
* changes:
Adds /dev/block/by-name/<partition> symlinks
Removing block device by-num symlinks
* changes:
Adds /dev/block/by-name/<partition> symlinks
Removing block device by-num symlinks
Fix bug when doing signal handler lookup.
The new lld linker uses all non-zero offset executable maps. There was
a bug when trying to find if the stack is in a signal handler that caused
the code to read the wrong place in the elf. Fixed by not adding the elf
offset to the relative pc.
Also fixed the unwind_for_offline tool to dump multiple stacks if necessary.
Added new offline unit test that would have failed with the old code.
Bug: 79936827
Test: Ran unit tests and libbacktrace unit tests.
Test: Dumped backtraces of system pids.
Test: Ran 137-cfi art test.
Change-Id: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
Merged-In: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
(cherry picked from commit 239425b9fa91ae13d18cf8158b31663876d07acf)
The new lld linker uses all non-zero offset executable maps. There was
a bug when trying to find if the stack is in a signal handler that caused
the code to read the wrong place in the elf. Fixed by not adding the elf
offset to the relative pc.
Also fixed the unwind_for_offline tool to dump multiple stacks if necessary.
Added new offline unit test that would have failed with the old code.
Bug: 79936827
Test: Ran unit tests and libbacktrace unit tests.
Test: Dumped backtraces of system pids.
Test: Ran 137-cfi art test.
Change-Id: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
Merged-In: Iaca8c18c2a314902e64c3f72831234297e8dcb1b
(cherry picked from commit 239425b9fa91ae13d18cf8158b31663876d07acf)
Add a new directory to store downloaded apns
downloaded apns-conf.xml will be stored in the folder
/data/misc/apns/ to make sure TelephonyProvider gets
access.
Bug: 79948106
Test: Manual
Change-Id: I4ba0596fa6523c0eb96328dbe46ead02587bd9b8
Merged-In: I4ba0596fa6523c0eb96328dbe46ead02587bd9b8
downloaded apns-conf.xml will be stored in the folder
/data/misc/apns/ to make sure TelephonyProvider gets
access.
Bug: 79948106
Test: Manual
Change-Id: I4ba0596fa6523c0eb96328dbe46ead02587bd9b8
Merged-In: I4ba0596fa6523c0eb96328dbe46ead02587bd9b8
init: allow entering of network namespaces
Add the ability to enter a network namespace when launching a service.
Typical usage of this would be something similar to the below:
on fs
exec ip netns add namespace_name
service vendor_something /vendor/...
capabilities <lower than root>
user not_root
enter_namespace net /mnt/.../namespace_name
Note changes to the `ip` tool are needed to create the namespace in
the correct directory.
Bug: 73334854
Test: auto team verified
Merged-In: Ifa91c873d36d69db399bb9c04ff2362518a0b07d
Change-Id: Ifa91c873d36d69db399bb9c04ff2362518a0b07d
(cherry picked from commit aead51b418e70a49191bc0cc5b67c92c969ae699)
Add the ability to enter a network namespace when launching a service.
Typical usage of this would be something similar to the below:
on fs
exec ip netns add namespace_name
service vendor_something /vendor/...
capabilities <lower than root>
user not_root
enter_namespace net /mnt/.../namespace_name
Note changes to the `ip` tool are needed to create the namespace in
the correct directory.
Bug: 73334854
Test: auto team verified
Merged-In: Ifa91c873d36d69db399bb9c04ff2362518a0b07d
Change-Id: Ifa91c873d36d69db399bb9c04ff2362518a0b07d
(cherry picked from commit aead51b418e70a49191bc0cc5b67c92c969ae699)
Adds /dev/block/by-name/<partition> symlinks
During uevent processing, some "by-name" symlinks will be created.
/dev/block/<type>/<device>/by-name/<partition>
<type> can be: platform, pci or vbd.
<device> might be: soc.0/f9824900.sdhci, soc.0/f9824900.sdhci, etc.
<partition> might be: system, vendor, system_a, system_b, etc.
e.g., on a non-A/B device:
/dev/block/platform/soc.0/f9824900.sdhci/by-name/system
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
On a A/B device:
/dev/block/platform/soc/1da4000.ufshc/by-name/system_a
/dev/block/platform/soc/1da4000.ufshc/by-name/system_b
/dev/block/platform/soc/1da4000.ufshc/by-name/vendor_a
/dev/block/platform/soc/1da4000.ufshc/by-name/vendor_b
However, those symlinks are "device-specific".
This change adds the "generic" symlinks in ueventd, in addition to
the existing symlinks, when the possible "boot devices" are specified
in device tree. e.g.,
&firmware_android {
compatible = "android,firmware";
boot_devices ="soc/1da4000.ufshc,soc.0/f9824900.sdhci";
}
The following symlinks will then be created on the aforementioned non-A/B
and A/B devices, respectively.
/dev/block/by-name/system
/dev/block/by-name/vendor
/dev/block/by-name/system_a
/dev/block/by-name/system_b
/dev/block/by-name/vendor_a
/dev/block/by-name/vendor_b
Note that both <type> and <device> are skipped in the newly create symlinks.
It assumes there is no more than one devices with the same <partition>,
which is the assumption of current first stage mount flow.
Finally, when 'boot_devices' in DT is absent, it fallbacks to extract
'boot_devices' from fstab settings. e.g., using 'soc/1da4000.ufshc',
'soc.0/f9824900.sdhci' for a fstab with the following content:
/dev/block/platform/soc/1da4000.ufshc/by-name/system
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
Bug: 78613232
Test: adb shell ls /dev/block/by-name
Change-Id: Iec920b5a72409b6a2bdbeeb290f0a3acd2046b5d
Merged-In: Iec920b5a72409b6a2bdbeeb290f0a3acd2046b5d
(cherry picked from commit 8eec38f4e463d8cd980562ec49432c17972cc5cb)
During uevent processing, some "by-name" symlinks will be created.
/dev/block/<type>/<device>/by-name/<partition>
<type> can be: platform, pci or vbd.
<device> might be: soc.0/f9824900.sdhci, soc.0/f9824900.sdhci, etc.
<partition> might be: system, vendor, system_a, system_b, etc.
e.g., on a non-A/B device:
/dev/block/platform/soc.0/f9824900.sdhci/by-name/system
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
On a A/B device:
/dev/block/platform/soc/1da4000.ufshc/by-name/system_a
/dev/block/platform/soc/1da4000.ufshc/by-name/system_b
/dev/block/platform/soc/1da4000.ufshc/by-name/vendor_a
/dev/block/platform/soc/1da4000.ufshc/by-name/vendor_b
However, those symlinks are "device-specific".
This change adds the "generic" symlinks in ueventd, in addition to
the existing symlinks, when the possible "boot devices" are specified
in device tree. e.g.,
&firmware_android {
compatible = "android,firmware";
boot_devices ="soc/1da4000.ufshc,soc.0/f9824900.sdhci";
}
The following symlinks will then be created on the aforementioned non-A/B
and A/B devices, respectively.
/dev/block/by-name/system
/dev/block/by-name/vendor
/dev/block/by-name/system_a
/dev/block/by-name/system_b
/dev/block/by-name/vendor_a
/dev/block/by-name/vendor_b
Note that both <type> and <device> are skipped in the newly create symlinks.
It assumes there is no more than one devices with the same <partition>,
which is the assumption of current first stage mount flow.
Finally, when 'boot_devices' in DT is absent, it fallbacks to extract
'boot_devices' from fstab settings. e.g., using 'soc/1da4000.ufshc',
'soc.0/f9824900.sdhci' for a fstab with the following content:
/dev/block/platform/soc/1da4000.ufshc/by-name/system
/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
Bug: 78613232
Test: adb shell ls /dev/block/by-name
Change-Id: Iec920b5a72409b6a2bdbeeb290f0a3acd2046b5d
Merged-In: Iec920b5a72409b6a2bdbeeb290f0a3acd2046b5d
(cherry picked from commit 8eec38f4e463d8cd980562ec49432c17972cc5cb)
Removing block device by-num symlinks
The uevent.partition_num easily collides between partitions, for
example:
Both /dev/block/sda3 and /dev/block/sdd3 will generate the same symlink:
/dev/block/platform/soc/1da4000.ufshc/by-num/p3
This change remove those by-num symlinks as there seems no effective
user of it.
Bug: 78613232
Test: m init_tests && \
adb push $OUT/data/nativetest64/init_tests/init_tests /data/. && \
adb shell /data/init_tests
Change-Id: I8dfa8dc1a2f9fc9296aa30f33e905bf158b501de
Merged-In: I8dfa8dc1a2f9fc9296aa30f33e905bf158b501de
(cherry picked from commit 95591bd00e653826f25bfa705c3f50545f6b06a3)
The uevent.partition_num easily collides between partitions, for
example:
Both /dev/block/sda3 and /dev/block/sdd3 will generate the same symlink:
/dev/block/platform/soc/1da4000.ufshc/by-num/p3
This change remove those by-num symlinks as there seems no effective
user of it.
Bug: 78613232
Test: m init_tests && \
adb push $OUT/data/nativetest64/init_tests/init_tests /data/. && \
adb shell /data/init_tests
Change-Id: I8dfa8dc1a2f9fc9296aa30f33e905bf158b501de
Merged-In: I8dfa8dc1a2f9fc9296aa30f33e905bf158b501de
(cherry picked from commit 95591bd00e653826f25bfa705c3f50545f6b06a3)
Add option to create metadata mount point
Test: booted metadata-encrypted device
Bug: 79781913
Change-Id: Ie922db20314c04409c98700bfb1aff3d111275f0
Test: booted metadata-encrypted device
Bug: 79781913
Change-Id: Ie922db20314c04409c98700bfb1aff3d111275f0
Snap for 4787078 from 7905b1e16286653679b7ff9b595f3ed7de5e182f to pi-release
Change-Id: Id0a5125ffd734a0b158ab867f8ffd9c0e0ae930a
Change-Id: Id0a5125ffd734a0b158ab867f8ffd9c0e0ae930a
Parse IfIndex for Netlink RTM_NEWADDR / RTM_DELADDR event
Bug: 64692591
Test: cts-tradefed run commandAndExit cts-dev -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideVpnTests
Change-Id: Icb2ae1264f0d2fcd285b04edd27641175dd2646f
Bug: 64692591
Test: cts-tradefed run commandAndExit cts-dev -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideVpnTests
Change-Id: Icb2ae1264f0d2fcd285b04edd27641175dd2646f
Merge "Only log the lmkd state change when the killing really happened." into pi-dev
Merge "Always use versioned VNDK directory" into pi-dev
Snap for 4784261 from 05dca7ae962b2c9f7b038cea21cf318468a18404 to pi-release
Change-Id: I274d523e2a7d8733586aa73a39583c1e01d5dbb6
Change-Id: I274d523e2a7d8733586aa73a39583c1e01d5dbb6
Add files to CleanSpec.mk
This commit removes stale files from incremental builds:
* /system/etc/ld.config.txt,
* /system/etc/llndk.libraries.txt
* /system/etc/public.libraries.txt
These files are replaced by versioned ones.
Bug: 78605339
Test: Those files are removed in incremental builds
Change-Id: I7925fa45b47397829bde835ab3c479611faffa33
This commit removes stale files from incremental builds:
* /system/etc/ld.config.txt,
* /system/etc/llndk.libraries.txt
* /system/etc/public.libraries.txt
These files are replaced by versioned ones.
Bug: 78605339
Test: Those files are removed in incremental builds
Change-Id: I7925fa45b47397829bde835ab3c479611faffa33
Always use versioned VNDK directory
Bug: 78605339
Test: sailfish-userdebug builds and boots
Test: sailfish boots with GSI
Change-Id: I7da5845b5c1caed3b73d7665f1db672f2764c2a8
Bug: 78605339
Test: sailfish-userdebug builds and boots
Test: sailfish boots with GSI
Change-Id: I7da5845b5c1caed3b73d7665f1db672f2764c2a8
Only log the lmkd state change when the killing really happened.
BUG: b/78603347
Test: statsd test
Change-Id: I0345a47e1cd1c79a67103e401a2eb0a7fbe0631b
BUG: b/78603347
Test: statsd test
Change-Id: I0345a47e1cd1c79a67103e401a2eb0a7fbe0631b
Snap for 4781566 from 09b309807ff4cbf53545749dabbfe2838a1755ff to pi-release
Change-Id: I792bce225a67d61a24674a71b8db05bb9486aad7
Change-Id: I792bce225a67d61a24674a71b8db05bb9486aad7
Make memunreachable_test more robust against false negative leaks
For some reason, the memunreachable tests are rock solid on the
devices covered by APCT, but catch a ton of false-negatives on
hikey960, which show up as failures that look like:
system/core/libmemunreachable/tests/MemUnreachable_test.cpp:200: Failure
Expected equality of these values:
1U
Which is: 1
info.leaks.size()
Which is: 0
These happen when a stray copy of a pointer is lying around that
points to the memory it is expected to leak. The stray pointers
can be on the stack or in the jemalloc thread cache of freed
allocations, which is always considered active memory.
Add some extra cleanups to get rid of old pointers.
1. Clear the tcache when destructing UnreachableMemoryInfo
2. Clear the stack and tcache before and after each test
3. Make MemunreachbleTest.twice match MemunreachableTest.stack
Also fix MemunreachableTest.notdumpable, which was only passing
when run as root, which was bypassing what the test was trying
to cover. Make the test pass when run as non-root, and skip
when the test is running as root.
Bug: 79701104
Test: memunreachable_test
Test: memunreachable_test as root
Change-Id: Ia6c6df11e76405d08118afcc19c1fe80a6684c56
Merged-In: Ia6c6df11e76405d08118afcc19c1fe80a6684c56
(cherry picked from commit ca71f170b78e4707dbaa5bf4ddace47a455b4699)
For some reason, the memunreachable tests are rock solid on the
devices covered by APCT, but catch a ton of false-negatives on
hikey960, which show up as failures that look like:
system/core/libmemunreachable/tests/MemUnreachable_test.cpp:200: Failure
Expected equality of these values:
1U
Which is: 1
info.leaks.size()
Which is: 0
These happen when a stray copy of a pointer is lying around that
points to the memory it is expected to leak. The stray pointers
can be on the stack or in the jemalloc thread cache of freed
allocations, which is always considered active memory.
Add some extra cleanups to get rid of old pointers.
1. Clear the tcache when destructing UnreachableMemoryInfo
2. Clear the stack and tcache before and after each test
3. Make MemunreachbleTest.twice match MemunreachableTest.stack
Also fix MemunreachableTest.notdumpable, which was only passing
when run as root, which was bypassing what the test was trying
to cover. Make the test pass when run as non-root, and skip
when the test is running as root.
Bug: 79701104
Test: memunreachable_test
Test: memunreachable_test as root
Change-Id: Ia6c6df11e76405d08118afcc19c1fe80a6684c56
Merged-In: Ia6c6df11e76405d08118afcc19c1fe80a6684c56
(cherry picked from commit ca71f170b78e4707dbaa5bf4ddace47a455b4699)
Merge "adb: fix double close in jdwp_service." into pi-dev
Revert "Only log the lmkd state change when the killing really happened."
This reverts commit 5e60f88cab8a22d88d76f7fd49f5a6e9cc0d931b.
Reason for revert: broke some builds
Bug: 78603347
Change-Id: I46bf6face35f5399d7d43146b360c0703eedfb1a
This reverts commit 5e60f88cab8a22d88d76f7fd49f5a6e9cc0d931b.
Reason for revert: broke some builds
Bug: 78603347
Change-Id: I46bf6face35f5399d7d43146b360c0703eedfb1a
adb: fix double close in jdwp_service.
Bug: http://b/78793027
Test: treehugger
Change-Id: Ie66d12e70bdaf09148e3d672e3c7c3da9e8ab2fe
(cherry picked from commit b7a9956cbc1cd8b1ffff86d13c6bea893a65c74d)
Bug: http://b/78793027
Test: treehugger
Change-Id: Ie66d12e70bdaf09148e3d672e3c7c3da9e8ab2fe
(cherry picked from commit b7a9956cbc1cd8b1ffff86d13c6bea893a65c74d)
Only log the lmkd state change when the killing really happened.
Test: statsd test
BUG: b/78603347
Change-Id: Ie08b0c3260f2f96b48e9e12c2c88208a3613042d
Test: statsd test
BUG: b/78603347
Change-Id: Ie08b0c3260f2f96b48e9e12c2c88208a3613042d
Snap for 4778776 from da88b24c9787f8babf790c7fca93e129143b41fe to pi-release
Change-Id: I487f4e0e0b4505d3bd4f264b2f95174743107226
Change-Id: I487f4e0e0b4505d3bd4f264b2f95174743107226
lmkd: Enable more logs during a kill
Logs that provide information about memory conditions during a process
kill event contain useful information and do not affect device
performance because these events are rare. Enabling them even when
ro.config.debug flag is not set will help in understanding low memory
conditions.
Bug: 79572814
Change-Id: Iae6e9bb612b9a7904ca491de3f1ddc727f24c7e0
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Logs that provide information about memory conditions during a process
kill event contain useful information and do not affect device
performance because these events are rare. Enabling them even when
ro.config.debug flag is not set will help in understanding low memory
conditions.
Bug: 79572814
Change-Id: Iae6e9bb612b9a7904ca491de3f1ddc727f24c7e0
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Merge "allow config/sdcardfs directory to be seen for ARC++" into pi-dev
Snap for 4773106 from cff5b8a7d0b8590ac89891becd3caf6ca803d0f8 to pi-release
Change-Id: I34b283a15ed8ffd5fb23f4a79f95e1cdc24b3704
Change-Id: I34b283a15ed8ffd5fb23f4a79f95e1cdc24b3704
Merge "libctuils: Exclude qtaguid.cpp from VNDK-SP variant" into pi-dev
Merge "Documented adb install --instant" into pi-dev
Merge "Move libstatssocket from frameworks/base to system/core/" into pi-dev
Documented adb install --instant
Test: m -j32 adb && ./out/host/linux-x86/bin/adb help 2>&1 | grep instant
Bug: 79422318
Change-Id: I2830a9e3cf81becac1a6334670d8dc487fe72322
(cherry picked from commit 807be77c25276cecd8a939dad2cdb3c7ac1db975)
Test: m -j32 adb && ./out/host/linux-x86/bin/adb help 2>&1 | grep instant
Bug: 79422318
Change-Id: I2830a9e3cf81becac1a6334670d8dc487fe72322
(cherry picked from commit 807be77c25276cecd8a939dad2cdb3c7ac1db975)
libctuils: Exclude qtaguid.cpp from VNDK-SP variant
This commit excludes `qtaguid.cpp` from the VNDK-SP variant of
`libcutils.so` because the interface of `libnetd_client.so` may vary
between AOSP releases.
Besides, these functions don't work in vendor processes either because
VNDK-SP libraries are loaded in an isolated `vndk` linker namespace,
which cannot access `/system/lib[64]/libnetd_client.so` directly. This
change makes it easier to spot the issue at build time and saves several
bytes.
Test: Build aosp_walleye-userdebug and
/system/lib[64]/vndk-sp-$VER/libctuils.so no longer exports qtaguid_*
functions.
Bug: 79329469
Change-Id: Idf6b60f6e58371ea320193641669d1e4412d62b8
Merged-In: Idf6b60f6e58371ea320193641669d1e4412d62b8
(cherry picked from commit 25b742c62764db8918976d6b01801c164461bbc2)
This commit excludes `qtaguid.cpp` from the VNDK-SP variant of
`libcutils.so` because the interface of `libnetd_client.so` may vary
between AOSP releases.
Besides, these functions don't work in vendor processes either because
VNDK-SP libraries are loaded in an isolated `vndk` linker namespace,
which cannot access `/system/lib[64]/libnetd_client.so` directly. This
change makes it easier to spot the issue at build time and saves several
bytes.
Test: Build aosp_walleye-userdebug and
/system/lib[64]/vndk-sp-$VER/libctuils.so no longer exports qtaguid_*
functions.
Bug: 79329469
Change-Id: Idf6b60f6e58371ea320193641669d1e4412d62b8
Merged-In: Idf6b60f6e58371ea320193641669d1e4412d62b8
(cherry picked from commit 25b742c62764db8918976d6b01801c164461bbc2)
allow config/sdcardfs directory to be seen for ARC++
Normally, the whole configfs is mounted on /config and /config will be
word readable:
sailfish:/ $ ls -ld /config/*
drwxrwx--- 258 system package_info 0 2018-05-08 16:08 /config/sdcardfs
sailfish:/ $ ls -ld /config/
drwxr-xr-x 3 root root 0 1969-12-31 16:00 /config/
On ARC++, we only mount-bind config/sdcardfs, so it is important that
/config is set properly.
It is actually 0500, so system could not see /config/sdcardfs, even if
/config/sdcardfs is set properly:
Although root can, as system uid, we can not reach /config/sdcardfs:
:/ $ ls -ld /config
dr-x------ 3 root root 31 2018-05-02 21:56 /config
:/ $ ls -ld /config/sdcardfs
ls: /config/sdcardfs: Permission denied
With this change, system (and systemservice) is able to reach
/config/sdcardfs:
:/ $ ls -ld /config
dr-xr-xr-x 3 root root 31 2018-05-02 21:56 /config
:/ $ ls -ld /config/sdcardfs
drwxrwx--- 109 system package_info 0 2018-05-08 15:29 /config/sdcardfs
Bug: 63876697
Test: After change, package service is able to create the bindings in
/config/sdcardfs.
Change-Id: I7e9b99d7af2ad001fbb1b95bee35d494e861be78
Signed-off-by: Gwendal Grignou <gwendal@google.com>
Normally, the whole configfs is mounted on /config and /config will be
word readable:
sailfish:/ $ ls -ld /config/*
drwxrwx--- 258 system package_info 0 2018-05-08 16:08 /config/sdcardfs
sailfish:/ $ ls -ld /config/
drwxr-xr-x 3 root root 0 1969-12-31 16:00 /config/
On ARC++, we only mount-bind config/sdcardfs, so it is important that
/config is set properly.
It is actually 0500, so system could not see /config/sdcardfs, even if
/config/sdcardfs is set properly:
Although root can, as system uid, we can not reach /config/sdcardfs:
:/ $ ls -ld /config
dr-x------ 3 root root 31 2018-05-02 21:56 /config
:/ $ ls -ld /config/sdcardfs
ls: /config/sdcardfs: Permission denied
With this change, system (and systemservice) is able to reach
/config/sdcardfs:
:/ $ ls -ld /config
dr-xr-xr-x 3 root root 31 2018-05-02 21:56 /config
:/ $ ls -ld /config/sdcardfs
drwxrwx--- 109 system package_info 0 2018-05-08 15:29 /config/sdcardfs
Bug: 63876697
Test: After change, package service is able to create the bindings in
/config/sdcardfs.
Change-Id: I7e9b99d7af2ad001fbb1b95bee35d494e861be78
Signed-off-by: Gwendal Grignou <gwendal@google.com>
Snap for 4767765 from 88f5b6aa5da058ce2b918f81b7535c7b618d2bdf to pi-release
Change-Id: I43c8984d197e3be6157fb7e9caf78362fb2a6ba2
Change-Id: I43c8984d197e3be6157fb7e9caf78362fb2a6ba2
Merge "init: Use sepolicy version instead" into pi-dev
Move libstatssocket from frameworks/base to system/core/
So that lmkd can build on PDK.
Bug: 79349329
Test: builds locally
Change-Id: I981e6ef9f9769b873640e5f169a9495ccea2f25c
So that lmkd can build on PDK.
Bug: 79349329
Test: builds locally
Change-Id: I981e6ef9f9769b873640e5f169a9495ccea2f25c
Snap for 4765094 from 35c76427a2918434c9d7b38d2e9a7710b67c94cf to pi-release
Change-Id: I13426caff58344bbf5013d18ceb46b721e9c3522
Change-Id: I13426caff58344bbf5013d18ceb46b721e9c3522
Merge changes I19704971,I20e0537a into pi-dev
* changes:
tombstoned: make missing O_TMPFILE workaround actually work around.
tombstoned: don't bail out if we fail to unlink a file that isn't there.
* changes:
tombstoned: make missing O_TMPFILE workaround actually work around.
tombstoned: don't bail out if we fail to unlink a file that isn't there.
Merge "tombstoned: don't create tombstones for failed dumps." into pi-dev
init: Use sepolicy version instead
This commit uses vendor sepolicy file version (defined in
`/vendor/etc/selinux/plat_sepolicy_vers.txt`) to determine whether the
source context should be set as `u:r:vendor_init:s0`.
Before this commit, the criterion was `ro.vndk.version` >= 28. However,
the check in `property_service.cpp` will always be true because
`ro.vndk.version` hasn't been loaded from `/vendor/default.prop`.
Furthermore, under some circumstances, `ro.vndk.version` may be
different from `plat_sepolicy_vers.txt` (e.g. O-MR1 vendor does not
define `ro.vndk.version`).
Bug: 78605339 # high-level bug to combine O-MR1 and P GSI
Bug: 79135481 # the usage of `ro.vndk.version` in init
Test: vts-tradefed run vts -m VtsTrebleVintfTest # tetheroffload
Change-Id: Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93
Merged-In: Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93
This commit uses vendor sepolicy file version (defined in
`/vendor/etc/selinux/plat_sepolicy_vers.txt`) to determine whether the
source context should be set as `u:r:vendor_init:s0`.
Before this commit, the criterion was `ro.vndk.version` >= 28. However,
the check in `property_service.cpp` will always be true because
`ro.vndk.version` hasn't been loaded from `/vendor/default.prop`.
Furthermore, under some circumstances, `ro.vndk.version` may be
different from `plat_sepolicy_vers.txt` (e.g. O-MR1 vendor does not
define `ro.vndk.version`).
Bug: 78605339 # high-level bug to combine O-MR1 and P GSI
Bug: 79135481 # the usage of `ro.vndk.version` in init
Test: vts-tradefed run vts -m VtsTrebleVintfTest # tetheroffload
Change-Id: Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93
Merged-In: Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93
tombstoned: make missing O_TMPFILE workaround actually work around.
We can't actually link an unlinked file back onto disk if it wasn't
opened with O_TMPFILE. Switch to using a temporary filename instead.
Bug: http://b/77729983
Test: agampe
Change-Id: I1970497114f0056065a1ba65f6358f08b51ec551
(cherry picked from commit f5974aedc40e4a61be3ed621e32af0111e4341e8)
We can't actually link an unlinked file back onto disk if it wasn't
opened with O_TMPFILE. Switch to using a temporary filename instead.
Bug: http://b/77729983
Test: agampe
Change-Id: I1970497114f0056065a1ba65f6358f08b51ec551
(cherry picked from commit f5974aedc40e4a61be3ed621e32af0111e4341e8)
Fix the stats log in lmkd
1. let logs be written to statsd directly like all other stats logs.
+ stats log should not write to logd anymore(b/78239479)
2. fixed the log format
+ need to embed the elapsed real time in the log
3. fixed the log context reuse problem
+reset the log context buffer and internal state before reuse
Bug: 78603347
Bug: 78239479
Test: tested with alloc_stress, and saw logs written to statsd
performance measurement (memory & cpu):
https://paste.googleplex.com/5508158646648832
Change-Id: I345f0eace8ba1687ff480fb88e9abba1d8533f76
1. let logs be written to statsd directly like all other stats logs.
+ stats log should not write to logd anymore(b/78239479)
2. fixed the log format
+ need to embed the elapsed real time in the log
3. fixed the log context reuse problem
+reset the log context buffer and internal state before reuse
Bug: 78603347
Bug: 78239479
Test: tested with alloc_stress, and saw logs written to statsd
performance measurement (memory & cpu):
https://paste.googleplex.com/5508158646648832
Change-Id: I345f0eace8ba1687ff480fb88e9abba1d8533f76
tombstoned: don't bail out if we fail to unlink a file that isn't there.
Bug: http://b/77729983
Test: crasher with no tombstones
Change-Id: I20e0537a347dd1f83877150ab13f53441dd65d95
(cherry picked from commit 28f8cf0f975500d754e259e19dcf9762f0969060)
Bug: http://b/77729983
Test: crasher with no tombstones
Change-Id: I20e0537a347dd1f83877150ab13f53441dd65d95
(cherry picked from commit 28f8cf0f975500d754e259e19dcf9762f0969060)
Snap for 4759746 from 979931803b5ba3a19db6e2ff3971f8447147fb8e to pi-release
Change-Id: I54ef983497fb63281ce2cc6ad9605118055cde0b
Change-Id: I54ef983497fb63281ce2cc6ad9605118055cde0b
tombstoned: don't create tombstones for failed dumps.
Instead of creating tombstone FDs in place and passing them out to
crash_dump directly, create them as O_TMPFILEs and link them into place
when crash_dump reports success, to avoid creating empty tombstones
in cases like an aborting thread racing with another thread that
manages to cleanly exit_group before the dump finishes.
Bug: http://b/77729983
Test: debuggerd_test
Test: adb shell 'for x in `seq 0 50`; do crasher; done'
Change-Id: I31ce4fd4a524abf8bde57152450209483d9d0ba9
(cherry picked from commit 48383c806af629bb755ce120ba30e8cb70eb5f23)
Instead of creating tombstone FDs in place and passing them out to
crash_dump directly, create them as O_TMPFILEs and link them into place
when crash_dump reports success, to avoid creating empty tombstones
in cases like an aborting thread racing with another thread that
manages to cleanly exit_group before the dump finishes.
Bug: http://b/77729983
Test: debuggerd_test
Test: adb shell 'for x in `seq 0 50`; do crasher; done'
Change-Id: I31ce4fd4a524abf8bde57152450209483d9d0ba9
(cherry picked from commit 48383c806af629bb755ce120ba30e8cb70eb5f23)
Merge "Add support for logging package name." into pi-dev
Snap for 4756844 from fe92dd0973c2efd4f8f0b73cb0831af02f8c3529 to pi-release
Change-Id: I6f46fb4e0616da931822bc37a82e396cb4fb0716
Change-Id: I6f46fb4e0616da931822bc37a82e396cb4fb0716
First-stage mount: avoid triggering a FATAL error
Related AOSP changes:
1. https://android-review.googlesource.com/#/c/platform/system/core/+/405009/
2. https://android-review.googlesource.com/#/c/platform/system/core/+/532637/
The second CL raises a FATAL error when it detects fstab-dt has no content
during first-stage mount. However, with the first CL, the fstab-dt entry
might be "skipped" when bootloader sets the status property to a value
other than "ok"/"okay". (e.g., to skip mounting /vendor on upgrading
devices which have no vendor partition).
Use LOG(INFO) when there is nothing to mount here. The later stages
should trigger a FATAL error when some important files in those
partitions are not available, e.g., SEPolicy files.
Bug: 78441220
Test: boot a device
Change-Id: Iae2f47d455679298bdb067d96b771a30c1a82e6f
Merged-In: Iae2f47d455679298bdb067d96b771a30c1a82e6f
(cherry picked from commit 8fe363f26017e39b80c6cd793f7b2a346da88104)
Related AOSP changes:
1. https://android-review.googlesource.com/#/c/platform/system/core/+/405009/
2. https://android-review.googlesource.com/#/c/platform/system/core/+/532637/
The second CL raises a FATAL error when it detects fstab-dt has no content
during first-stage mount. However, with the first CL, the fstab-dt entry
might be "skipped" when bootloader sets the status property to a value
other than "ok"/"okay". (e.g., to skip mounting /vendor on upgrading
devices which have no vendor partition).
Use LOG(INFO) when there is nothing to mount here. The later stages
should trigger a FATAL error when some important files in those
partitions are not available, e.g., SEPolicy files.
Bug: 78441220
Test: boot a device
Change-Id: Iae2f47d455679298bdb067d96b771a30c1a82e6f
Merged-In: Iae2f47d455679298bdb067d96b771a30c1a82e6f
(cherry picked from commit 8fe363f26017e39b80c6cd793f7b2a346da88104)
Merge changes from topic "unwindstack_clone" into pi-dev
* changes:
libdebuggerd: clone registers before we Unwind with them.
libunwindstack: add Regs::Clone.
* changes:
libdebuggerd: clone registers before we Unwind with them.
libunwindstack: add Regs::Clone.
Add support for logging package name.
The functionality already exists in Java, add it to the C++ class too.
Bug: 77517571
Test: m
Test: Exercised by ag/3984344 in art
Change-Id: Id27a6c506783a02e4334498dadf55167efab097f
The functionality already exists in Java, add it to the C++ class too.
Bug: 77517571
Test: m
Test: Exercised by ag/3984344 in art
Change-Id: Id27a6c506783a02e4334498dadf55167efab097f
crash_dump: defuse our signal handlers earlier.
We have a LOG(FATAL) that can potentially happen before we turn off
SIGABRT. Move the signal handler defusing to the very start of main.
Bug: http://b/77920633
Test: treehugger
Change-Id: I7a2f2a0f2bed16e54467388044eca254102aa6a0
(cherry picked from commit 38ac45df1738496d5581b89845e48daeab7f0219)
We have a LOG(FATAL) that can potentially happen before we turn off
SIGABRT. Move the signal handler defusing to the very start of main.
Bug: http://b/77920633
Test: treehugger
Change-Id: I7a2f2a0f2bed16e54467388044eca254102aa6a0
(cherry picked from commit 38ac45df1738496d5581b89845e48daeab7f0219)
Snap for 4745538 from d8525007e1885e17804cc8de082e46b531b3901c to pi-release
Change-Id: Ic78f11c85d92f34ce30098b300f6cf9ab9aaf28e
Change-Id: Ic78f11c85d92f34ce30098b300f6cf9ab9aaf28e
Wipe metadata when we wipe userdata and cache.
Bug: 78469699
Test: Run "fastboot -w" and see that metadata is wiped
Merged-In: I2d795281c48b59c87d4f8f010037d95186f55684
Change-Id: I2d795281c48b59c87d4f8f010037d95186f55684
Bug: 78469699
Test: Run "fastboot -w" and see that metadata is wiped
Merged-In: I2d795281c48b59c87d4f8f010037d95186f55684
Change-Id: I2d795281c48b59c87d4f8f010037d95186f55684
logd: notify kernel log readers of new messages
LogBuffer::log() returns either a negative number on error or a
positive number indicating the length of the message written.
Therefore, the check to notify kernel log readers of a new message
should be that this function's return value is > 0.
Bug: 78209416
Test: `adb logcat -b kernel` updates when new log messages are present
Merged-In: Icc18c0c22e62340994e5c26aedb72282d61c1541
Change-Id: Icc18c0c22e62340994e5c26aedb72282d61c1541
(cherry picked from commit cbfebdbadb283ee13c555e7d79037fb5089caa4a)
LogBuffer::log() returns either a negative number on error or a
positive number indicating the length of the message written.
Therefore, the check to notify kernel log readers of a new message
should be that this function's return value is > 0.
Bug: 78209416
Test: `adb logcat -b kernel` updates when new log messages are present
Merged-In: Icc18c0c22e62340994e5c26aedb72282d61c1541
Change-Id: Icc18c0c22e62340994e5c26aedb72282d61c1541
(cherry picked from commit cbfebdbadb283ee13c555e7d79037fb5089caa4a)
libdebuggerd: clone registers before we Unwind with them.
Bug: http://b/77296294
Test: manual inspection of tombstone generated by crasher
Change-Id: I4b017701d7d2041db4aefbbb90977e99b844c328
(cherry picked from commit 5d1c14f41bac357c730aa47d705c1f1da7625280)
Bug: http://b/77296294
Test: manual inspection of tombstone generated by crasher
Change-Id: I4b017701d7d2041db4aefbbb90977e99b844c328
(cherry picked from commit 5d1c14f41bac357c730aa47d705c1f1da7625280)
libunwindstack: add Regs::Clone.
Add a way to copy a Regs object.
Bug: http://b/77296294
Test: libunwindstack_test
Change-Id: I28aff510aa3e1b677d5ae46dc3bfe7652817ce52
(cherry picked from commit 2f37a15472945194fed528cb8d3104aa4865fc4c)
Add a way to copy a Regs object.
Bug: http://b/77296294
Test: libunwindstack_test
Change-Id: I28aff510aa3e1b677d5ae46dc3bfe7652817ce52
(cherry picked from commit 2f37a15472945194fed528cb8d3104aa4865fc4c)
Snap for 4736748 from 564e3581cb72d117f25d2d729af2af922e86e0f1 to pi-release
Change-Id: I6cfdd045ba193d17a4c8ec896e799becdb094948
Change-Id: I6cfdd045ba193d17a4c8ec896e799becdb094948
Merge "Add support for logging complex events from C++." into pi-dev
Merge "adb: don't error in handle_host_request if we can't acquire a transport." into pi-dev
Merge "Add a dummy entry for the 70220 event tag" into pi-dev
adb: don't error in handle_host_request if we can't acquire a transport.
Host services are attempted after handle_host_request, which means that
failing to find a transport to give to handle_forward_request shouldn't
send an error over to the other end.
Bug: http://b/78294734
Test: `adb track-devices` with multiple devices connected
Change-Id: I46c89cc1894b51d48fea7d4e629b1d57f73e3fd6
(cherry picked from commit 78f133d7d46386a2215cd45836354260265ade26)
Host services are attempted after handle_host_request, which means that
failing to find a transport to give to handle_forward_request shouldn't
send an error over to the other end.
Bug: http://b/78294734
Test: `adb track-devices` with multiple devices connected
Change-Id: I46c89cc1894b51d48fea7d4e629b1d57f73e3fd6
(cherry picked from commit 78f133d7d46386a2215cd45836354260265ade26)
Add a dummy entry for the 70220 event tag
This will prevent services from reaching out to logd if this tag is
present in the event log.
Bug: 64734187
Test: tree-hugger
Merged-In: If117e1c0cfa678af4190913f0ca87f4e92c54373
Change-Id: If117e1c0cfa678af4190913f0ca87f4e92c54373
(cherry picked from commit dcc4b2bb4a7b4753e7d5424c4c8646b9adb5c68e)
This will prevent services from reaching out to logd if this tag is
present in the event log.
Bug: 64734187
Test: tree-hugger
Merged-In: If117e1c0cfa678af4190913f0ca87f4e92c54373
Change-Id: If117e1c0cfa678af4190913f0ca87f4e92c54373
(cherry picked from commit dcc4b2bb4a7b4753e7d5424c4c8646b9adb5c68e)
Merge "Set property for metadata encryption on first boot" into pi-dev
Add support for logging complex events from C++.
Also include relevant new metric_logger.proto values.
Test: m
Test: Exercised by ag/3890335 in art
Bug: 77517571
Change-Id: Ia527f2b94c7a6147ad9d537376266e5ffc597b04
Also include relevant new metric_logger.proto values.
Test: m
Test: Exercised by ag/3890335 in art
Bug: 77517571
Change-Id: Ia527f2b94c7a6147ad9d537376266e5ffc597b04
Merge "Remove test_suites: ["vts"] from memunreachable_binder_test" into pi-dev
Snap for 4731145 from 658ae90f699bd21ec8d79b18a34765ed5993c828 to pi-release
Change-Id: I790589a416dcc523e1ef15e35cb4ddcd33e9975d
Change-Id: I790589a416dcc523e1ef15e35cb4ddcd33e9975d
cutils: add restricted cpuset
Bug 78197570
Test: CTS
Exempt-From-Owner-Approval: owner OOO, build cop says it's fine
Change-Id: I6df972950b75a839caa463ae282ad000b959e8ae
Bug 78197570
Test: CTS
Exempt-From-Owner-Approval: owner OOO, build cop says it's fine
Change-Id: I6df972950b75a839caa463ae282ad000b959e8ae
Remove test_suites: ["vts"] from memunreachable_binder_test
memunreachable_binder_test is pulled in by
test/vts/tools/build/tasks/list/vts_test_bin_package_list.mk, it
doesn't need to be listed in test_suites.
Fixes warnings:
build/make/core/base_rules.mk:620: warning: overriding commands for target `out/host/linux-x86/vts/android-vts/testcases/memunreachable_binder_test'
build/make/core/base_rules.mk:620: warning: ignoring old commands for target `out/host/linux-x86/vts/android-vts/testcases/memunreachable_binder_test'
Bug: 78229249
Test: vts-tradefed run commandAndExit vts -m VtsKernelBinderTest
Change-Id: Ifd282b2f5bb652295fa34ad247919eb85ea7abc8
Merged-In: Ifd282b2f5bb652295fa34ad247919eb85ea7abc8
(cherry picked from commit f013b621520bbfaaeb165ddd430accbe3fe66df2)
memunreachable_binder_test is pulled in by
test/vts/tools/build/tasks/list/vts_test_bin_package_list.mk, it
doesn't need to be listed in test_suites.
Fixes warnings:
build/make/core/base_rules.mk:620: warning: overriding commands for target `out/host/linux-x86/vts/android-vts/testcases/memunreachable_binder_test'
build/make/core/base_rules.mk:620: warning: ignoring old commands for target `out/host/linux-x86/vts/android-vts/testcases/memunreachable_binder_test'
Bug: 78229249
Test: vts-tradefed run commandAndExit vts -m VtsKernelBinderTest
Change-Id: Ifd282b2f5bb652295fa34ad247919eb85ea7abc8
Merged-In: Ifd282b2f5bb652295fa34ad247919eb85ea7abc8
(cherry picked from commit f013b621520bbfaaeb165ddd430accbe3fe66df2)