Commit graph

18760 commits

Author SHA1 Message Date
Treehugger Robot
5b45d2fec8 Merge "POSIX says SEM_FAILED shall have type sem_t*." 2016-08-12 18:42:44 +00:00
Treehugger Robot
f135e4e56b Merge "POSIX says <fcntl.h> makes SEEK_* visible." 2016-08-12 18:35:17 +00:00
Dimitry Ivanov
3c2f0a2c39 Merge "linker: disallow W + E PT_LOAD segments"
am: e8087022c1

Change-Id: I1732f395e90b4589720b3be89084ea1bd287c18d
2016-08-12 17:59:38 +00:00
Dimitry Ivanov
e8087022c1 Merge "linker: disallow W + E PT_LOAD segments" 2016-08-12 17:55:36 +00:00
Elliott Hughes
c1d06e4655 Merge "Add two missing POSIX constant-only headers."
am: 0e1b92af2f

Change-Id: Ifc4d9e82b2ecdc5b0d7394503b12e9985923ac52
2016-08-12 17:49:01 +00:00
Treehugger Robot
0e1b92af2f Merge "Add two missing POSIX constant-only headers." 2016-08-12 17:42:12 +00:00
Elliott Hughes
e43778880e POSIX says IPPORT_RESERVED is in <netdb.h>.
In <netdb.h>:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netdb.h.html

Not in <netinet/in.h>:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html

Change-Id: Ie34cdb80eeb1443cf292944f3c68d8383aee2295
2016-08-12 10:38:35 -07:00
Elliott Hughes
95b0680cde POSIX says SEM_FAILED shall have type sem_t*.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/semaphore.h.html

(Even if it didn't, this header previously referred to NULL without ensuring
that NULL was actually visible.)

Change-Id: I70577f4afc21f32c9e585076986127899ef8c8c1
2016-08-12 10:28:52 -07:00
Elliott Hughes
c5537889f5 POSIX says <locale.h> makes NULL visible.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html

Change-Id: I81a600153738dff6ce3d9cde95c787b71d81a368
2016-08-12 10:28:08 -07:00
Elliott Hughes
fb94c6396e Merge "Use sysinfo(2) to implement more of <sys/sysinfo.h>."
am: b17d845d9b

Change-Id: I68e9be7428268bf0f3bd54d8e14647aa89debc4e
2016-08-12 17:18:51 +00:00
Elliott Hughes
fd936ae025 POSIX says <fcntl.h> makes SEEK_* visible.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/fcntl.h.html

We already had two copies of these constants, so time to factor them out
into bits/.

Change-Id: I213c0d2372e41463593f878d338002b8eaa918cd
2016-08-12 10:16:34 -07:00
Treehugger Robot
b17d845d9b Merge "Use sysinfo(2) to implement more of <sys/sysinfo.h>." 2016-08-12 17:07:41 +00:00
Elliott Hughes
48bfc6e0df Add two missing POSIX constant-only headers.
Change-Id: Ic175635a0edc16f9354445adeb7b90837d3e858b
2016-08-12 09:28:17 -07:00
Elliott Hughes
8197aca7f2 Fix recvfrom prototype.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html

Change-Id: Iba203c74045c88e53e28c2e0c8bc1f9ac63ce23e
2016-08-12 09:20:07 -07:00
Elliott Hughes
02ac028bf7 Fix pthread_barrierattr_getpshared prototype.
As http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_barrierattr_getpshared.html
is my witness, there's a missing `const` here.

Change-Id: Ifd68188fb952460b64d144bdc21a53bc40ed82a7
2016-08-11 23:18:13 -07:00
Dimitry Ivanov
9700babc05 linker: disallow W + E PT_LOAD segments
No mapped segment from the elf file can be writable and
executable at the same time. This commit adds a check
for malformed PT_LOAD segments in the elf-files.

Bug: http://b/30146890
Test: run bionic-unit-tests --gtest_filter=dlfcn.*
Change-Id: Ia23acbe5a48780b65d7e4a50bbe024cd528079f4
2016-08-11 17:24:47 -07:00
Elliott Hughes
2ce52afba4 Merge "dlerror returns char*, not const char*."
am: 166f875eab

Change-Id: Ice8f136b647d9e343dfacfde71ce095a5fd25024
2016-08-11 23:33:58 +00:00
Treehugger Robot
166f875eab Merge "dlerror returns char*, not const char*." 2016-08-11 23:16:59 +00:00
Elliott Hughes
5e071a18ce dlerror returns char*, not const char*.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlerror.html:

    char *dlerror(void);
    ...
    The application shall not modify the string returned.

Change-Id: I5e684bfd3930c39a2a30ea6fd005a5d5d3e5b181
2016-08-11 15:02:45 -07:00
Elliott Hughes
c508de0e41 Use sysinfo(2) to implement more of <sys/sysinfo.h>.
We already had implementations of some of the functions, and I didn't
bother rewriting them when we added sysinfo(2). Ross Anderson said in
https://www.lightbluetouchpaper.org/2016/07/29/yet-another-android-side-channel/
that we should "simply disable access to all procfs files", which made
me curious how many places we use /proc in bionic. This is the one that's
obviously unnecessary. The others I'm not aware of alternative APIs for.

Change-Id: Ia64f36b76f29a7a1dd67845270a5472e121aae10
2016-08-11 14:51:31 -07:00
Dimitry Ivanov
6b94ab9724 Merge "linker: use stat(2) to check file existence"
am: c623e7efc9

Change-Id: I05b28d10a1183f8ee4e7c711f6efc68cc4556326
2016-08-11 19:59:40 +00:00
Dimitry Ivanov
c623e7efc9 Merge "linker: use stat(2) to check file existence" 2016-08-11 19:53:02 +00:00
Dimitry Ivanov
4cf7024db7 linker: use stat(2) to check file existence
open(2) can be used to open directories; use stat to
check that the file exists and is a regular file.

Addresses review comments for 5aa67675f8

Bug: http://b/30320104
Change-Id: Ia944db2f2f779a87ea01dd41dcd171e59c9bef01
2016-08-11 11:11:52 -07:00
Dimitry Ivanov
2fa91f4df8 Merge "linker_asan: Translate absolute dlopen paths to use asan-libraries."
am: cea35d77a2

Change-Id: I54283bd5694b0480ced971d4602c91f8f18c18d7
2016-08-11 17:44:01 +00:00
Treehugger Robot
cea35d77a2 Merge "linker_asan: Translate absolute dlopen paths to use asan-libraries." 2016-08-11 17:38:07 +00:00
Dimitry Ivanov
45d25ca728 linker_asan: Translate absolute dlopen paths to use asan-libraries.
This patch enables absolute path translation to instrumented library
when linker_asan is in use.

Test: adb shell cat /proc/<rlid pid>/maps | grep libril-qc-qmi-1.so
      check that it is mapped from /data/vendor/lib64 and not /vendor/lib64
Bug: http://b/30320104
Change-Id: I3bc24754b192afc0a72d6f3801f7b42141ce715b
(cherry picked from commit 5aa67675f8)
2016-08-10 21:37:50 -07:00
Dan Albert
bcb80b2b18 Merge "Add ndk_library for libdl."
am: 4519a4d182

Change-Id: I6648c5c60d59b8002433b5157d452460d50065b5
2016-08-11 01:37:37 +00:00
Josh Gao
4aa98a3d3f Merge "Add __attribute__((sentinel)) tags to execl and friends."
am: 32a2e137a5

Change-Id: I9edad7b6fa639012f6a94501a33bdbc70540cd77
2016-08-11 01:35:11 +00:00
Treehugger Robot
4519a4d182 Merge "Add ndk_library for libdl." 2016-08-11 01:33:31 +00:00
Treehugger Robot
32a2e137a5 Merge "Add __attribute__((sentinel)) tags to execl and friends." 2016-08-11 01:19:23 +00:00
Dimitry Ivanov
62ad07d253 Merge "Check alignment along with range of mapped file fragments"
am: 3e35b26704

Change-Id: I6d81b0ca1903c466ba1420671ff700a4c0a1b0d8
2016-08-11 01:03:04 +00:00
Treehugger Robot
3e35b26704 Merge "Check alignment along with range of mapped file fragments" 2016-08-11 00:46:33 +00:00
Elliott Hughes
fdcf8ed651 Merge "Move brillo closer to Android."
am: 299e501419

Change-Id: I0a0136336bfe75532d4c37fb6242a80b293702ca
2016-08-11 00:11:33 +00:00
Elliott Hughes
4fe10a4c89 Merge "Remove __static_cast macro from <sys/cdefs.h>."
am: 18af5bfa5d

Change-Id: If2188445e057543a7bdc3530c60697197a90f623
2016-08-11 00:11:31 +00:00
Treehugger Robot
299e501419 Merge "Move brillo closer to Android." 2016-08-10 23:59:19 +00:00
Treehugger Robot
18af5bfa5d Merge "Remove __static_cast macro from <sys/cdefs.h>." 2016-08-10 23:58:12 +00:00
Elliott Hughes
38dba2e7e1 Fix sysconf(_SC_ARG_MAX).
ARG_MAX hasn't been a constant since Linux 2.6.23.

Bug: http://lists.landley.net/pipermail/toybox-landley.net/2016-August/008592.html
Change-Id: I1eddb562751604c75b89fa610d79be0655c53693
Test: ran the bionic tests on device and against glibc
2016-08-10 15:51:06 -07:00
Josh Gao
d80a52eb65 Add __attribute__((sentinel)) tags to execl and friends.
Give a compile time diagnostic when the nullptr sentinel is missing
from an execl family call, instead of just pulling arbitrary values.

Bug: http://b/30793878
Change-Id: I1c49005c58b7ad4a5b04f0435b722d4c744e8f0e
Test: Built bullhead
2016-08-10 15:26:41 -07:00
Elliott Hughes
732a173505 Merge "Fortify vsnprintf in more cases."
am: af211ab23f

Change-Id: Iccd96387222637d1a4c8eed4507ad8b5d21a16fb
2016-08-10 21:26:50 +00:00
Elliott Hughes
d1dd7c58b4 Remove __static_cast macro from <sys/cdefs.h>.
We don't use it, and we added the more general __BIONIC_CAST anyway.

Change-Id: I2cb8a108b58bb2cb24ed2b1890d9efed671196dc
2016-08-10 14:18:01 -07:00
Elliott Hughes
af211ab23f Merge "Fortify vsnprintf in more cases." 2016-08-10 21:11:10 +00:00
Elliott Hughes
5ffed9b856 Move brillo closer to Android.
Hiding our legacy cruft seemed like a good idea, but in practice it will only
mean worse interoperability.

Plus we got it wrong, as the recent `putw` example showed.

Change-Id: I167c7168eff133889028089c22a7a0dfb8d6d0cf
2016-08-10 14:08:31 -07:00
Elliott Hughes
fb3873d4db Fortify vsnprintf in more cases.
Bug: http://b/30445072
Change-Id: I1893890f0e3b56533eef053eda1bd96a0b9a5119
2016-08-10 11:50:12 -07:00
Dimitry Ivanov
bd90675111 Check alignment along with range of mapped file fragments
Improve sanity-checks of elf-file by adding alignment check
of mapped sections and section headers.

Bug: http://b/30687964
Change-Id: I7f06ddaa56a13989ce7be847b3a73c352e32c008
(cherry picked from commit 7e2d49ae3e)
2016-08-10 10:52:55 -07:00
Elliott Hughes
b9243aa868 Merge "Remove more stdio copy/paste."
am: f5042cab10

Change-Id: Iba5e72719d3cb0c7eac85dc83d1ba49a05fcdc78
2016-08-10 00:49:38 +00:00
Treehugger Robot
f5042cab10 Merge "Remove more stdio copy/paste." 2016-08-10 00:43:39 +00:00
Elliott Hughes
53cf348c82 Remove more stdio copy/paste.
Change-Id: Ia92629b75d2c153ecf1cec711e2f9575eef604ab
2016-08-09 16:27:23 -07:00
Dimitry Ivanov
430c64f8d1 Merge "linker: fix mips build"
am: ce11d26bd7

Change-Id: Ic61331efa9e3b721febbf8794b22458c740bacc5
2016-08-09 15:27:00 +00:00
Treehugger Robot
ce11d26bd7 Merge "linker: fix mips build" 2016-08-09 15:20:38 +00:00
Dimitry Ivanov
576a375bc2 linker: fix mips build
Change-Id: I88c5ba7f33825ae9b36992b32d30579ec4a66915
Test: lunch aosp_mips-eng && mm
2016-08-09 06:58:55 -07:00