Nick Kralevich
c68d6bcd8e
am 3b84e4bc: am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
...
* commit '3b84e4bcd020cb917067fa87e4a60a62c5c42928':
linker: never mark pages simultaneously writable / executable
2015-04-02 14:21:58 +00:00
Nick Kralevich
3b84e4bcd0
am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
...
* commit '3cc3f17aa4b241da7303299032e4269fcf92a4e6':
linker: never mark pages simultaneously writable / executable
2015-04-02 13:59:26 +00:00
Nick Kralevich
3cc3f17aa4
Merge "linker: never mark pages simultaneously writable / executable"
2015-04-02 13:29:50 +00:00
Yabin Cui
e69c24543d
Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
...
Bug: 19216648
Change-Id: I765ecacc9036659c766f5d1f6600e1a65364199b
2015-04-01 21:12:22 -07:00
Dan Albert
5856150605
am 004d0048: am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
...
* commit '004d004868613b9ad00453661838e0f372958dba':
Don't export new/delete from libc shared libraries.
2015-04-02 02:59:52 +00:00
Dimitry Ivanov
84f634469b
am b3c17a19: am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
...
* commit 'b3c17a196222cc09af98f095a0863fc048309fa7':
Revert "Remove text-relocation support for lp32"
2015-04-02 01:38:57 +00:00
Dan Albert
004d004868
am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
...
* commit 'ab7c79e22e5495a2aa171047a044ce1037e461a9':
Don't export new/delete from libc shared libraries.
2015-04-02 01:13:18 +00:00
Nick Kralevich
8fdb3419a5
linker: never mark pages simultaneously writable / executable
...
When the Android dynamic linker handles a text relocation,
it first relaxes the permissions on the segment being modified,
performs the modifications, and then restores the page permissions.
The relaxation worked by adding PROT_WRITE to whatever protection
bits were set in the section. In effect, the pages were getting set
to PROT_READ|PROT_WRITE|PROT_EXEC, modified, then restored to
PROT_READ|PROT_EXEC
The SELinux kernel code differentiates between 4 different kinds
of executable memory:
* Executable stack (execstack)
* Executable heap (execheap)
* File-based executable code which has been modified (execmod)
* All other executable memory (execmem)
The execmod capability is only triggered by the kernel when a
dirty but non-executable mmap()ed page becomes executable. When that
occurs, an SELinux policy check is done to see if the execmod capability
is provided by policy.
However, if the page is already executable, and PROT_WRITE is added
to the page, it's considered an execmem permission check, not an execmod
permission check.
There are certain circumstances where we may want to distinguish between
execmod and execmem. This change adjusts the dynamic linker to avoid
using RWX pages, so that an RX -> RW -> RX transition will properly
be detected as an execmod permission check instead of an execmem permission
check.
Bug: 20013628
Change-Id: I14d7be29170b156942f9809023f3b2fc1f37846c
2015-04-01 18:05:19 -07:00
Dan Albert
ab7c79e22e
Merge "Don't export new/delete from libc shared libraries."
2015-04-01 23:33:53 +00:00
Dan Albert
d6bf3d5e19
Don't export new/delete from libc shared libraries.
...
This used to be handled by -fvisibility=hidden on libc_cxa, but that
was broken by the resolution of https://llvm.org/PR22419 (introduced
to Android in today's clang update).
Now we just use a version script that prevents these from being
re-exported from our shared libraries.
Change-Id: Ib290e1d0d7426e09ad17a91178162fff6dbdcfa9
2015-04-01 16:31:57 -07:00
Elliott Hughes
08c16b17a1
am d4144fd7: am b023799a: Merge "Fix ftw tests when run as non-root."
...
* commit 'd4144fd700974911fc28e69174ec526d081ea902':
Fix ftw tests when run as non-root.
2015-04-01 22:09:30 +00:00
Elliott Hughes
ee7ec71284
am a031e93d: am d227d57d: Merge "Update README.md for running tests on the host."
...
* commit 'a031e93df3578f46507ce0efa3a40a6a391fd81f':
Update README.md for running tests on the host.
2015-04-01 22:09:26 +00:00
Dimitry Ivanov
b3c17a1962
am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
...
* commit '202af3a23cb23e2571011ea76367ff3e88dfd48e':
Revert "Remove text-relocation support for lp32"
2015-04-01 21:44:47 +00:00
Dimitry Ivanov
202af3a23c
Merge "Revert "Remove text-relocation support for lp32""
2015-04-01 21:28:29 +00:00
Dimitry Ivanov
56be6ed9e4
Revert "Remove text-relocation support for lp32"
...
This reverts commit cb00add1b382d1e3045876d7e1ccbee2fdce976b.
Bug: 20020312
Bug: 20013628
Change-Id: I8baa3d4b6c7fef50c9e2531257d5b96762099eb3
2015-04-01 21:18:48 +00:00
Elliott Hughes
d4144fd700
am b023799a: Merge "Fix ftw tests when run as non-root."
...
* commit 'b023799a6027924aad13b0f91c0b5b7f1b9cfe2d':
Fix ftw tests when run as non-root.
2015-04-01 19:48:51 +00:00
Elliott Hughes
a031e93df3
am d227d57d: Merge "Update README.md for running tests on the host."
...
* commit 'd227d57d50f7a5251dbbfa3f2b41d3fe882851fa':
Update README.md for running tests on the host.
2015-04-01 19:37:45 +00:00
Elliott Hughes
b023799a60
Merge "Fix ftw tests when run as non-root."
2015-04-01 19:32:15 +00:00
Elliott Hughes
0ad256c1b2
Fix ftw tests when run as non-root.
...
Root can create subdirectories inside non-writable directories, but
other users can't.
Change-Id: I102fe610d1bd2733aebf184b544e58612465287d
2015-04-01 12:22:40 -07:00
Elliott Hughes
d227d57d50
Merge "Update README.md for running tests on the host."
2015-04-01 19:20:09 +00:00
Elliott Hughes
d3d018b2b4
Update README.md for running tests on the host.
...
Change-Id: Ib360d91bffd269e7acdb20ad33a7bd85345a1475
2015-04-01 12:16:56 -07:00
Dmitriy Ivanov
fd5f718d6e
am b3f8daab: am 61a35fa4: Merge "Remove text-relocation support for lp32"
...
* commit 'b3f8daab591fef3eabb8f9151334bb4a5c6eafda':
Remove text-relocation support for lp32
2015-04-01 02:32:07 +00:00
Mark Salyzyn
80416cca09
am 64226a48: am 8f41142c: Merge "stubs missing include for string.h"
...
* commit '64226a48a1e9b25bb6985c9c14097d400039be35':
stubs missing include for string.h
2015-04-01 02:32:05 +00:00
Elliott Hughes
1fe8a49ed4
am c325dfdd: am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
...
* commit 'c325dfdd8e44d4124e7122b1435ba66287ef6e08':
Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 02:32:03 +00:00
Christopher Ferris
0ddef60c42
am 8f604eb4: am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
...
* commit '8f604eb4097ae6e0ac89981fe2ff85a9c22d3a4c':
Upgrade kernel headers to 3.18.10.
2015-04-01 02:32:01 +00:00
Dmitriy Ivanov
b3f8daab59
am 61a35fa4: Merge "Remove text-relocation support for lp32"
...
* commit '61a35fa40c898dc08c28c9da8b174ba5d5614579':
Remove text-relocation support for lp32
2015-04-01 01:51:51 +00:00
Mark Salyzyn
64226a48a1
am 8f41142c: Merge "stubs missing include for string.h"
...
* commit '8f41142cd631bdd8bf02dcfbb599e5edbfcbd67e':
stubs missing include for string.h
2015-04-01 01:40:57 +00:00
Elliott Hughes
c325dfdd8e
am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
...
* commit '72035734af2d8558a3ccd7e29626216e20aed6f2':
Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 01:40:56 +00:00
Dmitriy Ivanov
61a35fa40c
Merge "Remove text-relocation support for lp32"
2015-04-01 01:37:46 +00:00
Christopher Ferris
8f604eb409
am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
...
* commit '89a4a54104d566bbfd226ed1e3abcf047b871690':
Upgrade kernel headers to 3.18.10.
2015-04-01 01:32:54 +00:00
Mark Salyzyn
8f41142cd6
Merge "stubs missing include for string.h"
2015-04-01 00:55:19 +00:00
Elliott Hughes
72035734af
Merge "Make ThreadLocalBuffer a class rather than a macro."
2015-04-01 00:51:57 +00:00
Dmitriy Ivanov
cb00add1b3
Remove text-relocation support for lp32
...
Bug: 20013628
Change-Id: Idaf8012f00ee1304d429c3b42f9ebc6b648c55b8
2015-03-31 17:42:45 -07:00
Mark Salyzyn
56b2768176
stubs missing include for string.h
...
stubs.cpp gets string.h inherited from private/android_filesystem_config.h
it should not rely on this in the future. The intent is to move fs_config
function into libcutils and thus deprecate any need for string.h in this
include file.
Change-Id: I946ec1979ef5bbb34fbcb4a99bf2cd79280bb2a3
2015-03-31 16:58:35 -07:00
Dmitriy Ivanov
41b70f5374
am d7d6d13b: am 52a0f014: Merge "Fix long lines and replace macros with functions."
...
* commit 'd7d6d13be8565a7d2fb43ecc8c60b0d627bb9dc1':
Fix long lines and replace macros with functions.
2015-03-31 23:01:04 +00:00
Christopher Ferris
89a4a54104
Merge "Upgrade kernel headers to 3.18.10."
2015-03-31 22:37:05 +00:00
Christopher Ferris
e01d32f802
Upgrade kernel headers to 3.18.10.
...
Change-Id: Iff1f1c830780585990856a5114b559c61282dcd6
2015-03-31 14:57:48 -07:00
Dmitriy Ivanov
d7d6d13be8
am 52a0f014: Merge "Fix long lines and replace macros with functions."
...
* commit '52a0f01421fde3cd4f879b491a9f491d792fa2d5':
Fix long lines and replace macros with functions.
2015-03-31 20:28:51 +00:00
Dmitriy Ivanov
52a0f01421
Merge "Fix long lines and replace macros with functions."
2015-03-31 20:19:53 +00:00
Dmitriy Ivanov
20d89cb5b0
Fix long lines and replace macros with functions.
...
Change-Id: I4e1cab488d5b2c8e4289da617350a86e72a4ba12
2015-03-31 11:49:25 -07:00
Elliott Hughes
6170693e28
Make ThreadLocalBuffer a class rather than a macro.
...
Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705
2015-03-31 10:56:58 -07:00
Yabin Cui
934eca1cb4
am e58918f7: am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
...
* commit 'e58918f73aec07d0d3e857718f90e6282ce0056b':
Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:49:32 +00:00
Yabin Cui
e58918f73a
am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
...
* commit '611fd2cc91f79be6759f6e630e1e81998326dfe8':
Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:36:45 +00:00
Yabin Cui
611fd2cc91
Merge "Revert "Revert "add guard pages to the internal signal stacks"""
2015-03-31 04:24:08 +00:00
Yabin Cui
ef11500301
Revert "Revert "add guard pages to the internal signal stacks""
...
This reverts commit a3125fd1396a09a7fc4872dc4653f342150a3deb.
And Fix the prctl() problem that cause system crash.
Change-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd
2015-03-30 20:51:39 -07:00
Elliott Hughes
558f6b0177
am 85f42bd3: am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
...
* commit '85f42bd31b55b83df7503480673a1d3112e50291':
Revert "add guard pages to the internal signal stacks"
2015-03-31 03:07:18 +00:00
Elliott Hughes
832253b966
am 0c2b7a72: am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
...
* commit '0c2b7a72af0c64d3d3cf33311be99a4f25e01a29':
Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 03:07:16 +00:00
Elliott Hughes
85f42bd31b
am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
...
* commit '8225ad63fac7c5cc298884c101a344959b87dc39':
Revert "add guard pages to the internal signal stacks"
2015-03-31 02:54:14 +00:00
Elliott Hughes
0c2b7a72af
am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
...
* commit '2746b9289abc0fd5e38b94fc96d101e5e242d9f2':
Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 02:54:11 +00:00
Elliott Hughes
8225ad63fa
Merge "Revert "add guard pages to the internal signal stacks""
2015-03-31 02:42:51 +00:00