Commit Graph

62316 Commits

Author SHA1 Message Date
Svetoslav Ganov
9db8a68022 Fix vulnerability in MemoryIntArray am: a97171ec49 am: fb12dd509f am: a5ee109029 am: 5250d90637
am: e812cd0379

Change-Id: I9d4b3974063c19262bfad58d4f71e535dfa24f0e
2016-12-08 21:55:33 +00:00
Svetoslav Ganov
e812cd0379 Fix vulnerability in MemoryIntArray am: a97171ec49 am: fb12dd509f am: a5ee109029
am: 5250d90637

Change-Id: I20c20bee05321d722e83ee47ad6d13e308178e02
2016-12-08 21:51:05 +00:00
Svetoslav Ganov
5250d90637 Fix vulnerability in MemoryIntArray am: a97171ec49 am: fb12dd509f
am: a5ee109029

Change-Id: If1b852faa812b0bcb7419ae0f75a3e2349926de0
2016-12-08 21:46:34 +00:00
Svetoslav Ganov
a5ee109029 Fix vulnerability in MemoryIntArray am: a97171ec49
am: fb12dd509f

Change-Id: I269ec7d61ebdc9f485d759d1398d5fa4eacf868f
2016-12-08 21:42:05 +00:00
Svetoslav Ganov
fb12dd509f Fix vulnerability in MemoryIntArray
am: a97171ec49

Change-Id: Ifa2221a9b8ca705ef0239d61772938ac11761ce2
2016-12-08 21:37:33 +00:00
Svetoslav Ganov
a97171ec49 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

 Further, we now check the memory mapped size against
 the size of the underlying ashmem region after we do
 the memory mapping (to fix the ahsmem size) and if
 an attacker changed the size under us we throw.

 Tests: Updated the tests and they pass.

 bug:33039926
 bug:33042690

Change-Id: I1004579181ff7a223ef659e85c46100c47ab2409
2016-12-08 11:51:26 -08:00
Svetoslav Ganov
58e132a3c4 Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6 am: 64b5725900 am: 60357eb6bd am: 590b77da13
am: fe9fc973bd

Change-Id: I393ef8ed3896740cfdd4ad645191846c71924e2c
2016-12-08 02:48:56 +00:00
Svetoslav Ganov
fe9fc973bd Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6 am: 64b5725900 am: 60357eb6bd
am: 590b77da13

Change-Id: Ida195bcbaf3c3fad184865938dfff9f475879c16
2016-12-08 02:40:55 +00:00
Svetoslav Ganov
590b77da13 Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6 am: 64b5725900
am: 60357eb6bd

Change-Id: Ib81f6d25a1f59c14f47fe79325c95b02c7cbe639
2016-12-08 02:36:54 +00:00
Svetoslav Ganov
60357eb6bd Revert "Fix vulnerability in MemoryIntArray" am: 1f06508bc6
am: 64b5725900

Change-Id: Id7021fb02059cfb3bb9184ef24f417c0be7f55b9
2016-12-08 02:33:00 +00:00
Svetoslav Ganov
64b5725900 Revert "Fix vulnerability in MemoryIntArray"
am: 1f06508bc6

Change-Id: Id387817495b1857f304203c8487da3db49bdd0e4
2016-12-08 02:29:00 +00:00
Amin Shaikh
5456cdbc27 Merge "Support multiple caches in NetworkScoreService." am: 78f3f0049e am: a7c0b73971
am: b45a4a5d1b

Change-Id: If0080f344e53c4cddf4605879614a664c80b62ee
2016-12-08 02:28:57 +00:00
Amin Shaikh
b45a4a5d1b Merge "Support multiple caches in NetworkScoreService." am: 78f3f0049e
am: a7c0b73971

Change-Id: Idf846f55436c44930f5db2a07b7362412274f46e
2016-12-08 02:24:59 +00:00
Svetoslav Ganov
1f06508bc6 Revert "Fix vulnerability in MemoryIntArray"
This reverts commit 4694cad511.

Change-Id: I235ea3c4bd86d90bf97bc1a2d023f4780251e570
2016-12-08 02:17:40 +00:00
Svetoslav Ganov
61705a3e64 Fix vulnerability in MemoryIntArray am: 4694cad511 am: ec40a70ffb am: 138a541eaa am: 557858b9c0
am: 6023fd1800

Change-Id: I313c59c10f2d18673c5f9e7fbdfc2141d6c91e77
2016-12-08 02:11:39 +00:00
Svetoslav Ganov
638134c1d8 Fix vulnerability in MemoryIntArray am: 4694cad511 am: ec40a70ffb am: 138a541eaa
am: 557858b9c0

Change-Id: I872df5965848ccd935c43473168e1e5aea40aad1
2016-12-08 02:08:26 +00:00
Svetoslav Ganov
6023fd1800 Fix vulnerability in MemoryIntArray am: 4694cad511 am: ec40a70ffb am: 138a541eaa
am: 557858b9c0

Change-Id: Ia6b6b59be28f938f4c3a7c4aecb035fd4c6607f6
2016-12-08 02:08:23 +00:00
Aart Bik
a0c8b340be Revert "Fix vulnerability in MemoryIntArray" am: 29139a8ae5 am: 86699f980f am: 65cf055ad9 am: 278cad4793
am: 7eb917d5eb

Change-Id: I7ea739ac873ce3e5a2252666394db2b3199ec42a
2016-12-08 02:08:23 +00:00
Aart Bik
7eb917d5eb Revert "Fix vulnerability in MemoryIntArray" am: 29139a8ae5 am: 86699f980f am: 65cf055ad9
am: 278cad4793

Change-Id: Ib58a5a1e7506327b690df9c1a98c2fa8b895d216
2016-12-08 02:01:06 +00:00
Aart Bik
116a4e883d Revert "Fix vulnerability in MemoryIntArray" am: 29139a8ae5 am: 86699f980f am: 65cf055ad9
am: 278cad4793

Change-Id: I545ba917e74f34716fe773250468e06b1dfd8312
2016-12-08 02:00:56 +00:00
Svetoslav Ganov
557858b9c0 Fix vulnerability in MemoryIntArray am: 4694cad511 am: ec40a70ffb
am: 138a541eaa

Change-Id: I659d82f39cab9f6d73ceb118cdc74307ee995dfb
2016-12-08 02:00:55 +00:00
Svetoslav Ganov
138a541eaa Fix vulnerability in MemoryIntArray am: 4694cad511
am: ec40a70ffb

Change-Id: I5d03aaa04fe13b3af20bcc61e9bb925b471ab825
2016-12-08 01:56:24 +00:00
Aart Bik
278cad4793 Revert "Fix vulnerability in MemoryIntArray" am: 29139a8ae5 am: 86699f980f
am: 65cf055ad9

Change-Id: Iae6e4fe6eada607d71a20b8ea588ee8efd56a8e0
2016-12-08 01:52:51 +00:00
Svetoslav Ganov
ec40a70ffb Fix vulnerability in MemoryIntArray
am: 4694cad511

Change-Id: I64257a851c06e4a333056ee132ff8a2ea29aef5c
2016-12-08 01:49:21 +00:00
Aart Bik
65cf055ad9 Revert "Fix vulnerability in MemoryIntArray" am: 29139a8ae5
am: 86699f980f

Change-Id: I7876874ba0d6815920f21021a47e3fe1b3e1c42f
2016-12-08 01:44:54 +00:00
Aart Bik
86699f980f Revert "Fix vulnerability in MemoryIntArray"
am: 29139a8ae5

Change-Id: I3975cfc51bd03a65855c113dfdb827d24471e0ba
2016-12-08 01:36:50 +00:00
Svetoslav Ganov
4694cad511 Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Id7f0e8a4c861b0b9fa796767e0c22d96633b14d1
2016-12-08 01:35:08 +00:00
Aart Bik
29139a8ae5 Revert "Fix vulnerability in MemoryIntArray"
This reverts commit 86dfa094de.


BROKE BUILD (as shown in some treehugger builds)

frameworks/base/core/java/android/util/MemoryIntArray.java:84: error: cannot find symbol
        mCloseGuard.open("close");
        ^
        
       
bug:33039926
bug:33042690

Change-Id: Ief875e543ec849fe55c747fb1ed5253f0cd9a122
2016-12-08 01:12:48 +00:00
Svetoslav Ganov
cd92cc49d2 Fix vulnerability in MemoryIntArray am: 86dfa094de am: 367023218e am: e123f41553 am: b317e60014
am: 63499946b0

Change-Id: Ib9f5aabdf4e96b250a66f4dab7f3a90bd27a773f
2016-12-08 01:11:51 +00:00
Svetoslav Ganov
63499946b0 Fix vulnerability in MemoryIntArray am: 86dfa094de am: 367023218e am: e123f41553
am: b317e60014

Change-Id: Ieb3bf25ec225a0d3c5e568ff9c9e753a95be297c
2016-12-08 01:04:53 +00:00
Svetoslav Ganov
9aed2f6f53 Fix vulnerability in MemoryIntArray am: 86dfa094de am: 367023218e am: e123f41553
am: b317e60014

Change-Id: I550293e05ce1d1039e3f22f72002e69df919f735
2016-12-08 01:04:48 +00:00
Svetoslav Ganov
b317e60014 Fix vulnerability in MemoryIntArray am: 86dfa094de am: 367023218e
am: e123f41553

Change-Id: Id5cd6072d972b5d03512e83dc342a7c78341ffeb
2016-12-08 00:57:21 +00:00
Svetoslav Ganov
e123f41553 Fix vulnerability in MemoryIntArray am: 86dfa094de
am: 367023218e

Change-Id: I38d3f7089b9678210772f79215b44198b262e922
2016-12-08 00:49:48 +00:00
Svetoslav Ganov
367023218e Fix vulnerability in MemoryIntArray
am: 86dfa094de

Change-Id: I664782bea6e2b941ba94e51c65afd7e9b0f95f8d
2016-12-08 00:42:18 +00:00
Amin Shaikh
972e236e84 Support multiple caches in NetworkScoreService.
- Use RemoteCallbackList for managing multiple callbacks
- Add unregisterNetworkScoreCache to the service interface
- Added NetworkScoreServiceTest

Test: runtest frameworks-services

Bug: 32913019
Change-Id: I16ca1682acca9cbe403812e520394688a026414b
2016-12-07 15:52:33 -08:00
Stephen Chen
357483f41e Merge "Clarify doc on NETWORK_RECOMMENDATIONS_ENABLED and WIFI_WAKEUP_ENABLED." am: faf3aa697f am: fe9a20c980
am: 609711bbd5

Change-Id: I11634693f1088319c90e291d78edbc8e10cd147a
2016-12-07 23:25:46 +00:00
Svetoslav Ganov
86dfa094de Fix vulnerability in MemoryIntArray
MemoryIntArray was using the size of the undelying
ashmem region to mmap the data but the ashmem size
can be changed until the former is memory mapped.
Since we use the ashmem region size for boundary
checking and memory unmapping if it does not match
the size used while mapping an attacker can force
the system to unmap memory or to access undefined
memory and crash.

Also we were passing the memory address where the
ashmem region is mapped in the owner process to
support cases where the client can pass back the
MemoryIntArray instance. This allows an attacker
to put invalid address and cause arbitrary memory
to be freed.

Now we no longer support passing back the instance
to the owner process (the passed back instance is
read only), so no need to pass the memory adress
of the owner's mapping, thus not allowing freeing
arbitrary memory.

Further, we now check the memory mapped size against
the size of the underlying ashmem region after we do
the memory mapping (to fix the ahsmem size) and if
an attacker changed the size under us we throw.

Tests: Updated the tests and they pass.

bug:33039926
bug:33042690

Change-Id: Ie267646eb88014034fbd048d7a9bc273420c7eff
2016-12-07 15:19:13 -08:00
Stephen Chen
609711bbd5 Merge "Clarify doc on NETWORK_RECOMMENDATIONS_ENABLED and WIFI_WAKEUP_ENABLED." am: faf3aa697f
am: fe9a20c980

Change-Id: I7bba392e349525dd55bb8b251554e81967424136
2016-12-07 23:18:15 +00:00
Treehugger Robot
faf3aa697f Merge "Clarify doc on NETWORK_RECOMMENDATIONS_ENABLED and WIFI_WAKEUP_ENABLED." 2016-12-07 23:00:26 +00:00
Sunny Goyal
1d138e5919 Preventing widgets from exceeding Bitmap memory limit
am: 4f05d8d76b

Change-Id: I0174a7e8cc8b228d7cbf2c0403f0a022eff34194
2016-12-07 19:20:02 +00:00
Sunny Goyal
bde1091f50 Merge "Preventing widgets from exceeding Bitmap memory limit" into nyc-mr2-dev 2016-12-07 19:12:24 +00:00
Jeff Sharkey
1804995d7e Fix two StrictMode stack collection bugs.
am: 20db11cfda

Change-Id: Ie68764c9864e1c26f43c9d70c5697fe12d00e665
2016-12-07 18:44:28 +00:00
TreeHugger Robot
ae91d10629 Merge "Fix two StrictMode stack collection bugs." into nyc-mr2-dev 2016-12-07 18:39:04 +00:00
Mark Renouf
fc526f6e84 Revert "Allow power button to close an input method"
am: 28f0e5bf48

Change-Id: I678857531259617cc26941fcc832cb7670d25bfe
2016-12-07 17:29:25 +00:00
Jeff Sharkey
20db11cfda Fix two StrictMode stack collection bugs.
When Binder calls are nested, we can quickly end up with a snowball
of stacktraces that can cause the original transaction to fail.  This
CL makes two specific changes to alleviate this pressure:

-- Consider a nested Binder call from PID A -> B -> C.  If both B and
C encounter dozens of StrictMode violations, then gatheredViolations
in B will end up with 10 ViolationInfo (5 from B and 5 from C).  This
problem only grows with each successive nested call.  To solve this,
always limit ourselves to only ever write out 3 ViolationInfo from
any given process.

-- CrashInfo already nicely truncates any large stack traces to 20kB,
but readAndHandleBinderCallViolations() blindly appends the entire
local trace, and never considers truncating again.  Similar to the
first problem above, nested calls can quickly cause the stackTrace
value to explode in size.  To solve this, we always re-truncate the
stackTrace value after appending our local stack.

Also fix some NPE bugs when missing crashInfo.

(cherry-picked from commit 58f27b5033)

Test: builds, boots
Bug: 32575987
Change-Id: Ie8373ca277296f920f2b1c564d419c702a8ee0f2
2016-12-07 08:58:38 -08:00
Erik Kline
7549504970 Merge "Handle IpReachabilityMonitor errors better." am: 3af34c8e0a
am: 4467b79592

Change-Id: I5d4d2d9888d85a684425b8204785099f818e6546
2016-12-07 09:30:09 +00:00
Erik Kline
b406666cf5 Handle IpReachabilityMonitor errors better.
If construction of a new IpReachabilityMonitor throws an IAE then
log it and immediately call onProvisioningFailure().

Test: runtest frameworks-wifi
      passes, except for selectQualifiedNetworkDoesNotChooseDeletedEphemeral()
      which fails with an NPE for unrelated reasons.

Bug: 31038971
Bug: 31742703
Change-Id: Ie91b8bdd509d06ad54d062bf446e74c092eb096c
(cherry picked from commit e452660466)
2016-12-07 16:23:26 +09:00
Tomasz Mikolajewski
37541865f3 Merge "Fix crashing StrictJarFile due to doubled closing." am: 68ea36243d am: 15cd392108
am: 3199d58939

Change-Id: I269b4a0a7fcbb30804a3dd39870cce927c2b9596
2016-12-07 02:01:12 +00:00
Tomasz Mikolajewski
3199d58939 Merge "Fix crashing StrictJarFile due to doubled closing." am: 68ea36243d
am: 15cd392108

Change-Id: I63034776a185682f11ea736b0d37a4b3be31bc47
2016-12-07 01:54:13 +00:00
Treehugger Robot
68ea36243d Merge "Fix crashing StrictJarFile due to doubled closing." 2016-12-07 01:40:48 +00:00