OSDN Git Service

android-x86/frameworks-native.git
3 years agoChanging input flinger to take in account screen rotation (hwrotation) in prop file nougat-x86 android-x86-7.1-r5
Nicolas Peslerbe [Tue, 26 Feb 2019 11:02:10 +0000 (12:02 +0100)]
Changing input flinger to take in account screen rotation (hwrotation) in prop file

4 years agoMerge tag 'android-7.1.2_r39' into nougat-x86 android-x86-7.1-r3 android-x86-7.1-r4
Chih-Wei Huang [Wed, 16 Oct 2019 14:52:29 +0000 (22:52 +0800)]
Merge tag 'android-7.1.2_r39' into nougat-x86

Android 7.1.2 Release 39 (5787804)

4 years agoFix race between SensorManager ctor and callback
Brian Duddie [Thu, 6 Jun 2019 23:43:41 +0000 (16:43 -0700)]
Fix race between SensorManager ctor and callback

Avoids potential invalid memory access if system server crashes during
initialization.

Bug: 132927376
Test: confirm sensors initialize
Change-Id: If7421c452b5893ab2567323d265503a1ce304482
Merged-In: If7421c452b5893ab2567323d265503a1ce304482
(cherry picked from commit 4b23ed10ae94ff9e991cc6c1d0946b55733e8f89)

4 years agoFree mObjects if no objects left to realloc on resize
Michael Wachenschwanz [Tue, 4 Jun 2019 00:24:51 +0000 (17:24 -0700)]
Free mObjects if no objects left to realloc on resize

Bug: 134168436
Bug: 133785589
Bug: 34175893
Test: atest CtsOsTestCases:ParcelTest#testObjectDoubleFree
Change-Id: I82e7e8c7b4206fb45b832a71d174df45edb62710
Merged-In: I82e7e8c7b4206fb45b832a71d174df45edb62710
(cherry picked from commit edd3e3d8f441131b02e5a78d18babf9d16ef9e6e)

4 years ago[RESTRICT AUTOMERGE] libbinder: Status: check dataPosition sets.
Bryan Ferris [Wed, 5 Jun 2019 02:00:32 +0000 (19:00 -0700)]
[RESTRICT AUTOMERGE] libbinder: Status: check dataPosition sets.

Bug: 132650049
Test: fuzzer
Change-Id: Id230eae4316a444bc82b416b2049d5a5f589f89a
(cherry picked from commit f5edb02e9e96de8ff29bc4369d6dd6681ec0d7cf)

4 years agolibbinder: readCString: no ubsan sub-overflow
Steven Moreland [Fri, 17 May 2019 20:14:06 +0000 (13:14 -0700)]
libbinder: readCString: no ubsan sub-overflow

Bug: 131859347
Test: fuzzer
Change-Id: I95a0f59684a172925f1eab97ff21e5d14bc79cc8
Merged-In: I95a0f59684a172925f1eab97ff21e5d14bc79cc8
(cherry picked from commit d0d4b584fc294d2c124385644099852918416344)

5 years agoSanitize InputMessage before sending
Siarhei Vishniakou [Sat, 17 Nov 2018 06:18:53 +0000 (22:18 -0800)]
Sanitize InputMessage before sending

The struct InputMessage has many fields, and is force-aligned to 8-byte
boundaries. There are also some padding fields that carry no
information.

This struct is typically allocated in the stack and populated with
various values before being sent across as a stream of bytes through the
socket.

Therefore, the "unused" data portions of the struct could contain
portions of the stack, since there aren't ever writes to those memory
locations.

To avoid this information leak, forcefully sanitize the struct. Create a
new struct that is explicitly set to zero. Next, only fill the
meaningful fields manually.

Bug: 115739809
Test: cts-tradefed run cts -m CtsSecurityBulletinHostTestCases -t android.security.cts.Poc18_12; adb shell monkey 100000
Change-Id: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507
Merged-In: I7e44dacf1e8fa3156c8e4d2f7784ef0c53dab507
(cherry picked from commit cb2f0ceed876b3c1cc62fc677c75a12c1f10b199)

5 years agoinputflinger: treat tablet-style inputs as absolute coordinate mouse pointer
Jon Doe [Sun, 23 Dec 2018 14:50:00 +0000 (22:50 +0800)]
inputflinger: treat tablet-style inputs as absolute coordinate mouse pointer

Qemu and VirtualBox use tablet-style inputs. However, it's difficult to
work with the current "invisible finger" or "drag pointer" interface
provided to the virtual absolute coordinate pointing devices.
Instead, this patch classifies them as a regular mouse pointer
(INPUT_DEVICE_CLASS_CURSOR), which is more intuitive to work with.

5 years agoIncrement when attempting to read protected Parcel Data
Michael Wachenschwanz [Tue, 17 Apr 2018 23:52:40 +0000 (16:52 -0700)]
Increment when attempting to read protected Parcel Data

Make sure to increment the parcel data position even when trying to
improperly read from protected data

Bug: 29833520

Test (M): cts-tradefed run cts -c android.os.cts.ParcelTest -m testBinderDataProtection
Test (M): cts-tradefed run cts -c android.os.cts.ParcelTest -m testBinderDataProtectionIncrements
Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest#testBinderDataProtection
Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest#testBinderDataProtectionIncrements

Change-Id: Ie4aae6277fc5f5c924f603d9828c3a608998b986
Merged-In: Ie4aae6277fc5f5c924f603d9828c3a608998b986
(cherry picked from commit 6a825e8ad1a3928dd872bb7c3fbcd94784d77267)

5 years agoDon't pad before calling writeInPlace().
Martijn Coenen [Wed, 4 Apr 2018 09:46:56 +0000 (11:46 +0200)]
Don't pad before calling writeInPlace().

writeInplace() itself already pads securely, by masking off
the padded bytes. If the padding is done before calling
writeInplace(), no mask is applied, and heap data can leak.

Bug: 77237570
Test: builds
Change-Id: Ide27a0002d4ed4196530430760245b971f6a3f44
Merged-In: Ide27a0002d4ed4196530430760245b971f6a3f44

(cherry picked from commit f8542381b72a7bb2452a5278a00ca8c34edbf8a0)
(cherry picked from commit 732132b765cd7b667f16cf32f0fe4c852d7d44dd)

5 years agoDisallow reading object data from Parcels with non-object reads
akirilov [Tue, 3 Apr 2018 19:56:06 +0000 (12:56 -0700)]
Disallow reading object data from Parcels with non-object reads

The check added to each non-object reads adds an overhead. If the
objects (binders and file descriptors) were written to the Parcel in
sequential order then check adds a small O(1) overhead to each read,
plus an O(N) overhead to the first read (to verify the N objects were
added in order).
If the objects were written out of order (as in by jumping around the Parcel
with setDataPosition and writing Binder, DON'T DO THIS!!) (writing non
objects out of order is fine), the first read is forced to sort the objects
in the internal bookkeeping. Based on the assumption non sequential writes
are infrequent and overall Parcels are probably mostly sorted, insertion
sort was used. Worst case sorts will add an O(N^2) overhead to the first
non object read from the Parcel.

Test: run cts -m CtsOsTestCases -t android.os.cts.ParcelTest

Bug: 29833520
Change-Id: Id0119caf530023fe8b61be6d15f5b6a9c49c08df
Merged-In: I82de8eb5f5eb56f869542d5358e96884c24301b2
(cherry picked from commit f784183c17a4985b9703ac22d063ad4ef8b9090f)

6 years agoMerge tag 'android-7.1.2_r36' into nougat-x86 android-x86-7.1-r1 android-x86-7.1-r2
Chih-Wei Huang [Thu, 4 Jan 2018 08:27:30 +0000 (16:27 +0800)]
Merge tag 'android-7.1.2_r36' into nougat-x86

Android 7.1.2 Release 36 (N2G48H)

6 years agoMerge cherrypicks of [2973982, 2974657, 2974658, 2973983, 2973984, 2974689, 2974690...
android-build-team Robot [Thu, 28 Sep 2017 17:16:50 +0000 (17:16 +0000)]
Merge cherrypicks of [2973982297465729746582973983297398429746892974690297469129746922974710297471129747132974714297421529742162974217297421829742192974220297472929747302974731297473229747332974734297473529747362974737297473829747392974740297474129747422974749297475029747512974752297475329746472974744297469329746942974648297451329746652974746] into nyc-mr2-release

Change-Id: I1dcef704bea95d9d3e289807299d8d3fff0ea049

6 years agoDO NOT MERGE Remove window obscurement information.
Siarhei Vishniakou [Fri, 4 Aug 2017 19:37:47 +0000 (12:37 -0700)]
DO NOT MERGE Remove window obscurement information.

If ACTION_OUTSIDE_EVENTS contain information about whether the touch is
obscured, then a pattern of invisible, untouchable, unfocusable
SYSTEM_ALERT_WINDOWS can be placed across the screen to determine
approximate locations of touch events without the user knowing.

Bug: 31097064
Test: cts-tradefed run cts --class android.security.cts.MotionEventTest
Change-Id: Iebbb68231cbb76f87241201e7640a1fe3e188625
(cherry picked from commit 5508ca2c191f8fdf29d8898890a58bf1a3a225b3)

6 years agoDO NOT MERGE Remove window obscurement information.
Siarhei Vishniakou [Fri, 4 Aug 2017 19:37:47 +0000 (12:37 -0700)]
DO NOT MERGE Remove window obscurement information.

If ACTION_OUTSIDE_EVENTS contain information about whether the touch is
obscured, then a pattern of invisible, untouchable, unfocusable
SYSTEM_ALERT_WINDOWS can be placed across the screen to determine
approximate locations of touch events without the user knowing.

Bug: 31097064
Test: cts-tradefed run cts --class android.security.cts.MotionEventTest
Change-Id: Iebbb68231cbb76f87241201e7640a1fe3e188625
(cherry picked from commit 5508ca2c191f8fdf29d8898890a58bf1a3a225b3)

6 years agolibEGL: use SwiftShader if hardware gralloc is not set
Chih-Wei Huang [Thu, 14 Sep 2017 10:20:23 +0000 (18:20 +0800)]
libEGL: use SwiftShader if hardware gralloc is not set

The old implementation to disable hardware acceleration is reverted.

6 years agoMerge tag 'android-7.1.2_r33' into nougat-x86
Chih-Wei Huang [Fri, 11 Aug 2017 05:27:24 +0000 (13:27 +0800)]
Merge tag 'android-7.1.2_r33' into nougat-x86

Android 7.1.2 Release 33 (NZH54D)

6 years agoRenderEngine: support non-RGBA_8888 format
Chih-Wei Huang [Fri, 28 Jul 2017 11:44:57 +0000 (19:44 +0800)]
RenderEngine: support non-RGBA_8888 format

Some of our GPUs (e.g., radeon) don't support RGBA_8888 well.
To workaround it, just get the EGL config by a simpler query.

This patch should be reverted once all of our GPUs support
RGBA_8888.

6 years agoAdd alpha channel for the EGLConfig
neo.he [Tue, 21 Mar 2017 03:48:36 +0000 (11:48 +0800)]
Add alpha channel for the EGLConfig

If the alpha channel is not assigned, the framebuffer will be opaque.
And it will mask the underlying video and make the video invisible
when play video width mediaplayer

Issue: 258684
Test: media player
Change-Id: If756ad2aaa789f6ddb178333b3e8854f52c8eac3

6 years agoMerge tag 'android-7.1.2_r27' into nougat-x86
Chih-Wei Huang [Tue, 18 Jul 2017 05:49:31 +0000 (13:49 +0800)]
Merge tag 'android-7.1.2_r27' into nougat-x86

Android 7.1.2 release 27

6 years agoinstalld: a workaround for 9p filesystem
Chih-Wei Huang [Tue, 27 Jun 2017 06:21:26 +0000 (14:21 +0800)]
installd: a workaround for 9p filesystem

SELinux and getxattr seem not work on 9p filesystem.
Ignore the errors as a workaround.

TEST: be able to boot to Home on QEMU with shared 'data' folder.

6 years agoMerge cherrypicks of [2419615, 2419671, 2419656, 2419633, 2419709, 2419634, 2419635...
android-build-team Robot [Fri, 16 Jun 2017 17:21:50 +0000 (17:21 +0000)]
Merge cherrypicks of [24196152419671241965624196332419709241963424196352419617241961824196192419658241969724196592419673241972624197472419596241974824195972419636241971124197492419660241971324197142419727241967424197822419752241973124197322419677241971724197342419784] into nyc-mr2-security-c-release

Change-Id: I8ad2f36ffeb8ead54643cf3d7707099f422df47c

6 years agofix race condition that can cause a use after free
Mathias Agopian [Tue, 4 Apr 2017 00:14:31 +0000 (17:14 -0700)]
fix race condition that can cause a use after free

Backported from 12a0ccd6f7201bac706d903ac3f436c4358fe203.

Bug: 33004354
Test: manual
Change-Id: I9b38ee644b02268c9b995a330db758aa2e568399
(cherry picked from commit 59485525a6047453e6ba16c03989381e2a0d56ec)

6 years agoMerge cherrypicks of [2413468, 2413357, 2413489, 2413431, 2413506, 2413398, 2413399...
android-build-team Robot [Thu, 15 Jun 2017 19:16:32 +0000 (19:16 +0000)]
Merge cherrypicks of [2413468241335724134892413431241350624133982413399241331924135072413508241337124134102413432241335824134902413359241336024133202413509241349124140612413372241349224134332413469241341124140622413373241337424134702413400241406324140642413447241343424141012413412] into nyc-mr2-release

Change-Id: I3468d071cdcf838e73b0317fa1b9e9df6d81a12d

6 years agofix race condition that can cause a use after free
Mathias Agopian [Tue, 4 Apr 2017 00:14:31 +0000 (17:14 -0700)]
fix race condition that can cause a use after free

Backported from 12a0ccd6f7201bac706d903ac3f436c4358fe203.

Bug: 33004354
Test: manual
Change-Id: I9b38ee644b02268c9b995a330db758aa2e568399
(cherry picked from commit 59485525a6047453e6ba16c03989381e2a0d56ec)

6 years agofix race condition that can cause a use after free
Mathias Agopian [Tue, 4 Apr 2017 00:14:31 +0000 (17:14 -0700)]
fix race condition that can cause a use after free

Backported from 12a0ccd6f7201bac706d903ac3f436c4358fe203.

Bug: 33004354
Test: manual
Change-Id: I9b38ee644b02268c9b995a330db758aa2e568399
(cherry picked from commit 59485525a6047453e6ba16c03989381e2a0d56ec)

6 years agoMerge tag 'android-7.1.2_r17' into nougat-x86
Chih-Wei Huang [Wed, 7 Jun 2017 03:07:24 +0000 (11:07 +0800)]
Merge tag 'android-7.1.2_r17' into nougat-x86

Android 7.1.2 Release 17 (NJH47B)

6 years agoMerge cherrypicks of [2310999, 2310925, 2310891, 2311000, 2310892, 2310858, 2310986...
android-build-team Robot [Wed, 24 May 2017 22:54:12 +0000 (22:54 +0000)]
Merge cherrypicks of [231099923109252310891231100023108922310858231098623109632311043231092823110442310990231102223110232310917231099423110242311045231096723109952311003231105923110252311060231095323110612311004231104623110052311047231100623110792310954231102623108962310898231099723110622310955231102923109982311080231111923110302310933231114023110632310934231104923110502311084231103123111452311164] into nyc-mr2-security-c-release

Change-Id: Ib0aca10827997b0ecfcbc15b8c2db7117beab266

6 years agolibgui: check for invalid slot in attachBuffer
Chia-I Wu [Mon, 15 May 2017 17:32:27 +0000 (10:32 -0700)]
libgui: check for invalid slot in attachBuffer

Bug: 37478824
Test: manual
Change-Id: I369337d53539bf7f7e3d925bccdae4045da1b404
(cherry picked from commit c79a29689c1046f1f0301c75df9b9a67cba8bf04)

6 years agolibgui: Check slot received from IGBP in Surface
Dan Stoza [Mon, 1 May 2017 23:31:53 +0000 (16:31 -0700)]
libgui: Check slot received from IGBP in Surface

Checks that the slot number received from mGraphicBufferProducer in
Surface::dequeueBuffer is on the interval [0, NUM_BUFFER_SLOTS) to
protect against a malicious BnGraphicBufferProducer.

Bug: 36991414
Change-Id: I1a76fd1bcce1c558f1c0c30f03638278288ed4fa
(cherry picked from commit 90ce2a9c1d3af422c66b4061805831cb208263d8)

6 years agoui: Fix bad size check in Fence::unflatten
Chris Forbes [Wed, 10 May 2017 20:12:00 +0000 (13:12 -0700)]
ui: Fix bad size check in Fence::unflatten

Differs slightly from mnc+ patch: GetFlattenedSize was fixed in mnc.

Test: Boot device, run poc from bug, observe no longer crashes
Bug: 37285689
Change-Id: Id8b851733b088cce0d07493fbf76e7e24f9299ad
(cherry picked from commit 9809602ac32dcb7bceaa5bc34df5b7fb68aacd38)

6 years agoMerge cherrypicks of [2310196, 2310339, 2310340, 2310175, 2310320, 2310321, 2310322...
android-build-team Robot [Wed, 24 May 2017 22:12:52 +0000 (22:12 +0000)]
Merge cherrypicks of [2310196231033923103402310175231032023103212310322231032323102172310311231034923103132310331231031423102862310368231038323102722310439231031723103182310370231035223104592310287231038423102372310422231044023103722310289231037423103552310461231042323103752310376231038523103862310275231046223104422310443231053923103782310445231023823104462310540231033523105822310454231065923103922310393231043723106792310626] into nyc-mr2-release

Change-Id: I716e667bb925d01972a6e9ef26bf11cbf3628cc5

6 years agolibgui: check for invalid slot in attachBuffer
Chia-I Wu [Mon, 15 May 2017 17:32:27 +0000 (10:32 -0700)]
libgui: check for invalid slot in attachBuffer

Bug: 37478824
Test: manual
Change-Id: I369337d53539bf7f7e3d925bccdae4045da1b404
(cherry picked from commit c79a29689c1046f1f0301c75df9b9a67cba8bf04)

6 years agolibgui: Check slot received from IGBP in Surface
Dan Stoza [Mon, 1 May 2017 23:31:53 +0000 (16:31 -0700)]
libgui: Check slot received from IGBP in Surface

Checks that the slot number received from mGraphicBufferProducer in
Surface::dequeueBuffer is on the interval [0, NUM_BUFFER_SLOTS) to
protect against a malicious BnGraphicBufferProducer.

Bug: 36991414
Change-Id: I1a76fd1bcce1c558f1c0c30f03638278288ed4fa
(cherry picked from commit 90ce2a9c1d3af422c66b4061805831cb208263d8)

6 years agoui: Fix bad size check in Fence::unflatten
Chris Forbes [Wed, 10 May 2017 20:12:00 +0000 (13:12 -0700)]
ui: Fix bad size check in Fence::unflatten

Differs slightly from mnc+ patch: GetFlattenedSize was fixed in mnc.

Test: Boot device, run poc from bug, observe no longer crashes
Bug: 37285689
Change-Id: Id8b851733b088cce0d07493fbf76e7e24f9299ad
(cherry picked from commit 9809602ac32dcb7bceaa5bc34df5b7fb68aacd38)

6 years agolibgui: check for invalid slot in attachBuffer
Chia-I Wu [Mon, 15 May 2017 17:32:27 +0000 (10:32 -0700)]
libgui: check for invalid slot in attachBuffer

Bug: 37478824
Test: manual
Change-Id: I369337d53539bf7f7e3d925bccdae4045da1b404
(cherry picked from commit c79a29689c1046f1f0301c75df9b9a67cba8bf04)

6 years agolibgui: Check slot received from IGBP in Surface
Dan Stoza [Mon, 1 May 2017 23:31:53 +0000 (16:31 -0700)]
libgui: Check slot received from IGBP in Surface

Checks that the slot number received from mGraphicBufferProducer in
Surface::dequeueBuffer is on the interval [0, NUM_BUFFER_SLOTS) to
protect against a malicious BnGraphicBufferProducer.

Bug: 36991414
Change-Id: I1a76fd1bcce1c558f1c0c30f03638278288ed4fa
(cherry picked from commit 90ce2a9c1d3af422c66b4061805831cb208263d8)

6 years agoui: Fix bad size check in Fence::unflatten
Chris Forbes [Wed, 10 May 2017 20:12:00 +0000 (13:12 -0700)]
ui: Fix bad size check in Fence::unflatten

Differs slightly from mnc+ patch: GetFlattenedSize was fixed in mnc.

Test: Boot device, run poc from bug, observe no longer crashes
Bug: 37285689
Change-Id: Id8b851733b088cce0d07493fbf76e7e24f9299ad
(cherry picked from commit 9809602ac32dcb7bceaa5bc34df5b7fb68aacd38)

6 years agoMerge cherrypicks of [2278225, 2279882, 2279862, 2278226, 2277057, 2279863, 2278227...
android-build-team Robot [Thu, 18 May 2017 00:55:56 +0000 (00:55 +0000)]
Merge cherrypicks of [2278225227988222798622278226227705722798632278227] into nyc-mr2-pixel-monthly-release

Change-Id: I6774ef85615b095adca014cd9a8dbf126aea7f4c

6 years agobinder: remove cgroup interactions [ DO NOT MERGE ]
Tim Murray [Tue, 7 Mar 2017 17:31:09 +0000 (09:31 -0800)]
binder: remove cgroup interactions [ DO NOT MERGE ]

Having binder change cgroups on the fly is too expensive in the common case to be useful.

Test: builds

bug 34825105

Change-Id: Ia692c9d2ab261d852cb2fac8f27d6779d0e2b057
(cherry picked from commit 05f4679d035b8ff8023e75f58b576518b8c3f064)

6 years agorelease-request-513a9883-0d18-4c2f-80ce-cadb234b4e89-for-git_nyc-mr2-pixel-monthly...
android-build-team Robot [Wed, 17 May 2017 22:44:51 +0000 (22:44 +0000)]
release-request-513a9883-0d18-4c2f-80ce-cadb234b4e89-for-git_nyc-mr2-pixel-monthly-release-3938523 snap-temp-L39300000065258774

Change-Id: I7a78c6e34ffa32907d81f5e19af217421745c2ca

6 years agorelease-request-513a9883-0d18-4c2f-80ce-cadb234b4e89-for-git_nyc-mr2-pixel-monthly...
android-build-team Robot [Wed, 17 May 2017 22:44:33 +0000 (22:44 +0000)]
release-request-513a9883-0d18-4c2f-80ce-cadb234b4e89-for-git_nyc-mr2-pixel-monthly-release-3938523 snap-temp-L39300000065258774 (snap-temp-branch)

Change-Id: Id2f1da1207e472264239e5bbe1b5e38cee120fbf

6 years agoRename dump methods to dumpState
Colin Cross [Tue, 27 Sep 2016 01:10:16 +0000 (18:10 -0700)]
Rename dump methods to dumpState

The dump methods shadow the IBinder dump method.  The warnings were being
hidden by the use of -isystem to include frameworks/native/include.

Bug: 31752268
Test: m -j
Merged-in: Iafc64da43032d5d9d84b64640e70d93fd7051bcf
Change-Id: Iafc64da43032d5d9d84b64640e70d93fd7051bcf

6 years agoRun SurfaceFlinger with root privilege
Chih-Wei Huang [Wed, 3 Aug 2016 17:38:50 +0000 (01:38 +0800)]
Run SurfaceFlinger with root privilege

To control virtual consoles, SurfaceFlinger needs the root privilege.

6 years agolibEGL: select pixel format by EGL_NATIVE_VISUAL_ID
Chih-Wei Huang [Mon, 23 Nov 2015 17:08:11 +0000 (01:08 +0800)]
libEGL: select pixel format by EGL_NATIVE_VISUAL_ID

We need this workaround until Mesa supports HAL_PIXEL_FORMAT_RGBA_8888.

6 years agoMerge branch 'android-ia' into nougat-x86
Chih-Wei Huang [Fri, 5 May 2017 03:39:08 +0000 (11:39 +0800)]
Merge branch 'android-ia' into nougat-x86

6 years agoEnable 64-bit support in libs/gui/Sensor.cpp
Byron Gardner [Mon, 3 Nov 2014 23:54:28 +0000 (15:54 -0800)]
Enable 64-bit support in libs/gui/Sensor.cpp

Change-Id: Iaaa112bd821a6a0e3234461df8f7b6acc47b254e
Orig-Change-Id: I04c22e6f2c6f4271ca451b775c8d7f86e4c97c38
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-9998
Category: aosp improvement
Domain: SENSORS.VIRT-Common
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Byron Gardner <byron.gardner@intel.com>
Reviewed-on: https://android.intel.com:443/296325

6 years agoSurfaceFlinger: disable VSync thread if no clients requiring.
Wang, Yue A [Tue, 21 Jan 2014 09:42:13 +0000 (17:42 +0800)]
SurfaceFlinger: disable VSync thread if no clients requiring.

In EventThread, 2 VSYNCs are needed to do composition and update
the client status. So, a 30FPS video may leads to 60FPS VSYNC,
which means the DispSync thread would be waked 60FPS. This is a
unexpected behavior which takes more power consumption. Now we
update the SF status soon after the first VSYNC, which means no
extra VSYNC needed, and the DispSync could be awaked as expected,
and consequently power get saved.

Change-Id: If486eb9b87f109a71f71b510768f15dd733f1233
Orig-Change-Id: I1d3b166021e15a81b2ad770b039761fc2c15fddf
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-12211
Category: aosp improvement
Domain: Graphics-SF
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Wang, Yue A <yue.a.wang@intel.com>
Reviewed-on: https://android.intel.com:443/238344

6 years agoSet PS2 Keyboard controller as not a ketboard type
juntingwang [Fri, 1 Mar 2013 08:02:56 +0000 (16:02 +0800)]
Set PS2 Keyboard controller as not a ketboard type

The Eventhub detects the platforms built-in PS/2 keyboard controller
as a physical keyboard. So the system will not display the software
keyboard by default. Modify it device type in Keyboard-less tablets,
so that ActivityManager will not ignore the PS/2 controller.

Issue: AXIA-1875

Change-Id: Ia5b7592e82aaf1970066bab5e9ca5f46ac83ab1c
Signed-off-by: juntingwang <Junting.Wang@windriver.com>
6 years agobinder: Fix service initialization race vs. service manager
Andy Ross [Tue, 19 Feb 2013 22:39:34 +0000 (14:39 -0800)]
binder: Fix service initialization race vs. service manager

The framework relies on the global IServiceManager running before a
BinderService object is instantiated.  But there was no detection of
the error condition when it was not (specifically: mediaserver can be
initialized before system_server), and in fact the default error
behavior (kill the proxy object) ensured that the process would never
be able to add services again.  Retry the addService() code, and allow
transient binder failures for the special case of the service manager
proxy.

Issue: AXIA-1706
Change-Id: Icac10bb0f47a2fe33ac9605a13633b83afa3ebff
Signed-off-by: Andy Ross <andy.ross@windriver.com>
6 years agoPrevent EventHub from adding input device twice
Daniel Leung [Thu, 13 Sep 2012 20:43:41 +0000 (13:43 -0700)]
Prevent EventHub from adding input device twice

When Android first starts up, it scans /dev/input for input devices.
In some rare instances, the EventHub gets another notification that
some device nodes are created. It then proceeds to add the same
input device again. This causes the system to get two events per
touch or key stroke.

This adds a check to prevent adding the same device if the operation
is triggerd by inotify.

Issue: AXIA-858
Change-Id: I68b02594f1c7f14067611735db0b3763378ec7ea
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
6 years agoegl_extensions: remove force of extension not supported
Daniel Charles [Fri, 13 Jul 2012 23:11:49 +0000 (16:11 -0700)]
egl_extensions: remove force of extension not supported

This problem was introduced by commit 48d438d05f14c.

When the extension GL_EXT_debug_marker is not supported by h/w
the dummy version is used already. Whenever the h/w is ready
to support the extension it will show up and be used by the
OpenGLRenderer.

Change-Id: Iddb58859b187d872a9a3a2986d30f24b8f83e76b
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
6 years agoPre-test native window pointer for validity
Paul Drews [Wed, 18 Jan 2012 19:01:49 +0000 (11:01 -0800)]
Pre-test native window pointer for validity

This fixes a segfault in the oglconform tests when running
the test:

  adb shell /data/app/oglconform -v 4 -minFmt -es -test egl-basic negative.drawables.winSurfBadWin

According the the egl specification this should return
EGL_BAD_NATIVE_WINDOW.  The segfault was resulting from the
fact that the window handle is a (cast to opaque) pointer,
and there are not straightforward ways of pre-testing a
pointer for validity.  The fix implemented here is:

  () Take advantage of the msync() system-call logic to test
     pre-test basic pointer validity
  () Once confirmed that we can reference through the
     pointer, look for the "magic" value dropped in by the
     implementation to mark this type at runtime.

Change-Id: Id7d21c822c8a416e45caba25c63d7076d1e547a5
Original-Change-Id: I3c8df8ef5ece5c0fa71c47417766b5453c355f8b
Signed-off-by: Russell Webb <russell.webb@intel.com>
Signed-off-by: Paul Drews <paul.drews@intel.com>
6 years agoegl: Add NULL check for eglGetconfigs num_config parameter
Pauli Nieminen [Wed, 4 Jan 2012 14:25:10 +0000 (16:25 +0200)]
egl: Add NULL check for eglGetconfigs num_config parameter

EGL 1.4 specification says in 3.4.1:
"An EGL_BAD_PARAMETER error is generated if num config is NULL."

We have to check for the condition and return the required error to
application.

Change-Id: Ib42709f0420161ce661536394d4c0779bc62be57
Original-Change-Id: I4fe670c4362f4ae494f91d69ae105e29ccf3c769
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
6 years agoFix build problem when including hal and egl to same c file
Pauli Nieminen [Tue, 15 Nov 2011 18:33:05 +0000 (20:33 +0200)]
Fix build problem when including hal and egl to same c file

If including hal and egl headers to same c file compilation files
because ANativeWindow type is defined in two headers. In HC egl didn't
include system/core/include/system/window.h which hid the type conflict.

Change-Id: Icaf7b29f913f3d7fa8f6d70bb196585d22e7d05c
Original-Change-Id: Icd37329d80fb4e8b9baf9015c9b00e43ebc4f76b
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
6 years agoInputReader: add 5-point calibration
Chih-Wei Huang [Sat, 1 Nov 2014 17:21:12 +0000 (01:21 +0800)]
InputReader: add 5-point calibration

Updated for Android 5.0.

6 years agoauto determine the density if not provided in surfaceflinger
Chih-Wei Huang [Sun, 26 Oct 2014 07:39:53 +0000 (15:39 +0800)]
auto determine the density if not provided in surfaceflinger

We hope to support tablet UI for different resolutions.
So adjust the density according to the resolution.

6 years agoSurfaceFlinger: enable console management
Chih-Wei Huang [Sun, 26 Oct 2014 07:38:15 +0000 (15:38 +0800)]
SurfaceFlinger: enable console management

The console management was removed since ICS. But it's useful for debugging.
Re-implement it based on the original class ConsoleManagerThread of class
DisplayHardwareBase.

6 years agoSurfaceFlinger: Add NULL check for buffer handling
Praveena Pachipulusu [Thu, 21 Nov 2013 13:27:31 +0000 (18:57 +0530)]
SurfaceFlinger: Add NULL check for buffer handling

Add buffer handling NULL check in dequeueBuffer and
verify whether the output data from binder is not NULL
in queueBuffer and connect api's to avoid SF crash

CRs-Fixed: 573088
CRs-Fixed: 572315

Change-Id: I41cebbc0cbcbbb0fd5ecb38db7ec7b0c91cdffe9

6 years agodisables hardware acceleration if debug.egl.hw=0
Chih-Wei Huang [Sun, 6 Jan 2013 08:56:00 +0000 (16:56 +0800)]
disables hardware acceleration if debug.egl.hw=0

6 years agoAdded option to disable touchscreen pressure sensitivity from idc files
Edward Peek [Tue, 3 Apr 2012 18:17:00 +0000 (06:17 +1200)]
Added option to disable touchscreen pressure sensitivity from idc files

6 years agoSupport old single-touch touchscreens with BTN_LEFT
DanielK [Tue, 20 Mar 2012 06:28:43 +0000 (14:28 +0800)]
Support old single-touch touchscreens with BTN_LEFT

7 years agoMerge cherrypicks of [2007123, 2089669, 2072002, 2094113, 1989895, 2094094, 2017568...
android-build-team Robot [Fri, 21 Apr 2017 20:42:16 +0000 (20:42 +0000)]
Merge cherrypicks of [2007123208966920720022094113198989520940942017568205411120540252074928206647620924312053944209524320925492065088200773020083132053983202533320947162026590205927620894222080090] into nyc-mr2-pixel-monthly-release

Change-Id: I02012e77c1d9b91b6ca6107a1d3dcc2461c3ad2d

7 years agobinder: remove cgroup interactions [ DO NOT MERGE ]
Tim Murray [Tue, 7 Mar 2017 17:31:09 +0000 (09:31 -0800)]
binder: remove cgroup interactions [ DO NOT MERGE ]

Change-Id: I728a4fa685e44d7bcbcdd13d79049a6a2b1971d2

7 years agorelease-request-762540b1-1728-41bc-a9ce-e977f3e2683f-for-git_nyc-mr2-pixel-monthly...
android-build-team Robot [Fri, 21 Apr 2017 17:31:06 +0000 (17:31 +0000)]
release-request-762540b1-1728-41bc-a9ce-e977f3e2683f-for-git_nyc-mr2-pixel-monthly-release-3888830 snap-temp-L22300000056915770

Change-Id: Ia7d217c897ab9a4102f86fbb1b998c93ce12bbf5

7 years agorelease-request-762540b1-1728-41bc-a9ce-e977f3e2683f-for-git_nyc-mr2-pixel-monthly...
android-build-team Robot [Fri, 21 Apr 2017 17:30:51 +0000 (17:30 +0000)]
release-request-762540b1-1728-41bc-a9ce-e977f3e2683f-for-git_nyc-mr2-pixel-monthly-release-3888830 snap-temp-L22300000056915770 (snap-temp-branch)

Change-Id: I1859d4b2f84acb5c7cf3fe06a39680321f09e4f7

7 years agoMerge cherrypicks of [2089422, 2053944, 2094094, 2007730, 2072002, 2065088, 1989895...
android-build-team Robot [Thu, 20 Apr 2017 22:40:39 +0000 (22:40 +0000)]
Merge cherrypicks of [2089422205394420940942007730207200220650881989895208009020265902008313208966920592762094716206647620539832007123201756820541112054025209524320924312092549202533320991682074928] into nyc-mr2-pixel-monthly-release

Change-Id: Id8ae49cc71624543d559de47a99b7c48c018583f

7 years agobinder: remove cgroup interactions [ DO NOT MERGE ]
Tim Murray [Tue, 7 Mar 2017 17:31:09 +0000 (09:31 -0800)]
binder: remove cgroup interactions [ DO NOT MERGE ]

Change-Id: Ida16f48a6422573c611461e5c9fe52e77729d01d

7 years agomerge in nyc-mr2-release history after reset to f1bc21c734d1bef1ee65f687d0989ee7e6085a08
gitbuildkicker [Thu, 30 Mar 2017 23:18:01 +0000 (16:18 -0700)]
merge in nyc-mr2-release history after reset to f1bc21c734d1bef1ee65f687d0989ee7e6085a08

7 years agomerge in nyc-mr2-release history after reset to 11a692ca262080f6007ad61ee3d0e445c650d1db
gitbuildkicker [Thu, 30 Mar 2017 18:46:22 +0000 (11:46 -0700)]
merge in nyc-mr2-release history after reset to 11a692ca262080f6007ad61ee3d0e445c650d1db

7 years agomerge in nyc-mr2-release history after reset to nyc-mr2-dev
gitbuildkicker [Mon, 27 Mar 2017 18:10:14 +0000 (11:10 -0700)]
merge in nyc-mr2-release history after reset to nyc-mr2-dev

7 years agobinder: remove cgroup interactions [ DO NOT MERGE ]
Tim Murray [Tue, 7 Mar 2017 17:31:09 +0000 (09:31 -0800)]
binder: remove cgroup interactions [ DO NOT MERGE ]

Having binder change cgroups on the fly is too expensive in the common case to be useful.

Test: builds

bug 34825105

Change-Id: Ia692c9d2ab261d852cb2fac8f27d6779d0e2b057
(cherry picked from commit 05f4679d035b8ff8023e75f58b576518b8c3f064)

7 years agomerge in nyc-mr2-release history after reset to nyc-mr2-dev
gitbuildkicker [Sun, 5 Feb 2017 08:09:55 +0000 (00:09 -0800)]
merge in nyc-mr2-release history after reset to nyc-mr2-dev

7 years agoMerge "Fix security vulnerability" into nyc-dev am: 2188ad799e am: 80672db6b8 am...
Fabien Sanglard [Thu, 2 Feb 2017 20:20:25 +0000 (20:20 +0000)]
Merge "Fix security vulnerability" into nyc-dev am: 2188ad799e am: 80672db6b8 am: 900cd6a1d2
am: c1038b66dd

Change-Id: If10a72b8c856955a543cf695133b72161192b00b

7 years agoFix security vulnerability am: 45b202513b am: 8778a131c2 am: 18a5e5f607
Fabien Sanglard [Thu, 2 Feb 2017 20:20:13 +0000 (20:20 +0000)]
Fix security vulnerability am: 45b202513b am: 8778a131c2 am: 18a5e5f607
am: f91ee50667

Change-Id: Ib4fad8fa8a393bc6233b842f0550db03708a65b1

7 years agoMerge "Fix security vulnerability" into nyc-dev am: 2188ad799e am: 80672db6b8
Fabien Sanglard [Thu, 2 Feb 2017 20:18:25 +0000 (20:18 +0000)]
Merge "Fix security vulnerability" into nyc-dev am: 2188ad799e am: 80672db6b8
am: 900cd6a1d2

Change-Id: Ieee74bcd82513fc4612c874b966ba9903e26565c

7 years agoFix security vulnerability am: 45b202513b am: 8778a131c2
Fabien Sanglard [Thu, 2 Feb 2017 20:18:12 +0000 (20:18 +0000)]
Fix security vulnerability am: 45b202513b am: 8778a131c2
am: 18a5e5f607

Change-Id: Iec4b5c921b77fd29aea45bdb49cd4d7cda67edc6

7 years agoMerge "Fix security vulnerability" into nyc-dev am: 2188ad799e
Fabien Sanglard [Thu, 2 Feb 2017 20:15:54 +0000 (20:15 +0000)]
Merge "Fix security vulnerability" into nyc-dev am: 2188ad799e
am: 80672db6b8

Change-Id: I5008bd9cd2b14dd52d261f5934024f7526e96f7f

7 years agoFix security vulnerability am: 45b202513b
Fabien Sanglard [Thu, 2 Feb 2017 20:15:42 +0000 (20:15 +0000)]
Fix security vulnerability am: 45b202513b
am: 8778a131c2

Change-Id: Ic9300f2597702d6e83d80222dbc5ca7d2642f621

7 years agoMerge "Fix security vulnerability" into nyc-dev
Fabien Sanglard [Thu, 2 Feb 2017 20:12:43 +0000 (20:12 +0000)]
Merge "Fix security vulnerability" into nyc-dev
am: 2188ad799e

Change-Id: Iac558b8fedbbfdd76ebe90867b70d57c33f8b644

7 years agoFix security vulnerability
Fabien Sanglard [Thu, 2 Feb 2017 20:12:42 +0000 (20:12 +0000)]
Fix security vulnerability
am: 45b202513b

Change-Id: Ifaf692c814e2562332914854dc95c7715d37a5c0

7 years agoMerge "Fix security vulnerability" into nyc-dev
TreeHugger Robot [Thu, 2 Feb 2017 20:08:46 +0000 (20:08 +0000)]
Merge "Fix security vulnerability" into nyc-dev

7 years agomerge in nyc-mr2-release history after reset to nyc-mr2-dev
gitbuildkicker [Thu, 2 Feb 2017 08:09:15 +0000 (00:09 -0800)]
merge in nyc-mr2-release history after reset to nyc-mr2-dev

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:59:36 +0000 (01:59 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a am: 5ba227f96e am: 40cd915a54 am: ded5521871 am: 0e0a258771 am: 6a5a220b48
am: 30ab1434c3

Change-Id: I4e08855d038ae114c6c6230288c6158115fe2f7f

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:57:08 +0000 (01:57 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a am: 5ba227f96e am: 40cd915a54 am: ded5521871 am: 0e0a258771
am: 6a5a220b48

Change-Id: I47743cb142bdb4f21202dc51482fc52996f6b7a4

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:54:35 +0000 (01:54 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a am: 5ba227f96e am: 40cd915a54 am: ded5521871
am: 0e0a258771

Change-Id: I4479a276592fc9d5d25378a5abee12473a2104ae

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:52:06 +0000 (01:52 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a am: 5ba227f96e am: 40cd915a54
am: ded5521871

Change-Id: Ibf93b2a73caab87ee6c0b27234a8cdc05c0aa61e

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:49:06 +0000 (01:49 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a am: 5ba227f96e
am: 40cd915a54

Change-Id: Ib34c9d0e90e77565ab6d0d7fb805bb425964b5aa

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:46:34 +0000 (01:46 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32 am: ebbf8a6b5a
am: 5ba227f96e

Change-Id: I9fc225ba640b4391d60380d7c588015c3e5516a7

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:43:34 +0000 (01:43 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b am: cca3b79c32
am: ebbf8a6b5a

Change-Id: Id8c91e714058b999805aa6da613a4343fecc1d6a

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:41:34 +0000 (01:41 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24 am: c7892d9d0b
am: cca3b79c32

Change-Id: I2e5da5ee33eb2757f360881e6ecc7dfd9fb67938

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2ae...
Fabien Sanglard [Thu, 2 Feb 2017 01:38:33 +0000 (01:38 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef am: 3995674f24
am: c7892d9d0b

Change-Id: Ic59ba49542b907591f3e514ae0417ed82a5be7aa

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef
Fabien Sanglard [Thu, 2 Feb 2017 01:36:33 +0000 (01:36 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f am: 132d0f2aef
am: 3995674f24

Change-Id: I979af2b40c8ee1b3820204cee5fa7e21e4906bf9

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f
Fabien Sanglard [Thu, 2 Feb 2017 01:34:03 +0000 (01:34 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834 am: ac2b87ac0f
am: 132d0f2aef

Change-Id: If2aa999ec1f261ea34a6aa725241ea50226083ad

7 years agoFix security vulnerability am: 2ae83f4f62 am: 11ab583834
Fabien Sanglard [Thu, 2 Feb 2017 01:31:32 +0000 (01:31 +0000)]
Fix security vulnerability am: 2ae83f4f62 am: 11ab583834
am: ac2b87ac0f

Change-Id: I3b249a9ec1820917dc015c72bd093535927c9ed6

7 years agoFix security vulnerability am: 2ae83f4f62
Fabien Sanglard [Thu, 2 Feb 2017 01:29:02 +0000 (01:29 +0000)]
Fix security vulnerability am: 2ae83f4f62
am: 11ab583834

Change-Id: I09ec85b9f83e1f4458940415cd07f6fca725c552

7 years agoFix security vulnerability
Fabien Sanglard [Thu, 2 Feb 2017 01:27:03 +0000 (01:27 +0000)]
Fix security vulnerability
am: 2ae83f4f62

Change-Id: Ie0590dbb8429b5b289f3095055abdc8d29b95a7f

7 years agomerge in nyc-mr2-release history after reset to nyc-mr2-dev
gitbuildkicker [Sun, 22 Jan 2017 08:10:32 +0000 (00:10 -0800)]
merge in nyc-mr2-release history after reset to nyc-mr2-dev

7 years agolibEGL: Add initialization tracing
Jesse Hall [Fri, 20 Jan 2017 01:43:26 +0000 (17:43 -0800)]
libEGL: Add initialization tracing

The first call to eglGetDisplay() loads drivers and initializes
dispatch tables. This currently takes significant time (85-100 ms),
and can must be done before the first frame of an app can be shown.

This change adds systrace markers for the major parts of this process,
as a precursor to optimizing them.

Bug: 34404021
Test: manual systrace of calculator app startup on bullhead
Change-Id: Ibdd62ba4eb0d69e472c64081554c16283967ae08
Merged-In: If1ecb5a81f9d33daf72c6f3e5b403972f8529b2d

7 years agoFix security vulnerability
Fabien Sanglard [Thu, 19 Jan 2017 19:13:20 +0000 (11:13 -0800)]
Fix security vulnerability

Test: hammerhead
Bug: 32628763
Change-Id: I19a81b63fffee8f323a5925c7e8633fbd640b91c