Commit graph

21084 commits

Author SHA1 Message Date
Christopher Ferris
426b00a29b Fix the way malloc debug returns info.
When I rewrote malloc debug, I accidentally thought that each
value returned in the info buffer contained the number of backtrace
frames in the backtrace. This was incorrect, it should have been
the total number of allocations with the same backtrace.

This is a temporary fix that sets that value to 1. The better fix is
to de-dupe backtraces and then return all allocations of the same size
with the same backtrace.

I updated the documents to describe this.

Bug: 31854476

Test: Unit tests pass.
Change-Id: Idf9efaa3d363923b5d7543d90dc7c65a0ed553d9
2017-03-09 13:47:37 -08:00
Alex Klyubin
5dd51fa6bf Merge "Prefer property_contexts from /system & /vendor"
am: b3b11edda1

Change-Id: Ibbc203c98f5456de744374636bbc06f6dda87d3c
2017-03-09 19:25:30 +00:00
Treehugger Robot
b3b11edda1 Merge "Prefer property_contexts from /system & /vendor" 2017-03-09 19:20:55 +00:00
Josh Gao
c17e5a4650 libc_logging: mention that they're async signal safe.
Test: none
Change-Id: I826756d9338e80f1dd16bd650eb89892bcbbb850
2017-03-08 21:31:48 -08:00
Josh Gao
222272ece9 linker_memory: allow fallback allocator to be turned on and off.
Let the fallback allocator be used on multiple threads (as long as only
one thread is using it at once).

Bug: http://b/35858739
Change-Id: Id3e2fc6b7c093c6e56870524ffda28946de09e29
2017-03-08 16:43:59 -08:00
Josh Gao
69a5939eae linker: update dependencies.
Remove dependencies that are now linked directly into
libdebuggerd_handler_fallback via whole_static_libraries.

Test: m
Change-Id: I00e2edb2778c2986c533f97708252aa0996d0498
2017-03-08 16:43:59 -08:00
Josh Gao
415daa8cca Increase signal stack size on 32-bit to 16kB.
snprintf to a buffer of length PATH_MAX consumes about 7kB of stack.

Bug: http://b/35858739
Test: bionic-unit-tests --gtest_filter="*big_enough*"
Change-Id: I34a7f42c1fd2582ca0d0a9b7e7a5290bc1cc19b1
2017-03-08 16:43:59 -08:00
Alex Klyubin
176cf1f65b Prefer property_contexts from /system & /vendor
This changes system_properties' initialize_properties to prefer
loading property_contexts from /system/etc/selinux &
/vendor/etc/selinux, while falling back to the pre-existing behavior
of loading from /.

Test: Device with *_property_contexts in / boots up fine, no denials
      to do with properties, getprop -Z lists correct labels.
Test: Device with *_property_contexts in /system & /vendor, but not
      in /, boots up fine, no denials to do with properties,
      getprop -Z lists correct labels.
Test: Device with *_property_contexts in /system & vendor and with
      empty *_property_contexts in / boots up fine, no denials to do
      with properties, getprop -Z lists correct labels.
Bug: 36002573

Change-Id: I15174acdf89ee8f5a96acf1e38a54d4214df51ef
2017-03-08 15:28:29 -08:00
Josh Gao
88829ae17b Merge "Fix leak of bionic TLS when threads are detached."
am: 77258163a2

Change-Id: If2dc487c82f5d0df0ab735e5a730d3cd31d87e87
2017-03-08 23:18:27 +00:00
Treehugger Robot
77258163a2 Merge "Fix leak of bionic TLS when threads are detached." 2017-03-08 23:13:14 +00:00
Joachim Sauer
d69f810350 Merge "Update timezone data to 2017a"
am: e429bf2f69

Change-Id: Ic0fff327a4065b40383274f71b968eae6b528212
2017-03-08 13:47:22 +00:00
Joachim Sauer
e429bf2f69 Merge "Update timezone data to 2017a" 2017-03-08 11:53:22 +00:00
Josh Gao
5450f86b31 Fix leak of bionic TLS when threads are detached.
__pthread_internal_free doesn't happen on threads that are detached,
causing the bionic TLS allocation (and guard pages) to be leaked.

Fix the leak, and name the allocations to make things apparent if this
ever happens again.

Bug: http://b/36045112
Test: manually ran a program that detached empty threads
Change-Id: Id1c7852b7384474244f7bf5a0f7da54ff962e0a1
2017-03-07 23:24:50 -08:00
Paul Lawrence
5f359c02fd Merge "Expand whitelist"
am: b012601299

Change-Id: Ibc1353e503019d505a3746ca3880affc7155eda8
2017-03-08 00:53:29 +00:00
Treehugger Robot
b012601299 Merge "Expand whitelist" 2017-03-08 00:48:56 +00:00
Paul Lawrence
34ddaaf256 Expand whitelist
Bug: 35879294
Test: Builds, boots. No easy test for reported issues.
Change-Id: Ib68a36f849a8dab14426600cdc6401fa8bb5b914
2017-03-07 15:23:08 -08:00
Dimitry Ivanov
01ad423c36 Merge "loader: anonymous ns initialization is not required"
am: f9f320ba73

Change-Id: I0b1b0ba2738cc39f0714a0d185046adc34e0d98b
2017-03-07 20:59:14 +00:00
Treehugger Robot
f9f320ba73 Merge "loader: anonymous ns initialization is not required" 2017-03-07 20:52:39 +00:00
Dimitry Ivanov
3e0821d7c2 loader: anonymous ns initialization is not required
Anonymous namesapce is zygote-specific workaround and
is not really required for other binaries.

This change allows creating namespaces without initializing
anonymous namespace.

Test: bionic-unit-tests
Change-Id: I62adc39ad69ce56b3760d36f45e3c0487c438598
2017-03-07 11:02:10 -08:00
Joachim Sauer
da2082d012 Update timezone data to 2017a
IANA changes:

   Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
   discontinues DST.

   Changes to future time stamps

     Mongolia no longer observes DST.  (Thanks to Ganbold Tsagaankhuu.)

     Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
     Its clocks diverge from America/Santiago starting 2017-05-13 at
     23:00, hiving off a new zone America/Punta_Arenas.  Although the
     Chilean government says this change expires in May 2019, for now
     assume it's permanent.  (Thanks to Juan Correa and Deborah
     Goldsmith.)  This also affects Antarctica/Palmer.

   Changes to past time stamps

     Fix many entries for historical time stamps for Europe/Madrid
     before 1979, to agree with tables compiled by Pere Planesas of the
     National Astronomical Observatory of Spain.  As a side effect,
     this changes some time stamps for Africa/Ceuta before 1929, which
     are probably guesswork anyway.  (Thanks to Steve Allen and
     Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
     correcting the 1901 transition.)

     Ecuador observed DST from 1992-11-28 to 1993-02-05.
     (Thanks to Alois Treindl.)

     Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
     (Thanks to Stepan Golosunov.)

   Changes to past and future time zone abbreviations

     Switch to numeric time zone abbreviations for South America, as
     part of the ongoing project of removing invented abbreviations.
     This avoids the need to invent an abbreviation for the new Chilean
     new zone.  Similarly, switch from invented to numeric time zone
     abbreviations for Afghanistan, American Samoa, the Azores,
     Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
     Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
     Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
     Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
     the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
     Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
     Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St
     Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore,
     Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and
     Xinjiang; for 20-minute daylight saving time in Ghana before 1943;
     for half-hour daylight saving time in Belize before 1944 and in
     the Dominican Republic before 1975; and for Canary Islands before
     1946, for Guinea-Bissau before 1975, for Iceland before 1969, for
     Indian Summer Time before 1942, for Indonesia before around 1964,
     for Kenya before 1960, for Liberia before 1973, for Madeira before
     1967, for Namibia before 1943, for the Netherlands in 1937-9, for
     Pakistan before 1971, for Western Sahara before 1977, and for
     Zaporozhye in 1880-1924.

     For Alaska time from 1900 through 1967, instead of "CAT" use the
     abbreviation "AST", the abbreviation commonly used at the time
     (Atlantic Standard Time had not been standardized yet).  Use "AWT"
     and "APT" instead of the invented abbreviations "CAWT" and "CAPT".

     Use "CST" and "CDT" instead of invented abbreviations for Macau
     before 1999 and Taiwan before 1938, and use "JST" instead of the
     invented abbreviation "JCST" for Japan and Korea before 1938.

Bug: 35861784
Test: CtsLibcoreTestCases / CtsBionicTestCases
Change-Id: I5e6bbdb93cb57f1b465913ba1b99572140400ef8
2017-03-07 13:49:53 +00:00
Dimitry Ivanov
4c6a43cb1d Merge "Remove g_default_ld_paths global variable"
am: 4dde93a73a

Change-Id: If37b5aa17de2229dc59555b824810798608ff6ac
2017-03-07 03:39:16 +00:00
Treehugger Robot
4dde93a73a Merge "Remove g_default_ld_paths global variable" 2017-03-07 03:36:03 +00:00
Dimitry Ivanov
77ad64267c Remove g_default_ld_paths global variable
Test: boot, run bionic-unit-tests
Change-Id: Id05d53475cbea6d62bd5fa1ab5e457ac82bab523
2017-03-06 13:02:29 -08:00
Elliott Hughes
df9f761a4d Merge "Generate both static and shared libseccomp_policy."
am: cdf19c84e8

Change-Id: Ie807df197332228fb86ba97dc909dcc61d478c8e
2017-03-04 00:33:31 +00:00
Elliott Hughes
cdf19c84e8 Merge "Generate both static and shared libseccomp_policy." 2017-03-04 00:20:13 +00:00
Christopher Ferris
11dc490722 Merge "Refactor the kernel update scripts."
am: b7e8fe5412

Change-Id: I902d43a8903c9a11bc9b41b18c2e5f8418ea0297
2017-03-03 23:43:49 +00:00
Christopher Ferris
b7e8fe5412 Merge "Refactor the kernel update scripts." 2017-03-03 23:40:12 +00:00
Paul Lawrence
7c6f83e79e Merge "Expand whitelist"
am: c7dde49ab0

Change-Id: I22c6b772900c0aac068ca857cc3aa17310407795
2017-03-03 21:08:08 +00:00
Treehugger Robot
c7dde49ab0 Merge "Expand whitelist" 2017-03-03 21:02:42 +00:00
Paul Lawrence
e6daf3f34a Expand whitelist
Bug: 35917228
Test: App now runs fine with setenforce 0
Change-Id: I039385e5d0e5105ec337c62dd098dd1662442a2e
2017-03-03 11:19:08 -08:00
Elliott Hughes
926add1593 Generate both static and shared libseccomp_policy.
Also switch to Android.bp

Bug: N/A
Test: builds
Change-Id: I33697a40b30d071f8d07aa33e1fb2b0c6e8a9f6d
2017-03-02 18:57:44 -08:00
Christopher Ferris
15d3fef0da Refactor the kernel update scripts.
The previous versions of the scripts did a lot of redundant changes
and were hard to follow.

I rewrote most of update_all.py so that it's clear about what's going on.

I updated clean_header.py to change the cleanupFile function so that
there is no magic about where the destination file is going to wind up.
Now the caller specifies the final location.

I updated utils.py so that if you are trying to do an update in one
location, but your lunch target is from another location, it causes
an error.

Bug: 35726570

Change-Id: Ic5a44d90c2774a627eecde34c0c403bc925a497c
Test: Ran the updater and verified it works properly.
Test: Verified that doing an update in one tree to another tree
Test: fails.
2017-03-02 15:21:42 -08:00
Paul Lawrence
892bbc7cbd Merge "Expand whitelist"
am: 5faa3166ce

Change-Id: I1a7ea74631e8fb72550d44639d307d18ee041dd6
2017-03-02 18:54:31 +00:00
Paul Lawrence
5faa3166ce Merge "Expand whitelist" 2017-03-02 18:48:47 +00:00
Paul Lawrence
7b4e7c4d55 Expand whitelist
Bug: 35906875
Test: Device boots, app runs further and fails with different error
Change-Id: I8df40ff85f8248504bca9a048510153970b31716
2017-03-02 18:48:13 +00:00
Victor Khimenko
869aed6b0f Merge "Stop using __system_property_area__"
am: 9e10b7fa44

Change-Id: I2b3add48f5d5e41e250a1024dab6fd8411447416
2017-03-01 21:51:00 +00:00
Victor Khimenko
9e10b7fa44 Merge "Stop using __system_property_area__" 2017-03-01 21:31:04 +00:00
Victor Khimenko
4a92ffd302 Stop using __system_property_area__
Apparently that "backdoor" is no longer needed - the proper way is
to reinitialize properties:
    https://android-review.googlesource.com/#/c/181794/24/tests/system_properties_test.cpp

Also removes mentions of libnativehelper test (it no longer uses
__system_property_area__) and removes useless "extern" declaration
(actual use was removed long ago).

Test: refactoring CL, existsing tests still pass

BUG=21852512
BUG=34114501

Change-Id: I2223cab2fcb671ea180ad4470a7aba5c9cd20bd8
2017-03-01 20:43:42 +01:00
Dimitry Ivanov
536d0341d7 Merge "Revert "Revert "Revert "Make libc.so global""""
am: ebceea8e85

Change-Id: I12848c7afa25fbe7b42946a1586f7a78e8af2464
2017-03-01 00:41:42 +00:00
Dimitry Ivanov
ebceea8e85 Merge "Revert "Revert "Revert "Make libc.so global"""" 2017-03-01 00:39:06 +00:00
Dimitry Ivanov
4021909162 Revert "Revert "Revert "Make libc.so global"""
This reverts commit 2a4d892c7f.

Bug: http://b/35417197
Bug: http://b/35338922
Bug: http://b/35700074
Test: manual
Change-Id: Ib99d23d46664f3efa5be70213aa093b505e38775
2017-02-28 21:05:34 +00:00
Paul Lawrence
9e82ae1fb1 Merge "Move seccomp policy to bionic"
am: d9e52fed2a

Change-Id: I4bf75eaebe4adacabda2c2b4cd8047b1103e6016
2017-02-28 15:41:01 +00:00
Treehugger Robot
d9e52fed2a Merge "Move seccomp policy to bionic" 2017-02-28 15:36:08 +00:00
Dimitry Ivanov
ea7961b604 Merge "Fix greylist exception to account for linked namespaces"
am: 6e528631d1

Change-Id: I639c4ac215359a5c3caa6b19a2cd59ace1ff1ca4
2017-02-28 00:47:49 +00:00
Treehugger Robot
6e528631d1 Merge "Fix greylist exception to account for linked namespaces" 2017-02-28 00:42:55 +00:00
Dan Albert
ce9b4eb5da Merge "Fix pre-L MB_CUR_MAX."
am: ca1fda834f

Change-Id: Ib6f2b309be4ce297577174fd0de8e624d37d37e2
2017-02-27 22:30:09 +00:00
Treehugger Robot
ca1fda834f Merge "Fix pre-L MB_CUR_MAX." 2017-02-27 22:22:27 +00:00
Dimitry Ivanov
35c8e3b125 Fix greylist exception to account for linked namespaces
Do not load second copy of libraries that are supposed to
be provided by linked namespaces. Also do not print
error in the log if caller tries to open shared library
using absolute path for apps targeting N+.

Bug: http://b/35454141
Bug: http://b/26833548
Bug: http://b/35338922
Test: run bionic-unit-tests --gtest_filter=dl*
Change-Id: Icf3aeedff18d287d2ba0b3df3808b100f3ef5f7a
2017-02-27 14:16:04 -08:00
Paul Lawrence
dfe8434a62 Move seccomp policy to bionic
Test: Built and checked booted
Change-Id: Iaec1265fe5a55c4df90ab9e45b010ef36faf6bba
2017-02-27 12:42:39 -08:00
Christopher Ferris
8b2654c1ef Merge "Update to kernel headers v4.10."
am: 5f41ce25c6

Change-Id: Ib466db6c56b442ac29b56878d19a4c926acf4911
2017-02-27 20:16:53 +00:00