Commit Graph

4349 Commits

Author SHA1 Message Date
Tao Bao 478c173598 Merge "Fix the double free in verify_package_compatibility()." am: ce91df8293 am: dc388aab8b
am: d87bccd567

Change-Id: If0647f3e3e9479078e8152afef64e63f64eb2049
2017-04-18 03:46:24 +00:00
Tao Bao 87206b3ca2 Merge changes from topic 'libvintf' am: c1ca21a32d am: beb1cb1df5
am: 35849591a0  -s ours

Change-Id: Ifc15ea6b3b293740073061f99702200c744fdbb9
2017-04-18 03:46:11 +00:00
Tao Bao d87bccd567 Merge "Fix the double free in verify_package_compatibility()." am: ce91df8293
am: dc388aab8b

Change-Id: I954027631743765ff3155a622a6618ac85056090
2017-04-18 03:31:49 +00:00
Tao Bao 35849591a0 Merge changes from topic 'libvintf' am: c1ca21a32d
am: beb1cb1df5

Change-Id: I293d9e3b2820fe8c41e91032d7be525a7a9e4c38
2017-04-18 03:31:40 +00:00
Tao Bao dc388aab8b Merge "Fix the double free in verify_package_compatibility()."
am: ce91df8293

Change-Id: I44f27412ad803b560a0ea317e7e0e2837e6fad39
2017-04-18 03:27:23 +00:00
Tao Bao beb1cb1df5 Merge changes from topic 'libvintf'
am: c1ca21a32d

Change-Id: I8ba8fc5a7f403a554cf5c1f01b0ccd0b19848277
2017-04-18 03:27:10 +00:00
Tao Bao ce91df8293 Merge "Fix the double free in verify_package_compatibility()." 2017-04-18 03:21:07 +00:00
Tao Bao c1ca21a32d Merge changes from topic 'libvintf'
* changes:
  Add the missing LOCAL_CFLAGS for librecovery.
  Verify the package compatibility with libvintf.
2017-04-18 03:20:49 +00:00
Tao Bao b27a039b9c Merge "libmounts: Remove two dead functions." am: 4854e77fd2 am: 7e031fdfe6
am: fdc5ac8051

Change-Id: I5ce97d5ddf95f58812ca9949b73ca5355976e265
2017-04-17 23:28:54 +00:00
Tao Bao fdc5ac8051 Merge "libmounts: Remove two dead functions." am: 4854e77fd2
am: 7e031fdfe6

Change-Id: Ie4336244e7d1343cd28ab0ea7a0b116138e9cf77
2017-04-17 23:23:54 +00:00
Tao Bao 7e031fdfe6 Merge "libmounts: Remove two dead functions."
am: 4854e77fd2

Change-Id: Iac3ba66cea9a551141ba7c2c97b8eae14b9ec881
2017-04-17 23:18:54 +00:00
Tao Bao 4854e77fd2 Merge "libmounts: Remove two dead functions." 2017-04-17 23:10:28 +00:00
Tao Bao 99c549db74 Fix the double free in verify_package_compatibility().
"""
void* cookie;
std::unique_ptr<void, decltype(&EndIteration)> guard(cookie, EndIteration);
  ...
EndIteration(cookie);
"""

The above pattern is buggy that frees 'cookie' twice.

Bug: 37413730
Test: Build new recovery and adb sideload a previously crashed package
      that contains 'compatibility.zip'.
Change-Id: I183c33827fb28a438ebaedda446e84cabe7cb92d
(cherry picked from commit f978278995)
2017-04-17 15:59:10 -07:00
Tao Bao 7fdcb19e10 Add the missing LOCAL_CFLAGS for librecovery.
The -DAB_OTA_UDPATER part was missing when separating the librecovery
module (commit 62e0bc7586).

Bug: 37300957
Test: Build sailfish recovery image and sideload full OTA.
Change-Id: Idd25662f6bc812c1aca95b096802f59b051f8d63
(cherry picked from commit 25dbe1717e)
2017-04-17 15:58:56 -07:00
Tao Bao 7b781d9a40 Fix the double free in verify_package_compatibility().
am: f978278995

Change-Id: I07547ecde6ad9cbbdd540ddc50e5273ead108e35
2017-04-17 19:31:38 +00:00
Tao Bao f978278995 Fix the double free in verify_package_compatibility().
"""
void* cookie;
std::unique_ptr<void, decltype(&EndIteration)> guard(cookie, EndIteration);
  ...
EndIteration(cookie);
"""

The above pattern is buggy that frees 'cookie' twice.

Bug: 37413730
Test: Build new recovery and adb sideload a previously crashed package
      that contains 'compatibility.zip'.
Change-Id: I183c33827fb28a438ebaedda446e84cabe7cb92d
2017-04-17 10:44:33 -07:00
Tao Bao e95902280c libmounts: Remove two dead functions.
find_mounted_volume_by_device() and remount_read_only() have no active
users. And we don't have a code logic that requires these two functions.

Test: mmma bootable/recovery
Test: Code search shows no user.
Change-Id: Ib11c2ba93ee087ea020c1337eb06686a6165f894
2017-04-16 15:53:47 -07:00
Josh Gao 91eeb9b527 Merge "minadbd: switch adb_thread_create to std::thread." am: d3d91e5595 am: 0836159ce1
am: 572b7ba1bc

Change-Id: I23651b378a75ee352ffb895b78be4129d259fc00
2017-04-14 20:14:18 +00:00
Josh Gao 572b7ba1bc Merge "minadbd: switch adb_thread_create to std::thread." am: d3d91e5595
am: 0836159ce1

Change-Id: Ic6f031298f1f5bf189baf030d225baa67f5c46ca
2017-04-14 20:09:45 +00:00
Josh Gao 0836159ce1 Merge "minadbd: switch adb_thread_create to std::thread."
am: d3d91e5595

Change-Id: If7c9c8cf8d2d8c93c521d3426c55be9068c817cc
2017-04-14 20:07:46 +00:00
Josh Gao d3d91e5595 Merge "minadbd: switch adb_thread_create to std::thread." 2017-04-14 20:04:04 +00:00
Josh Gao 2aa0d3abb4 minadbd: switch adb_thread_create to std::thread.
Test: treehugger
Change-Id: I7edcb13eb1fc6d4f36f5a764a1b647fbf9cd063e
2017-04-13 14:28:00 -07:00
Tao Bao b145e43a08 Add the missing LOCAL_CFLAGS for librecovery.
am: 25dbe1717e

Change-Id: Ie69a29ae06c2f5081b0532cbc6c9c32898187bec
2017-04-13 17:34:28 +00:00
Tao Bao 25dbe1717e Add the missing LOCAL_CFLAGS for librecovery.
The -DAB_OTA_UDPATER part was missing when separating the librecovery
module (commit 62e0bc7586).

Bug: 37300957
Test: Build sailfish recovery image and sideload full OTA.
Change-Id: Idd25662f6bc812c1aca95b096802f59b051f8d63
2017-04-13 08:00:17 -07:00
Tao Bao 1d866050eb Verify the package compatibility with libvintf.
verify_package_compatibility() is added to parse the compatibility entry
(compatibility.zip) in a given OTA package. If entry is present, the
information is sent to libvintf to check the compatibility.

This CL doesn't actually call libvintf, since the API there is not
available yet.

Bug: 36597505
Test: Doesn't break the install with existing packages (i.e. w/o the
      compatibility entry).
Test: recovery_component_test
Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596
(cherry picked from commit 62e0bc7586)
2017-04-12 22:46:09 -07:00
Tao Bao 33ebf7bea4 Verify the package compatibility with libvintf.
am: 62e0bc7586

Change-Id: I35383abfd52766070df0de00013ec743dea190c7
2017-04-13 00:16:19 +00:00
Tao Bao 62e0bc7586 Verify the package compatibility with libvintf.
verify_package_compatibility() is added to parse the compatibility entry
(compatibility.zip) in a given OTA package. If entry is present, the
information is sent to libvintf to check the compatibility.

This CL doesn't actually call libvintf, since the API there is not
available yet.

Bug: 36597505
Test: Doesn't break the install with existing packages (i.e. w/o the
      compatibility entry).
Test: recovery_component_test
Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596
2017-04-12 14:52:00 -07:00
Tianjie Xu 57870ade10 Merge "Protect filename_cache with lock in ota fault" am: 1b28a27c33 am: 461188865b
am: 41bdd91780

Change-Id: I04cbfbe5268bb0decaa3c84d815914ac4dcfa80f
2017-04-11 05:24:36 +00:00
Tianjie Xu 41bdd91780 Merge "Protect filename_cache with lock in ota fault" am: 1b28a27c33
am: 461188865b

Change-Id: I07ff3c134ebca9738a7f7d725ec1c39941047944
2017-04-11 05:19:05 +00:00
Tianjie Xu 461188865b Merge "Protect filename_cache with lock in ota fault"
am: 1b28a27c33

Change-Id: Ie5ed472ddb83f4101b54e74d74a550a0cc5237da
2017-04-11 05:14:04 +00:00
Tianjie Xu 1b28a27c33 Merge "Protect filename_cache with lock in ota fault" 2017-04-11 05:08:05 +00:00
Tianjie Xu 4bb11c745b Protect filename_cache with lock in ota fault
Bug: 33173924
Test: Apply a successfully update on bullhead
Change-Id: I28cc356e216a3e957b5533c338ee6bc3c0920222
2017-04-10 16:21:09 -07:00
Tianjie Xu 3bd7aaf871 Merge "Abort the update if there's not enough new data" am: b4b0c49c48 am: bc66528cb9
am: 955c5ebece

Change-Id: I65b6699cc653192b3b8cbcb88093abd1a0e44ba1
2017-04-10 18:32:54 +00:00
Tianjie Xu 955c5ebece Merge "Abort the update if there's not enough new data" am: b4b0c49c48
am: bc66528cb9

Change-Id: If62e8d2ea8740efb81adfa609ec1544b7563ba4c
2017-04-10 18:29:31 +00:00
Tianjie Xu bc66528cb9 Merge "Abort the update if there's not enough new data"
am: b4b0c49c48

Change-Id: Id2eece5eabd369e0de5b06fc3d5a953a78ef563f
2017-04-10 18:24:24 +00:00
Tianjie Xu b4b0c49c48 Merge "Abort the update if there's not enough new data" 2017-04-10 18:12:09 +00:00
Tianjie Xu 3a8d98dd90 Abort the update if there's not enough new data
Right now the update stuck in a deadlock if there's less new data than
expection. Add some checkers and abort the update if such case happens.
Also add a corresponding test.

Bug: 36787146
Test: update aborts correctly on bullhead && recovery_component_test passes
Change-Id: I914e4a2a4cf157b99ef2fc65bd21c6981e38ca47
2017-04-07 17:19:46 -07:00
Tao Bao 8ce8affee8 Merge "tests: Use get_bootloader_message_blk_device() to find /misc." am: 3cd630a5a8 am: cc630bdde1
am: f25cd871cc

Change-Id: I7ee75869ea3b80548c25e5f96d0906c1e8d88862
2017-04-05 15:51:36 +00:00
Tao Bao f25cd871cc Merge "tests: Use get_bootloader_message_blk_device() to find /misc." am: 3cd630a5a8
am: cc630bdde1

Change-Id: Ib6a8a360e1854096c4d77bcbc99ea7e2dc18d5de
2017-04-05 15:48:35 +00:00
Tao Bao cc630bdde1 Merge "tests: Use get_bootloader_message_blk_device() to find /misc."
am: 3cd630a5a8

Change-Id: Ia5b13eef57e82407e0043579267f1c809fee692a
2017-04-05 15:46:05 +00:00
Tao Bao 3cd630a5a8 Merge "tests: Use get_bootloader_message_blk_device() to find /misc." 2017-04-05 15:40:59 +00:00
Tao Bao ad87d9dc78 tests: Use get_bootloader_message_blk_device() to find /misc.
Since commit fb00d82f32 has added
get_bootloader_message_blk_device() as an API, switch the tests-local
implementation to it.

Test: recovery_component_test on angler.
Test: recovery_component_test on a local build that doesn't have /misc.
Change-Id: I4f5f542cb9ef58292c587a677da73d8822db7262
2017-04-04 20:35:10 -07:00
Alex Deymo c2e3f0e02e Merge "Boot control HAL based on the A/B headers." am: b5fca37976 am: df141b9381
am: c14d0728a7

Change-Id: I9326688728bff043a0accabb8ce55a9ce3b51d61
2017-04-04 23:26:33 +00:00
Alex Deymo c14d0728a7 Merge "Boot control HAL based on the A/B headers." am: b5fca37976
am: df141b9381

Change-Id: I5e16931621728122fc265d8e6c1c904227de2385
2017-04-04 23:24:02 +00:00
Alex Deymo df141b9381 Merge "Boot control HAL based on the A/B headers."
am: b5fca37976

Change-Id: I6ede3c9c4b0f173baa40bb061ce01ecc6f77b73e
2017-04-04 23:21:33 +00:00
Alex Deymo b5fca37976 Merge "Boot control HAL based on the A/B headers." 2017-04-04 23:14:30 +00:00
Tao Bao b126a2cd9a Merge "Change the internal representation in RangeSet." am: 7ffa8be41d am: 2e12242b7a
am: 7f4e5d55f4

Change-Id: Ie48c858013808b1ccbe19b68e236b6bf18471da8
2017-04-04 21:57:57 +00:00
Tao Bao 7f4e5d55f4 Merge "Change the internal representation in RangeSet." am: 7ffa8be41d
am: 2e12242b7a

Change-Id: I126ee51f8c346a72f64fc270f1ac2e38caa5a8d8
2017-04-04 21:52:26 +00:00
Tao Bao 2e12242b7a Merge "Change the internal representation in RangeSet."
am: 7ffa8be41d

Change-Id: Ic7e82fd8b60f93fb5db4f0029d5f63507080b538
2017-04-04 21:48:56 +00:00
Tao Bao 7ffa8be41d Merge "Change the internal representation in RangeSet." 2017-04-04 21:44:27 +00:00