Commit Graph

39227 Commits

Author SHA1 Message Date
Josh Gao ae9c1dc44a adb: move towards using unique_fd.
Bug: http://b/79786774
Test: treehugger
Change-Id: Ib5a684bba88e87e1aad9da452dcdd5edd11f18f4
2018-05-22 14:55:36 -07:00
Josh Gao e5353021ba adb: delete FDEVENT_DONTCLOSE.
The only existing usage of this doesn't actually need it.

Bug: http://b/79786774
Test: mma
Change-Id: If5e665705393e938cfdbf1526beb5496a8b99a9b
2018-05-22 14:55:36 -07:00
Treehugger Robot 931a840e8c Merge "Add OWNERS file for libstats/" 2018-05-22 21:54:55 +00:00
Treehugger Robot 762b0a3b9c Merge "Move libstatssocket from frameworks/base to system/core/" 2018-05-22 21:54:50 +00:00
Josh Gao 71f775a944 adb: remove fdevent_install, fdevent_remove.
Remove fdevent_install and fdevent_remove in favor of using
fdevent_create and fdevent_destroy, so that we can put RAII types (i.e.
unique_fd) into fdevent without worrying about -Wexit-time-destructors
or structs that are freed instead of deleted.

Bug: http://b/79786774
Test: python test_device.py
Change-Id: I8471cc00574ed492fe1b196944976cdaae8b7cff
2018-05-22 14:54:49 -07:00
Tom Cherry 5ab2e1c8f7 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
Merged-In: I6ce915ae39954a67eb6fe1795a93cf715c352ae4
Change-Id: I6ce915ae39954a67eb6fe1795a93cf715c352ae4
(cherry picked from commit 1debdcf1cf)
2018-05-22 13:44:34 -07:00
Suren Baghdasaryan a7084943c9 Merge "lmkd: Do not set soft_limit_in_bytes on high-end devices"
am: 827de19932

Change-Id: I91a55dd4bebeefdcefa4c80f624acefd4a2e10eb
2018-05-22 12:14:15 -07:00
Treehugger Robot 827de19932 Merge "lmkd: Do not set soft_limit_in_bytes on high-end devices" 2018-05-22 19:09:03 +00:00
Elliott Hughes 301b6b39c8 Merge "fastboot: better temporary file errors."
am: 9971005cd3

Change-Id: I031e2383e192938c235e829f4975cbdfd7a0950f
2018-05-22 11:06:20 -07:00
Elliott Hughes 9971005cd3 Merge "fastboot: better temporary file errors." 2018-05-22 17:52:18 +00:00
DuXiao bf5200ef61 Merge "Property: Log errno for socket connect"
am: 59976b9bed

Change-Id: I8d20c4017031a4bba3629e522bcac01b96e6e179
2018-05-22 10:49:44 -07:00
Treehugger Robot 59976b9bed Merge "Property: Log errno for socket connect" 2018-05-22 17:37:23 +00:00
Suren Baghdasaryan fe26dfb3bf 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>
2018-05-22 10:25:38 -07:00
Tom Cherry aaab7d69b5 Merge "init: separate out epoll into a class"
am: c5fbf494e7

Change-Id: Ie92d8daa09eb60cf0a1a297a5546be54e7f9b2c3
2018-05-22 08:09:06 -07:00
Tom Cherry c5fbf494e7 Merge "init: separate out epoll into a class" 2018-05-22 15:01:08 +00:00
Elliott Hughes da1dbd6e6a fastboot: better temporary file errors.
Bug: http://b/80082652
Test: N/A
Change-Id: Ib9f34342157ea3a15fd48504d03f4f3a2c710579
2018-05-21 23:02:26 -07:00
Jiyong Park d7fece5d91 Merge "Mark as recovery_available: true"
am: 9f6f8bf0dc

Change-Id: I6f45b13fcfe21c55ba5e513383bd69b9a1fc185c
2018-05-21 22:24:54 -07:00
Treehugger Robot 9f6f8bf0dc Merge "Mark as recovery_available: true" 2018-05-22 05:16:20 +00:00
Logan Chien 3abbb4cb00 Merge "Always use versioned VNDK directory"
am: dda4678a11

Change-Id: Ie4624b1be1f3ff2c3f82362e6a4e0da6c553c666
2018-05-21 21:09:39 -07:00
Logan Chien dda4678a11 Merge "Always use versioned VNDK directory" 2018-05-22 04:04:07 +00:00
DuXiao 4053359c7f Property: Log errno for socket connect
It's currently not clear that the error no indicating the
failure to invoke the library function. This change introduces
logs at the failing of socket connect, that could be clearly
get the true reason.

Test: Set system property with failed, and socket recv errno
      log will show

Change-Id: I36bf66988811f953e679d1c5a468de0bf1ab0a05
Signed-off-by: Jinguang Dong <dongjinguang@huawei.com>
2018-05-22 10:54:34 +08:00
Luis Hector Chavez 2571b1f0a7 Merge changes I4d6da40d,I91c7ced5,I7b9f6d18
am: 2fa9770c3a

Change-Id: I945e8858089139b77986efe3400da7825690d3f7
2018-05-21 15:51:00 -07:00
Treehugger Robot 2fa9770c3a Merge changes I4d6da40d,I91c7ced5,I7b9f6d18
* changes:
  adb: Add a test for emulator connection
  adb: Improve test_adb a bit more
  adb: Add a way to reconnect TCP transports
2018-05-21 22:37:21 +00:00
Mark Salyzyn 6c6ec7240c init: separate out epoll into a class
Test: init_tests
Bug: 64114943
Change-Id: I5f03314773b02b9e30e8e21895b6bdcfd4909e88
2018-05-21 14:58:03 -07:00
Jordan Liu c25eeeca52 Merge "Add a new directory to store downloaded apns"
am: e0a52774b4

Change-Id: I6c4c9df2b380e633aa11b7fa42ccdf19a6d39e52
2018-05-21 14:21:01 -07:00
Christopher Ferris 5e516cad93 Fix error messages handling.
Test: Builds.
Change-Id: I083ee4a51047e97e2ead78f40c82a21198f2b361
2018-05-21 13:26:58 -07:00
Jordan Liu e0a52774b4 Merge "Add a new directory to store downloaded apns" 2018-05-21 19:06:54 +00:00
Yao Chen bc586d15d3 Add OWNERS file for libstats/
Test: N/A
Change-Id: Ic16b0e1330ff46bfea9524eacf109c4ded430c67
2018-05-21 10:12:49 -07:00
Yao Chen b3be9eaff5 Move libstatssocket from frameworks/base to system/core/
So that lmkd can build on PDK.

Bug: 79349329
Test: builds locally
Merged-In: I981e6ef9f9769b873640e5f169a9495ccea2f25c
Change-Id: I981e6ef9f9769b873640e5f169a9495ccea2f25c
(cherry picked from commit b13a102c0a)
2018-05-21 10:06:25 -07:00
Niklas Lindgren fd66538ef3 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
2018-05-21 18:48:28 +02:00
Andreas Gampe 8ccbe4258e Libunwindstack: Add -O0 to tools defaults on host
Extend the debug support from the host library to host tools.

Test: mmma system/core/libunwindstack
Change-Id: Ib6ea5f021d6b8139c545eaa2e6b1675befa4d3bd
2018-05-21 08:24:20 -07:00
Josh Gao 10537510a8 Merge "debuggerd: fix CrasherTest.seccomp_crash_oom."
am: 74bf81443f

Change-Id: I6fda76a0e7c0a5f699d590949dda3855fdb56128
2018-05-18 19:19:49 -07:00
Treehugger Robot 74bf81443f Merge "debuggerd: fix CrasherTest.seccomp_crash_oom." 2018-05-19 02:14:33 +00:00
Bowgo Tsai d91d5ecd8b Merge "Adds /dev/block/by-name/<partition> symlinks"
am: 98214c81d1

Change-Id: Ie6d1520782e47a194a4a001407b25fcaa0765425
2018-05-18 18:55:48 -07:00
Treehugger Robot 98214c81d1 Merge "Adds /dev/block/by-name/<partition> symlinks" 2018-05-19 01:45:21 +00:00
Tom Cherry e2f95984ba Merge "init: allow entering of network namespaces"
am: 4bfbd8e9a5

Change-Id: Ifb6e3af2f7658b7dafb852e3e84ad8132d2e6de1
2018-05-18 17:31:35 -07:00
Tom Cherry 4bfbd8e9a5 Merge "init: allow entering of network namespaces" 2018-05-19 00:22:58 +00:00
Tom Cherry aead51b418 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: not yet
Change-Id: Ifa91c873d36d69db399bb9c04ff2362518a0b07d
2018-05-18 17:19:36 -07:00
Bowgo Tsai 8eec38f4e4 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
2018-05-19 07:57:35 +08:00
Christopher Ferris d2262c4724 Merge "Fix bug when doing signal handler lookup."
am: 9e1514f1d7

Change-Id: Iae0e730a86a4e46d1289e8a91ac2bb7a1a42f677
2018-05-18 13:13:28 -07:00
Christopher Ferris 9e1514f1d7 Merge "Fix bug when doing signal handler lookup." 2018-05-18 20:04:15 +00:00
Colin Cross fe7aa8f7b1 Merge "Document using libmemunreachable on an app"
am: 60fab88ecc

Change-Id: Ie19a3980fc0f75150af75a713d96b74c0e9d5dd1
2018-05-17 19:33:40 -07:00
Christopher Ferris 239425b9fa 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
2018-05-17 18:58:42 -07:00
Treehugger Robot 60fab88ecc Merge "Document using libmemunreachable on an app" 2018-05-18 01:46:30 +00:00
Bowgo Tsai 3a6bf528be Merge "Removing block device by-num symlinks"
am: 6aaa3beb39

Change-Id: If37fe44b7eeaf45821caff21809b8173d23a5105
2018-05-17 18:27:39 -07:00
Treehugger Robot 6aaa3beb39 Merge "Removing block device by-num symlinks" 2018-05-18 01:16:02 +00:00
Colin Cross 18f3685600 Document using libmemunreachable on an app
Document dumpsys meminfo --unreachable, and how to enable
malloc_debug backtraces on a single app.

Test: none
Change-Id: I649afdfff1c7438f74950395639b06c39cae3ca0
2018-05-17 16:17:28 -07:00
Bowgo Tsai 95591bd00e 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
2018-05-17 16:29:25 +08:00
Logan Chien 5a35d12e62 Always use versioned VNDK directory
Bug: 78605339
Test: sailfish-userdebug builds and boots
Test: sailfish boots with GSI
Change-Id: I7da5845b5c1caed3b73d7665f1db672f2764c2a8
(cherry picked from commit 6a145749be)
2018-05-17 14:29:44 +08:00
Jerry Zhang 2562dff11f Merge "adb: Retry io in case of interrupt"
am: 93e4501611

Change-Id: I0c56c83d6b707773f09daec634c22d8c7b4e2980
2018-05-16 19:45:24 -07:00