OSDN Git Service
Dan Stoza [Fri, 1 May 2015 20:40:26 +0000 (20:40 +0000)]
am
bb58111c: Merge "SurfaceFlinger: Fix PTS on stale buffers"
* commit '
bb58111c22b41f605a8edb6599fd3df42f6d8e4e':
SurfaceFlinger: Fix PTS on stale buffers
Dan Stoza [Fri, 1 May 2015 20:28:47 +0000 (20:28 +0000)]
Merge "SurfaceFlinger: Fix PTS on stale buffers"
Dan Stoza [Tue, 28 Apr 2015 21:42:06 +0000 (14:42 -0700)]
SurfaceFlinger: Fix PTS on stale buffers
SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:
- Adds a check to re-synchronize the shadow copy every time we
successfully acquire a buffer by first dropping stale buffers before
removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
(for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
consumer to notify the BufferQueue that it is maintaining a shadow
copy of the queue and prevents it from dropping so many buffers
during acquireBuffer that it ends up returning a buffer for which the
consumer has not yet received an onFrameAvailable call.
Bug:
20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
Dan Stoza [Thu, 30 Apr 2015 22:21:02 +0000 (22:21 +0000)]
am
32d4b6c8: Merge "SurfaceFlinger: Limit to 4k Layers"
* commit '
32d4b6c8e122308a7ae296406f87a1df1b611a44':
SurfaceFlinger: Limit to 4k Layers
Dan Stoza [Thu, 30 Apr 2015 22:09:37 +0000 (22:09 +0000)]
Merge "SurfaceFlinger: Limit to 4k Layers"
Dan Stoza [Thu, 30 Apr 2015 22:08:00 +0000 (22:08 +0000)]
am
676d10b2: Merge "SurfaceFlinger: Fix integer overflow in Mesh ctor"
* commit '
676d10b2709059079823698cb6b16e71a97d6d8b':
SurfaceFlinger: Fix integer overflow in Mesh ctor
Dan Stoza [Thu, 30 Apr 2015 21:57:16 +0000 (21:57 +0000)]
am
ed6e907b: Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"
* commit '
ed6e907bc7a259d85c6a6c141a06a06e5c0b224c':
Close Fence FDs in error cases of Surface and GraphicBufferMapper
Dan Stoza [Thu, 30 Apr 2015 21:57:15 +0000 (21:57 +0000)]
Merge "SurfaceFlinger: Fix integer overflow in Mesh ctor"
Dan Stoza [Thu, 30 Apr 2015 21:49:39 +0000 (21:49 +0000)]
Merge "Close Fence FDs in error cases of Surface and GraphicBufferMapper"
Dan Stoza [Thu, 30 Apr 2015 20:29:25 +0000 (13:29 -0700)]
SurfaceFlinger: Limit to 4k Layers
Sets a limit of 4k Layers which SurfaceFlinger will allow to be in
existence at any given time. An attempt to create Layers in excess of
this limit will fail with NO_MEMORY.
Bug:
20674586
Change-Id: I2dfaf59643d826f982b2fa44e8a9ed643176d972
Dan Stoza [Wed, 29 Apr 2015 20:30:31 +0000 (13:30 -0700)]
SurfaceFlinger: Fix integer overflow in Mesh ctor
Performs range checking on the inputs to Mesh::Mesh() before allocating
the storage array.
Bug:
20674682
Change-Id: I4fc918a8c312d967dd6d9f91a098b2e0a7081027
Dan Stoza [Thu, 30 Apr 2015 19:43:24 +0000 (19:43 +0000)]
am
08a7c792: Merge "Remove gamma correction from color correction shader"
* commit '
08a7c79284dd1cda095b79e5081fea0b0b4ec151':
Remove gamma correction from color correction shader
Dan Stoza [Thu, 30 Apr 2015 19:36:24 +0000 (19:36 +0000)]
Merge "Remove gamma correction from color correction shader"
Dan Stoza [Thu, 30 Apr 2015 16:46:46 +0000 (16:46 +0000)]
am
f0c17b08: Merge "Avoid closing invalid FD in Surface and GraphicBufferMapper"
* commit '
f0c17b0831512cc700414d12dee1e84fb174bbbe':
Avoid closing invalid FD in Surface and GraphicBufferMapper
Dan Stoza [Thu, 30 Apr 2015 16:34:11 +0000 (16:34 +0000)]
Merge "Avoid closing invalid FD in Surface and GraphicBufferMapper"
Taiju Tsuiki [Thu, 30 Apr 2015 13:13:14 +0000 (22:13 +0900)]
Avoid closing invalid FD in Surface and GraphicBufferMapper
GraphicBufferMapper::lockAsync{,YCbCr} close the fence FD even when the FD
is invalid.
Change-Id: Ia2b4dae3b2c06426e34f623f19ba92435f486ab7
Taiju Tsuiki [Thu, 30 Apr 2015 13:15:33 +0000 (22:15 +0900)]
Close Fence FDs in error cases of Surface and GraphicBufferMapper
Surface::{cancel,queue}Buffer and GraphicBufferMapper::lockAsyncYCbCr take the
ownership of |fenceFd|s. Though they don't close it on error cases.
Change-Id: I49a7ce8837d5c510c4ac4ad4649f310d18610e80
Alan Viverette [Wed, 29 Apr 2015 00:15:57 +0000 (17:15 -0700)]
Remove gamma correction from color correction shader
Gamma correction was incorrectly skewing both color inversion and
Daltonization, which resulted in washed-out colors.
Bug:
20346301
Change-Id: I34d879f902c3be115b2d23f09c3ed3902799759e
(cherry picked from commit
3acd9f1d8fdffc0ed0837ebbabcac0c4014015b3)
Dan Stoza [Wed, 29 Apr 2015 17:30:48 +0000 (17:30 +0000)]
am
8de71a24: Merge "BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query"
* commit '
8de71a2408f632407c25942a39c31f78c7f64ffd':
BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query
Dan Stoza [Wed, 29 Apr 2015 17:30:45 +0000 (17:30 +0000)]
am
ca8c5695: Merge "libgui: Implement onTransact for sideband streams"
* commit '
ca8c569598d79b4bbe4fc08a4ea97619df3b7262':
libgui: Implement onTransact for sideband streams
Dan Stoza [Wed, 29 Apr 2015 17:21:49 +0000 (17:21 +0000)]
Merge "BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query"
Dan Stoza [Wed, 29 Apr 2015 17:17:52 +0000 (17:17 +0000)]
Merge "libgui: Implement onTransact for sideband streams"
Nick Kralevich [Wed, 29 Apr 2015 04:24:47 +0000 (04:24 +0000)]
am
becd89d1: Merge "Parcel.cpp: use calloc instead of malloc"
* commit '
becd89d185e53eb9ba3ddc24342e0f229dde6175':
Parcel.cpp: use calloc instead of malloc
Nick Kralevich [Wed, 29 Apr 2015 04:16:23 +0000 (04:16 +0000)]
Merge "Parcel.cpp: use calloc instead of malloc"
Nick Kralevich [Tue, 28 Apr 2015 23:21:30 +0000 (16:21 -0700)]
Parcel.cpp: use calloc instead of malloc
Bug:
20669363
Change-Id: Ia4c8d8ca9d8b4b87954d7267e8b1c94cf4e570e1
Dan Stoza [Thu, 26 Feb 2015 00:49:08 +0000 (16:49 -0800)]
BufferQueue: Add NATIVE_WINDOW_BUFFER_AGE query
Adds a NATIVE_WINDOW_BUFFER_AGE query, which returns the age of the
contents of the most recently dequeued buffer as the number of frames
that have elapsed since it was last queued.
Change-Id: Ib6fd62945cb62d1e60133a65beee510363218a23
Dan Stoza [Tue, 28 Apr 2015 20:18:07 +0000 (13:18 -0700)]
libgui: Implement onTransact for sideband streams
Implements the GET_SIDEBAND_STREAM case of
IGraphicBufferConsumer::onTransact
Change-Id: I46138b87ce2d70dde48b3561dcd378ce5fd8f383
Dan Stoza [Tue, 28 Apr 2015 17:46:44 +0000 (17:46 +0000)]
am
b5c7ccfd: Merge "libgui: Change detachNextBuffer to return sp<GB>"
* commit '
b5c7ccfdc7eb5b0ab8d22084000e9c39092ccd0e':
libgui: Change detachNextBuffer to return sp<GB>
Dan Stoza [Tue, 28 Apr 2015 17:36:54 +0000 (17:36 +0000)]
Merge "libgui: Change detachNextBuffer to return sp<GB>"
Dan Stoza [Mon, 27 Apr 2015 18:06:01 +0000 (11:06 -0700)]
libgui: Change detachNextBuffer to return sp<GB>
Changes Surface::detachNextBuffer to return an sp<GraphicBuffer>
instead of an ANativeWindowBuffer* to ensure that reference counting
works correctly.
Bug:
20092217
Change-Id: I3979ea6121aaf14845f0554477b778770413581e
Andreas Gampe [Mon, 27 Apr 2015 15:44:08 +0000 (15:44 +0000)]
am
bec3de4a: Merge "Installd: Add debug.gencfi to run_dex2oat"
* commit '
bec3de4ac527f8df1b3fd1b3d0ee2feaa633646a':
Installd: Add debug.gencfi to run_dex2oat
Andreas Gampe [Mon, 27 Apr 2015 15:14:42 +0000 (15:14 +0000)]
Merge "Installd: Add debug.gencfi to run_dex2oat"
Andreas Gampe [Fri, 24 Apr 2015 21:30:04 +0000 (14:30 -0700)]
Installd: Add debug.gencfi to run_dex2oat
Add the debug.gencfi system property that forces generation of
CFI data.
Change-Id: Ida66f8c1567634d05cfdbba1a982be3684e94369
Michael Wright [Mon, 27 Apr 2015 14:24:58 +0000 (14:24 +0000)]
am
7ecc8952: Merge "Check orientation range has been initialized first"
* commit '
7ecc8952c47009bca8d286d374a978bd305247d5':
Check orientation range has been initialized first
Michael Wright [Mon, 27 Apr 2015 14:13:21 +0000 (14:13 +0000)]
Merge "Check orientation range has been initialized first"
Dan Stoza [Fri, 24 Apr 2015 16:00:22 +0000 (16:00 +0000)]
am
958f5011: Merge "libgui: Allow an IGBProducer to disable allocation"
* commit '
958f501189a29e53767f41bc8172e4af8d1ce2bf':
libgui: Allow an IGBProducer to disable allocation
Dan Stoza [Fri, 24 Apr 2015 16:00:21 +0000 (16:00 +0000)]
am
fb6d43ff: Merge "libgui: Change BufferQueue to use free lists"
* commit '
fb6d43ff44bb2b708494749a7f6037505ccd7bf6':
libgui: Change BufferQueue to use free lists
Dan Stoza [Fri, 24 Apr 2015 15:50:09 +0000 (15:50 +0000)]
Merge "libgui: Allow an IGBProducer to disable allocation"
Dan Stoza [Fri, 24 Apr 2015 15:48:37 +0000 (15:48 +0000)]
Merge "libgui: Change BufferQueue to use free lists"
Dan Stoza [Thu, 23 Apr 2015 23:02:49 +0000 (23:02 +0000)]
am
56f1f16c: Merge "libgui: Fix some bitrot/warnings in tests"
* commit '
56f1f16c7b01a53282d483259ae80d035cc6496b':
libgui: Fix some bitrot/warnings in tests
Dan Stoza [Thu, 23 Apr 2015 23:02:48 +0000 (23:02 +0000)]
am
82e4d49b: Merge "libui/libgui: Fix errors in parceling"
* commit '
82e4d49b0ecb205d49f02cc07496f7508c56443c':
libui/libgui: Fix errors in parceling
Dan Stoza [Thu, 23 Apr 2015 22:53:36 +0000 (22:53 +0000)]
Merge "libgui: Fix some bitrot/warnings in tests"
Dan Stoza [Thu, 23 Apr 2015 22:51:00 +0000 (22:51 +0000)]
Merge "libui/libgui: Fix errors in parceling"
Dan Stoza [Fri, 17 Apr 2015 00:28:43 +0000 (17:28 -0700)]
libgui: Allow an IGBProducer to disable allocation
Adds a new method IGBP::allowAllocation, which controls whether
dequeueBuffer is permitted to allocate a new buffer. If allocation is
disallowed, dequeueBuffer will block or return an error as it
normally would (as controlled by *ControlledByApp).
If there are free buffers, but they are not of the correct dimensions,
format, or usage, they may be freed if a more suitable buffer is not
found first.
Bug:
19801715
Change-Id: I0d604958b78b2fd775c2547690301423f9a52165
Dan Stoza [Thu, 23 Apr 2015 20:20:51 +0000 (13:20 -0700)]
libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.
Fixes an issue with the first version of this change, found in bugs
20482952,
20443314, and
20464549.
Bug:
13175420
Change-Id: I9b6e83cfe8f9b4329a976025cb8e291d51fb6d4a
Dan Stoza [Thu, 23 Apr 2015 00:06:03 +0000 (00:06 +0000)]
am
de5c15b8: Merge "SF: Always perform sideband transactions"
* commit '
de5c15b8bd12143829d043fa4ab457600e5682b3':
SF: Always perform sideband transactions
Dan Stoza [Wed, 22 Apr 2015 23:57:28 +0000 (23:57 +0000)]
Merge "SF: Always perform sideband transactions"
Dan Stoza [Wed, 22 Apr 2015 21:59:08 +0000 (14:59 -0700)]
SF: Always perform sideband transactions
On normal Layers, we defer applying resize transactions until a buffer
of the correct size arrives. This breaks with sideband streams, because
buffers are not seen by SurfaceFlinger. This change applies
transactions immediately for Layers which have a sideband stream
attached to avoid that problem.
Bug:
20428254
Change-Id: I379d8aaef460d467cdf8432764b4a504928fb65a
(cherry picked from commit
c300b8b506536e1bf94ffd8a3b75d46e776923e0)
Dan Stoza [Wed, 22 Apr 2015 19:07:10 +0000 (19:07 +0000)]
am
7637e35d: Merge "Revert "libgui: Change BufferQueue to use free lists""
* commit '
7637e35d17e06d532b0d2d11c0eef60594726209':
Revert "libgui: Change BufferQueue to use free lists"
Dan Stoza [Wed, 22 Apr 2015 18:59:01 +0000 (18:59 +0000)]
Merge "Revert "libgui: Change BufferQueue to use free lists""
Dan Stoza [Wed, 22 Apr 2015 18:57:39 +0000 (18:57 +0000)]
Revert "libgui: Change BufferQueue to use free lists"
This reverts commit
8dddc990103b71137be2a6365a26b1ac36598e68.
Change-Id: I0b0fed9f1394c6f6ae812f6c562ead4473a8226e
Dan Stoza [Wed, 22 Apr 2015 00:17:33 +0000 (00:17 +0000)]
am
e647ddde: Merge "libgui: Fix CPU rendering on Surface"
* commit '
e647dddebb11a383c0d95b6dfd0cbe0998d9b644':
libgui: Fix CPU rendering on Surface
Dan Stoza [Wed, 22 Apr 2015 00:07:51 +0000 (00:07 +0000)]
Merge "libgui: Fix CPU rendering on Surface"
Dan Stoza [Tue, 21 Apr 2015 23:42:49 +0000 (16:42 -0700)]
libgui: Fix CPU rendering on Surface
When the surface damage code went in, it incorrectly assumed that if
an application was doing CPU rendering, it would be using lock and
unlockAndPost instead of dequeue and queue, so it repurposed the dirty
region too aggressively. This change keeps it from clobbering the
dirty region if a CPU producer is attached.
Bug:
20431815
Change-Id: Id4dfd71378311ea822f0289f6de2d20a7bd84014
Dan Stoza [Mon, 20 Apr 2015 20:24:58 +0000 (20:24 +0000)]
am
ff5c1a6b: Merge "libgui: Change BufferQueue to use free lists"
* commit '
ff5c1a6b677d8d25630ffc3d1a868eb98a38ceab':
libgui: Change BufferQueue to use free lists
Dan Stoza [Mon, 20 Apr 2015 19:09:38 +0000 (12:09 -0700)]
libgui: Fix some bitrot/warnings in tests
These tests hadn't been run in a while and had accumulated some rot.
This fixes most of the compile warnings and some tests which fail
incorrectly, but 2 failures remain on N6.
Change-Id: I7fee78cd058a32f4d7df40ec9f899ff767f68517
Dan Stoza [Mon, 20 Apr 2015 19:07:13 +0000 (12:07 -0700)]
libui/libgui: Fix errors in parceling
BufferItem and GraphicBuffer were not parceling correctly, which had
not been noticed because the libgui tests (specifically, one that
tests placing a BufferQueue in a separate process from the IGBP/C)
had not been run recently. This change fixes the errors found in
those classes.
Change-Id: Ie224361a534a79115a3481d83ff97f21d154d4f5
Dan Stoza [Mon, 20 Apr 2015 20:14:13 +0000 (20:14 +0000)]
Merge "libgui: Change BufferQueue to use free lists"
Dan Stoza [Thu, 16 Apr 2015 22:39:18 +0000 (15:39 -0700)]
libgui: Change BufferQueue to use free lists
BufferQueue used to choose free buffers by scanning through its array
of slots and picking one based on timestamp. This changes that
mechanism to use a pair of free lists: one with buffers attached and
one without. This makes it easier to choose either type of free slot
depending on the needs of the current operation.
Bug:
13175420
Change-Id: Ic8398e7511bd11a60a1c82e3ad2ee271c9822be1
Dan Stoza [Wed, 15 Apr 2015 21:46:45 +0000 (21:46 +0000)]
am
2e398e64: Merge "SF: Permit changing DispSync offsets at runtime"
* commit '
2e398e64b3bc827ec8caaa1457442a8b3d546aed':
SF: Permit changing DispSync offsets at runtime
Dan Stoza [Wed, 15 Apr 2015 21:37:19 +0000 (21:37 +0000)]
Merge "SF: Permit changing DispSync offsets at runtime"
Dan Stoza [Tue, 14 Apr 2015 18:34:01 +0000 (11:34 -0700)]
SF: Permit changing DispSync offsets at runtime
This modifies EventThread such that its phase offsets for both
Choreographer and SurfaceFlinger may be modified at runtime. It also
plumbs this functionality up to the SurfaceFlinger debug interface so
that it is possible to rapidly test different offsets without
restarting the framework.
Change-Id: I426873f8553f931250dfebc9a8a4a78e9f1f4309
Dan Stoza [Wed, 15 Apr 2015 20:46:35 +0000 (20:46 +0000)]
am
e7d20eb0: Merge "SurfaceFlinger: Pass surface damage to HWC"
* commit '
e7d20eb000c1d342c8f5f58011023c0eb7cea6d5':
SurfaceFlinger: Pass surface damage to HWC
Dan Stoza [Wed, 15 Apr 2015 20:35:02 +0000 (20:35 +0000)]
am
fd5f41be: Merge "libgui: Pass surface damage through BufferQueue"
* commit '
fd5f41bee9bcb2df64c39ff0de7d684e43d90d9c':
libgui: Pass surface damage through BufferQueue
Dan Stoza [Wed, 15 Apr 2015 20:34:50 +0000 (20:34 +0000)]
Merge "SurfaceFlinger: Pass surface damage to HWC"
Dan Stoza [Wed, 15 Apr 2015 20:26:55 +0000 (20:26 +0000)]
Merge "libgui: Pass surface damage through BufferQueue"
Dan Stoza [Mon, 23 Mar 2015 22:50:23 +0000 (15:50 -0700)]
SurfaceFlinger: Pass surface damage to HWC
Passes the surface damage from the incoming SurfaceFlingerConsumer
BufferQueue down to the hardware composer HAL interface, if the
HWC version number is 1.5 or greater.
Bug:
11239309
Change-Id: Ic4305210593874a8d6deba3319055b2b8c57e926
Dan Stoza [Tue, 17 Mar 2015 23:23:42 +0000 (16:23 -0700)]
libgui: Pass surface damage through BufferQueue
This change adds support for passing surface damage all of the way
down from the EGL interface through the consumer side of the
BufferQueue. Depends on system/core change
Ie645e6a52b37b5c1b3be19481e8348570d1aa62c
Bug:
11239309
Change-Id: I4457ea826e9ade4ec187f973851d855b7b93a31b
Dan Stoza [Wed, 15 Apr 2015 20:18:44 +0000 (20:18 +0000)]
am
4d769d8b: Merge "libui: Clean up Fence and Region flattening"
* commit '
4d769d8bdc2fd57d34ab0fa4b9208ac0eb67cd61':
libui: Clean up Fence and Region flattening
Dan Stoza [Wed, 15 Apr 2015 20:18:43 +0000 (20:18 +0000)]
am
22412a34: Merge "libEGL: Add wrappers for partial update functions"
* commit '
22412a34c6d61394bad2c6e75105ea42a0c496cb':
libEGL: Add wrappers for partial update functions
Dan Stoza [Wed, 15 Apr 2015 20:13:53 +0000 (20:13 +0000)]
Merge "libui: Clean up Fence and Region flattening"
Dan Stoza [Wed, 15 Apr 2015 20:08:35 +0000 (20:08 +0000)]
Merge "libEGL: Add wrappers for partial update functions"
Dan Stoza [Mon, 23 Mar 2015 20:46:14 +0000 (13:46 -0700)]
libui: Clean up Fence and Region flattening
Fence was flattening incorrectly, causing issues with any fields
flattened after it, and Region was relying on being the last object
flattened. This change addresses both.
Change-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109
Dan Stoza [Thu, 19 Feb 2015 23:27:36 +0000 (15:27 -0800)]
libEGL: Add wrappers for partial update functions
This adds EGL wrapper functions for the following EGL extensions:
EGL_EXT_buffer_age
EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage
Change-Id: I407acda1e0310f7f01a5efe9c915721a941138a4
Dan Stoza [Tue, 14 Apr 2015 18:06:48 +0000 (18:06 +0000)]
am
a3f8c2aa: Merge "Fix a memory corruption issue when vector resize"
* commit '
a3f8c2aaf1bb82b436306f65b86d25d4ea955d4d':
Fix a memory corruption issue when vector resize
Dan Stoza [Tue, 14 Apr 2015 17:50:39 +0000 (17:50 +0000)]
Merge "Fix a memory corruption issue when vector resize"
baik.han [Tue, 14 Apr 2015 10:49:28 +0000 (19:49 +0900)]
Check orientation range has been initialized first
To avoid nan or infinity when orientation value is used for
calculation without being initialized, check mOrientedRanges.haveOrientation
value before using mOrientedRanges.orientation.min or .max value.
Change-Id: I68ed9ab36819c5faa6422e9f061e1275aeed11e3
Signed-off-by: Baik Han <baik.han@lge.com>
Jeff Sharkey [Fri, 10 Apr 2015 21:08:43 +0000 (21:08 +0000)]
am
dfc30ae3: Merge "Command to move private app data between volumes."
* commit '
dfc30ae393fd610fcbd05a1ecfe7d4834a792de3':
Command to move private app data between volumes.
Jeff Sharkey [Fri, 10 Apr 2015 21:00:41 +0000 (21:00 +0000)]
Merge "Command to move private app data between volumes."
Jeff Sharkey [Thu, 9 Apr 2015 03:56:42 +0000 (20:56 -0700)]
Command to move private app data between volumes.
New "mvuserdata" command will move all private app data from one
volume UUID to another. It leverages the existing "cp" toybox
command to do the heavy lifting for all known users, preserving
details like timestamps and permissions. It invokes restorecon()
to correctly label the new location when the copy is finished.
Changes installd to no longer drop capabilities, so we run as root
again. This also allows us to exec "cp" with CAP_DAC_OVERRIDE and
CAP_FOWNER still in effect.
Bug:
19993667
Change-Id: I1f407a7c4a1af97ca5afc27b04eb16b4936cbdef
ywen [Thu, 26 Mar 2015 11:51:12 +0000 (19:51 +0800)]
Fix a memory corruption issue when vector resize
There is memory corruption in below code
const Rect* prev = &dst[prevIndex];
dst.add(Rect(prev->right, top, right, bottom));
prev points to a memory of vector dst, when dst resize in add()
call, the memory that prev points to will be copy to the new
allocated vector memory and the old memory will become undefined
Avoid pointer in this case, use a local copy instead
Change-Id: I4d95ceedd00c8fb615ac153082ade1b1ce0d0fa8
Jeff Sharkey [Thu, 9 Apr 2015 21:47:30 +0000 (21:47 +0000)]
am
44a38d93: Merge "Start accepting volume UUIDs from framework."
* commit '
44a38d9337989742046c1e3faa6e7392ecc47cd4':
Start accepting volume UUIDs from framework.
Jeff Sharkey [Thu, 9 Apr 2015 21:41:11 +0000 (21:41 +0000)]
Merge "Start accepting volume UUIDs from framework."
Jeff Sharkey [Thu, 9 Apr 2015 20:10:03 +0000 (13:10 -0700)]
Start accepting volume UUIDs from framework.
We're now parsing and passing through volume UUIDs sent across the
command socket. The "!" argument value is treated as null, which
means internal storage.
Bug:
19993667
Change-Id: I17729a769ce687a2e94e85991a6338c77ded0b66
Jeff Sharkey [Thu, 9 Apr 2015 19:53:33 +0000 (19:53 +0000)]
am
066fadb9: Merge "More volume UUID awareness."
* commit '
066fadb983b117a7682af00780d23d16232ab0e2':
More volume UUID awareness.
Jeff Sharkey [Thu, 9 Apr 2015 19:45:03 +0000 (19:45 +0000)]
Merge "More volume UUID awareness."
Jeff Sharkey [Thu, 9 Apr 2015 18:34:03 +0000 (11:34 -0700)]
More volume UUID awareness.
Teach free_cache() and restorecon_data() about building per-volume
paths. Also clean up restorecon_data() by using std::string when
building paths.
Clearer names for path building utility methods, and tests to verify.
Bug:
19993667
Change-Id: Iacfbcdaa5b901cc2490bc8eba366dfdeb44f1d93
Andreas Gampe [Thu, 9 Apr 2015 17:05:44 +0000 (17:05 +0000)]
am
f9ab2ad2: Merge "Installd: Fix Clang build"
* commit '
f9ab2ad2d5786b2dd04f08f5d5a67102bd3d796a':
Installd: Fix Clang build
Andreas Gampe [Thu, 9 Apr 2015 16:55:48 +0000 (16:55 +0000)]
Merge "Installd: Fix Clang build"
Andreas Gampe [Thu, 9 Apr 2015 16:52:45 +0000 (09:52 -0700)]
Installd: Fix Clang build
Remove some unused parameters and variables.
Change-Id: I507ae48fe1744b800ceb29192d463fd26c2ccda7
Jeff Sharkey [Thu, 9 Apr 2015 16:35:20 +0000 (16:35 +0000)]
am
d107c305: Merge "Plumb through volume UUID when building paths."
* commit '
d107c305f74592e8078754b317d840a2dde661db':
Plumb through volume UUID when building paths.
Jeff Sharkey [Thu, 9 Apr 2015 16:27:18 +0000 (16:27 +0000)]
Merge "Plumb through volume UUID when building paths."
Richard Uhler [Thu, 9 Apr 2015 14:20:53 +0000 (14:20 +0000)]
am
ab91d03b: Merge "installd: Add support for SELF_PATCHOAT_NEEDED."
* commit '
ab91d03b0dfebf40e98034670892c278ae0a46e5':
installd: Add support for SELF_PATCHOAT_NEEDED.
Richard Uhler [Thu, 9 Apr 2015 14:13:27 +0000 (14:13 +0000)]
Merge "installd: Add support for SELF_PATCHOAT_NEEDED."
Mark Salyzyn [Wed, 8 Apr 2015 18:11:30 +0000 (18:11 +0000)]
am
ad436ab5: Merge "dumpstate: scrub APANIC"
* commit '
ad436ab54a649075b25ab755344fd011bd0c9262':
dumpstate: scrub APANIC
Mark Salyzyn [Wed, 8 Apr 2015 18:03:35 +0000 (18:03 +0000)]
Merge "dumpstate: scrub APANIC"
Mark Salyzyn [Wed, 8 Apr 2015 17:51:51 +0000 (10:51 -0700)]
dumpstate: scrub APANIC
Bug:
19525200
Change-Id: Ia2d2857cac953fb4ceafb66ddf775d89d7a777b1
Jeff Sharkey [Wed, 8 Apr 2015 01:14:05 +0000 (18:14 -0700)]
Plumb through volume UUID when building paths.
Since app data paths can live on expanded storage devices, accept the
target volume UUID when building paths. The null UUID indicates the
default internal storage.
To improve readability, start using std::string in several places,
which throws when allocations fail. For now, perform last-second
sanity checks on incoming path arguments, but we'll eventually want
to check arguments as they come through installd.cpp, instead of
crashing the entire daemon.
Also remove "lib" symlink code from install() and make_user_data(),
since we're no longer supporting /data/app-lib. The framework
already uses linklib() to create the right symlink for the selected
ISA-specific library dir.
Bug:
19993667
Change-Id: Ib9343575ffb62bf3981e19375de8f3822fc31e28
Richard Uhler [Thu, 26 Mar 2015 22:47:38 +0000 (15:47 -0700)]
installd: Add support for SELF_PATCHOAT_NEEDED.
Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5
Dan Stoza [Tue, 7 Apr 2015 22:47:50 +0000 (22:47 +0000)]
am
00afb817: Merge "libgui: Plumb detachBuffer through ConsumerBase"
* commit '
00afb8177fdbf144c75c00e9eacc915589807d35':
libgui: Plumb detachBuffer through ConsumerBase