Hans Boehm
a1709d5269
Merge "Make RefBase more robust and debuggable" am: daac359be7 am: 7bf3d21fde am: 7dddf9433c
...
am: 2d3545fe82
Change-Id: I65537ec0db45b05f96dae43b8f4a91bd4af2d39b
2016-08-25 00:14:54 +00:00
Hans Boehm
2d3545fe82
Merge "Make RefBase more robust and debuggable" am: daac359be7 am: 7bf3d21fde
...
am: 7dddf9433c
Change-Id: Ia8bdef250b29d964a9ab07c450da31a368bb3143
2016-08-24 23:52:14 +00:00
Hans Boehm
7dddf9433c
Merge "Make RefBase more robust and debuggable" am: daac359be7
...
am: 7bf3d21fde
Change-Id: I643c4bd38062b80d382c50ed161f5440f35c1dd9
2016-08-24 23:49:14 +00:00
Hans Boehm
daac359be7
Merge "Make RefBase more robust and debuggable"
2016-08-24 23:36:13 +00:00
Andy Hung
e131ea2a25
Fix Mutex::timedLock to properly handle relative time am: 604ba48220 am: 708b9d118a am: 47e5ca61e2
...
am: 8ec6753d61
Change-Id: Ia281e33c13df240baf0c2bb187b0c13fefdeff8e
2016-08-24 23:08:27 +00:00
Andy Hung
8ec6753d61
Fix Mutex::timedLock to properly handle relative time am: 604ba48220 am: 708b9d118a
...
am: 47e5ca61e2
Change-Id: I5c351fbdc485acbcb33426b99ea6b900519ee0e3
2016-08-24 22:50:00 +00:00
Andy Hung
604ba48220
Fix Mutex::timedLock to properly handle relative time
...
Bug: 31008450
Change-Id: Ie6c17e17b7a8c3d8a087c47be535e9d04f285380
2016-08-24 22:29:11 +00:00
Mark Salyzyn
0b6f5ea819
Merge "liblog: add __android_log_close()" am: 812d1c7ea2 am: 6322efe522 am: ed421af68d
...
am: e5bda4d0ec
Change-Id: Ie8f6b6f866575f830ea3526d39fbedcb4e9795b3
2016-08-24 16:18:56 +00:00
Mark Salyzyn
309122d798
Merge "logger: validate hdr_size field in logger entry" am: fcf7ab8b1b am: 2d562c9dce am: 098b5887c6
...
am: af3623281f
Change-Id: I517e59cd638b8d1525b1ae6798af50bd8ca6f1ff
2016-08-24 16:18:56 +00:00
Mark Salyzyn
e60a17a9db
Merge "libcutils: Add ashmem_valid() function" am: d00c7470ea am: 8b1f7b595c am: da07f7880c
...
am: 8e5cb037c4
Change-Id: Ic2a5ed0ddc1c506d486a3dd5c86880b6c181b5b4
2016-08-24 16:18:55 +00:00
Mark Salyzyn
e5bda4d0ec
Merge "liblog: add __android_log_close()" am: 812d1c7ea2 am: 6322efe522
...
am: ed421af68d
Change-Id: Ifacd3de810c30a9b79cb262ab4c2432d8b1c0791
2016-08-24 16:10:09 +00:00
Mark Salyzyn
af3623281f
Merge "logger: validate hdr_size field in logger entry" am: fcf7ab8b1b am: 2d562c9dce
...
am: 098b5887c6
Change-Id: I4d067039a766e7079a91eb56d2ffb8d68aba58b5
2016-08-24 16:10:08 +00:00
Mark Salyzyn
ed421af68d
Merge "liblog: add __android_log_close()" am: 812d1c7ea2
...
am: 6322efe522
Change-Id: Ib61d4ec5102fcfb12c48250c019fcdf019c2ffc5
2016-08-24 16:07:39 +00:00
Mark Salyzyn
098b5887c6
Merge "logger: validate hdr_size field in logger entry" am: fcf7ab8b1b
...
am: 2d562c9dce
Change-Id: I5721e8614079a04c2dc364304d0ffed10d74be90
2016-08-24 16:07:38 +00:00
Mark Salyzyn
6322efe522
Merge "liblog: add __android_log_close()"
...
am: 812d1c7ea2
Change-Id: I2ba5ed22e78564a864bab6b550b6d2bd2609a629
2016-08-24 16:05:05 +00:00
Mark Salyzyn
2d562c9dce
Merge "logger: validate hdr_size field in logger entry"
...
am: fcf7ab8b1b
Change-Id: Ic88fe616256ab4949040771d3bed1dfb823ab981
2016-08-24 16:05:04 +00:00
Treehugger Robot
812d1c7ea2
Merge "liblog: add __android_log_close()"
2016-08-24 15:58:48 +00:00
Treehugger Robot
fcf7ab8b1b
Merge "logger: validate hdr_size field in logger entry"
2016-08-24 15:56:23 +00:00
Mark Salyzyn
8e5cb037c4
Merge "libcutils: Add ashmem_valid() function" am: d00c7470ea am: 8b1f7b595c
...
am: da07f7880c
Change-Id: I3a4cf9a2cd848aae04ec3e88ae1e50a51774cd5f
2016-08-24 15:54:08 +00:00
Mark Salyzyn
da07f7880c
Merge "libcutils: Add ashmem_valid() function" am: d00c7470ea
...
am: 8b1f7b595c
Change-Id: I1be0fc5d74c609ec42578c29c7af9d897708f8c6
2016-08-24 15:51:08 +00:00
Mark Salyzyn
8b1f7b595c
Merge "libcutils: Add ashmem_valid() function"
...
am: d00c7470ea
Change-Id: Ib09d3ee7bb131c30f59ea273f357c045394206fb
2016-08-24 15:48:55 +00:00
Mark Salyzyn
ee431112ff
libcutils: Add ashmem_valid() function
...
Bug: 30310689
Change-Id: I14c52c5d52745a725799652b87c86281ac214899
2016-08-23 15:29:28 -07:00
Mark Salyzyn
df7a4c6bae
liblog: add __android_log_close()
...
Bug: 30963384
Change-Id: I901e6ac2cc3c601bbecc2d64e00a98e2ab448210
2016-08-23 15:25:03 -07:00
Mark Salyzyn
305374cf0f
logger: validate hdr_size field in logger entry
...
- check hdr_size to make sure it is in the expected range
from sizeof entry_v1 to entry (entry_v4).
- alter msg() method to report NULL on invalid hdr_size
- alter all users of msg() method.
Bug: 30947841
Change-Id: I9bc1740d7aa9f37df5be966c18de1fb9de63d5dd
2016-08-23 14:51:50 -07:00
Connor O'Brien
7d7f5399d4
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4 am: e04054d9bb am: 9745b11db1 am: 2f78b2c3d6 am: 2b5e6d8ffc am: 2427a462c0 am: 6b155c1cc4 am: 2f16eeede6
...
am: 233c9902cf
Change-Id: Idc2f2b967a890489769cda203d8ed7b73eb6a303
2016-08-19 22:57:38 +00:00
Connor O'Brien
233c9902cf
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4 am: e04054d9bb am: 9745b11db1 am: 2f78b2c3d6 am: 2b5e6d8ffc am: 2427a462c0 am: 6b155c1cc4
...
am: 2f16eeede6
Change-Id: I3d2fdfc10f91080ca32aa6557b13391355427edc
2016-08-19 22:53:32 +00:00
Connor O'Brien
af8d67e032
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4 am: e04054d9bb am: 9745b11db1 am: 2f78b2c3d6 am: 2b5e6d8ffc am: 2427a462c0 am: 6b155c1cc4
...
am: 2f16eeede6
Change-Id: I272469151a3680acfc2203a0f3aac79a319a1d06
2016-08-19 22:53:32 +00:00
Connor O'Brien
2f16eeede6
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4 am: e04054d9bb am: 9745b11db1 am: 2f78b2c3d6 am: 2b5e6d8ffc am: 2427a462c0
...
am: 6b155c1cc4
Change-Id: Ie6c2bcee1deacb94259a6153097757674fa19251
2016-08-19 22:50:00 +00:00
Connor O'Brien
2f78b2c3d6
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4 am: e04054d9bb
...
am: 9745b11db1
Change-Id: I61f685976803f51db9ba85729554fc14efaa4b2c
2016-08-19 22:36:29 +00:00
Connor O'Brien
9745b11db1
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a am: b906ad88b9 am: 2fadbb93a4
...
am: e04054d9bb
Change-Id: Ia5f46e5b9622946ca0e44fbe7399729807d2d08a
2016-08-19 22:34:46 +00:00
Connor O'Brien
2fadbb93a4
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c am: 109024f74a
...
am: b906ad88b9
Change-Id: Ida2b33bd1db284dfa8ad3f130219481a92785e97
2016-08-19 22:14:57 +00:00
Connor O'Brien
b906ad88b9
Fix vold vulnerability in FrameworkListener am: 470484d2a2 am: e9e046df6c
...
am: 109024f74a
Change-Id: Ia6e8dca36bc28d442a6e374ecf033b79176f4b93
2016-08-19 22:11:27 +00:00
Connor O'Brien
109024f74a
Fix vold vulnerability in FrameworkListener am: 470484d2a2
...
am: e9e046df6c
Change-Id: I8f2452782817ddf03051af08e70ba9d4c4fa578a
2016-08-19 22:08:22 +00:00
Connor O'Brien
470484d2a2
Fix vold vulnerability in FrameworkListener
...
Modify FrameworkListener to ignore commands that exceed the maximum
buffer length and send an error message.
Bug: 29831647
Change-Id: I9e57d1648d55af2ca0191bb47868e375ecc26950
Signed-off-by: Connor O'Brien <connoro@google.com>
(cherry picked from commit baa126dc15 )
2016-08-19 17:05:25 +00:00
Dmitriy Filchenko
6e2743ec04
Merge "Remove process_name.c" am: e5b7ad1c39 am: 97e3cb7074 am: de9e6fb4b0
...
am: ceca7afbc7
Change-Id: I1289ed62739c0972497cd4438c99a7c06a179f73
2016-08-19 01:39:06 +00:00
Dmitriy Filchenko
ceca7afbc7
Merge "Remove process_name.c" am: e5b7ad1c39 am: 97e3cb7074
...
am: de9e6fb4b0
Change-Id: I402ab55567532786d61412e7c567e2da5fbc800b
2016-08-19 01:36:31 +00:00
Dmitriy Filchenko
de9e6fb4b0
Merge "Remove process_name.c" am: e5b7ad1c39
...
am: 97e3cb7074
Change-Id: I8ddeceadedd4ca689d96f3a854ba34f31d16683f
2016-08-19 01:33:31 +00:00
Dmitriy Filchenko
97e3cb7074
Merge "Remove process_name.c"
...
am: e5b7ad1c39
Change-Id: I8f98f5fe9ff526ed8780971eddef128ed46de271
2016-08-19 01:30:34 +00:00
Dmitriy Filchenko
1bb49f483b
Remove process_name.c
...
BUG: 29824203
Change-Id: I88d67cafb8ec0c4eea3db047bac0671de698ba02
2016-08-18 23:54:46 +00:00
Connor O'Brien
baa126dc15
Fix vold vulnerability in FrameworkListener
...
Modify FrameworkListener to ignore commands that exceed the maximum
buffer length and send an error message.
Bug: 29831647
Change-Id: I9e57d1648d55af2ca0191bb47868e375ecc26950
Signed-off-by: Connor O'Brien <connoro@google.com>
2016-08-18 14:52:39 -07:00
Hans Boehm
23c857ebd6
Make RefBase more robust and debuggable
...
This prevents two different kinds of client errors from causing
undetected memory corruption, and helps with the detection of others:
1. We no longer deallocate objects when the weak count goes to zero
and there have been no strong references. This otherwise causes
us to return a garbage object from a constructor if the constructor
allocates and deallocates a weak pointer to this. And we do know
that clients allocate such weak pointers in constructors and their
lifetime is hard to trace.
2. We abort if a RefBase object is explicitly destroyed while
the weak count is nonzero. Otherwise a subsequent decrement
would cause a write to potentially reallocated memory.
3. We check counter values returned by atomic decrements for
plausibility, and fail immediately if they are not plausible.
We unconditionally log any cases in which 1 changes behavior
from before. We abort in cases in which 2 changes behavior, since
those reflect clear bugs.
In case 1, a log message now indicates a possible leak. We have
not seen such a message in practice.
The third point introduces a small amount of overhead into the
reference count decrement path. But this should be negligible
compared to the actual decrement cost.
Add a test for promote/attemptIncStrong that tries to check for
both (1) above and concurrent operation of attemptIncStrong.
Add some additional warnings and explanations to the RefBase
documentation.
Bug: 30503444
Bug: 30292291
Bug: 30292538
Change-Id: Ida92b9a2e247f543a948a75d221fbc0038dea66c
2016-08-13 11:17:51 -07:00
Hans Boehm
9fb33735be
Merge "Improve RefBase documentation, especially for clients." am: 0f39fe22ae am: df6c464e9a am: f997434b06
...
am: e725c79831
Change-Id: Idbc29ea28c0a63a35340b052a30b0106f8eae46d
2016-08-10 16:33:00 +00:00
Hans Boehm
e725c79831
Merge "Improve RefBase documentation, especially for clients." am: 0f39fe22ae am: df6c464e9a
...
am: f997434b06
Change-Id: I6eb6670d6b73c9a77a56294a9bdca9229bdc98a3
2016-08-10 16:29:59 +00:00
Hans Boehm
f997434b06
Merge "Improve RefBase documentation, especially for clients." am: 0f39fe22ae
...
am: df6c464e9a
Change-Id: I8fa12835ff648d78c68265facb5b63ca7b1eab6a
2016-08-10 16:26:59 +00:00
Hans Boehm
df6c464e9a
Merge "Improve RefBase documentation, especially for clients."
...
am: 0f39fe22ae
Change-Id: I804989b192142dc9d69ca36f0122079822625e7e
2016-08-10 16:24:01 +00:00
Hans Boehm
0f39fe22ae
Merge "Improve RefBase documentation, especially for clients."
2016-08-10 16:16:22 +00:00
Hans Boehm
9ba7192c1f
Improve RefBase documentation, especially for clients.
...
Add basic interface documentation to RefBase.h.
Much, but not all, of this is cut-and-pasted from an email message
from Mathias Agopian. The rest is reconstructed from the code.
Delete some, now redundant, text from Refbase.cpp, and add a bit
more about the implementation strategy.
Some minor fixes to internal comments.
Bug: 30292291
Change-Id: I56518ae5553bc6de0cc2331778e7fcf2e6c4fd87
2016-08-09 15:12:19 -07:00
Chih-Hung Hsieh
94aa3aaee0
Merge "Fix google-explicit-constructor warnings in utils." am: 5b7e3b9a2a am: 4d031d6358 am: e1fff2572c
...
am: d8ced2029b
Change-Id: Ie0092027487b3089b6602c53fd73f6e95b881a85
2016-08-04 21:55:59 +00:00
Chih-Hung Hsieh
d8ced2029b
Merge "Fix google-explicit-constructor warnings in utils." am: 5b7e3b9a2a am: 4d031d6358
...
am: e1fff2572c
Change-Id: I5c75363a555fd31aa587ca7cb5905e928148a19f
2016-08-04 21:53:19 +00:00
Chih-Hung Hsieh
e1fff2572c
Merge "Fix google-explicit-constructor warnings in utils." am: 5b7e3b9a2a
...
am: 4d031d6358
Change-Id: I89352ced43afd415aefe2b8e45dd9fdd76dc0551
2016-08-04 21:51:20 +00:00