Commit Graph

6495 Commits

Author SHA1 Message Date
Tao Bao ca16ae1b04 Merge "applypatch: Restrict applypatch_check to eMMC targets." am: e02cbaaa62 am: 254d43a3b9
am: 9f404742d4

Change-Id: I6cbc6cdcb66ddb5f6d0558119e751b63701e52d3
2018-07-09 23:35:39 -07:00
Tao Bao 9f404742d4 Merge "applypatch: Restrict applypatch_check to eMMC targets." am: e02cbaaa62
am: 254d43a3b9

Change-Id: Ic036ffe5fafa8ed07db6d0ce5cb56a40eb6e7f51
2018-07-09 23:32:38 -07:00
Tao Bao 254d43a3b9 Merge "applypatch: Restrict applypatch_check to eMMC targets."
am: e02cbaaa62

Change-Id: I931bee4ccdf675cc5c7ead82cae011e0c53555de
2018-07-09 23:28:35 -07:00
Tao Bao e02cbaaa62 Merge "applypatch: Restrict applypatch_check to eMMC targets." 2018-07-10 06:19:19 +00:00
Tao Bao 876fcbe84a Merge "applypatch: Fix a potential nullptr dereferencing." am: b9b50cd58c am: 471053ba87
am: b5c13bc7eb

Change-Id: Ie4d39fd1585c874e18a01ca0cea6e3c3fe9d77f5
2018-07-09 23:04:17 -07:00
Tao Bao b5c13bc7eb Merge "applypatch: Fix a potential nullptr dereferencing." am: b9b50cd58c
am: 471053ba87

Change-Id: I5a0558926bdfae52bb867e3b6d3321fbc4e3b61b
2018-07-09 22:56:13 -07:00
Tao Bao 471053ba87 Merge "applypatch: Fix a potential nullptr dereferencing."
am: b9b50cd58c

Change-Id: I69b6aedc536ec5391ba3e175b312b8c04453993e
2018-07-09 22:51:10 -07:00
Tao Bao b9b50cd58c Merge "applypatch: Fix a potential nullptr dereferencing." 2018-07-10 05:42:29 +00:00
Tao Bao 7c1d426dbc applypatch: Restrict applypatch_check to eMMC targets.
Also fix an error-pone behavior in previous code when verifying an eMMC
target. As long as it loads the partition content successfully according
to the SHAs embedded in the filename, it shouldn't further check against
the SHAs given in the second argument. Because the loaded contents
relate to a specific partition size.

For example:

  apply_patch_check(
      "EMMC:/boot.img:src_size:src_hash:tgt_size:tgt_hash",
      "src_hash");

Assume "/boot.img" already has the desired hash of "tgt_hash", the
previous code would give wrong verification result. The issue can be
addressed by additionally listing "tgt_hash" as one of the desired SHAs
(or by applying this CL).

Bug: 110106408
Test: Run recovery_unit_test and recovery_component_test on marlin.
Change-Id: I8daafdbecd083f687e24d563ab089caa25667633
2018-07-09 21:13:56 -07:00
Tao Bao 862b7c49ff Merge "updater: Remove the support for sha1_check()." am: fbc0f6062c am: e2136c46cb
am: e9de7c4435

Change-Id: If5f8d6638a2bd8ac84cc8281278b724f3fd73b45
2018-07-09 18:04:02 -07:00
Tao Bao e9de7c4435 Merge "updater: Remove the support for sha1_check()." am: fbc0f6062c
am: e2136c46cb

Change-Id: Ic5e41781e6c584b9b23ea22c91914e4747751b94
2018-07-09 17:30:45 -07:00
Tao Bao e2136c46cb Merge "updater: Remove the support for sha1_check()."
am: fbc0f6062c

Change-Id: I487b1f9bd35335f39c1dd3ab7a4e5dfe722b1863
2018-07-09 17:17:36 -07:00
Tao Bao fbc0f6062c Merge "updater: Remove the support for sha1_check()." 2018-07-09 23:56:45 +00:00
Tao Bao 7ea515e6fc applypatch: Fix a potential nullptr dereferencing.
Note that the code exists in debugging path only, and won't be hit
unless device has flaky flash.

Test: Run recovery_unit_test and recovery_component_test on marlin.
Change-Id: I0c71adc271f08f00e3eabd9d14cd8af3186c5bae
2018-07-09 15:22:35 -07:00
Tao Bao 0b58e9a011 updater: Remove the support for sha1_check().
The matching edify function has been removed from EdifyGenerator [1]. In
theory device-specific releasetools script may still use this function,
but it no longer looks useful. Because a) we should use range_sha1()
when asserting the SHA-1 hash of a block device; b) we should look into
the contents when asserting a text file.

[1] https://android-review.googlesource.com/c/platform/build/+/714104

Test: Run recovery_component_test on marlin.
Test: Code search shows no active user.
Change-Id: Id39439101534fb89cf8c5cea80a4b758c8a1a60d
2018-07-09 12:38:19 -07:00
Tao Bao 9c00224fc7 Merge "updater: Add ABORT command." am: c059b6c1c6 am: b450952d6a
am: 7c9549471b

Change-Id: I201b058ea2e3dcd07538a917b684d7383a08a097
2018-07-09 10:57:58 -07:00
Tao Bao 7c9549471b Merge "updater: Add ABORT command." am: c059b6c1c6
am: b450952d6a

Change-Id: I908878675f1a3d3f70f20c8b0d7ef1e7c3b52c5e
2018-07-09 10:53:56 -07:00
Tao Bao b450952d6a Merge "updater: Add ABORT command."
am: c059b6c1c6

Change-Id: Ib469e055e7a02fb870158a2ae38a83ea6c80ad7d
2018-07-09 10:49:07 -07:00
Tao Bao c059b6c1c6 Merge "updater: Add ABORT command." 2018-07-09 17:38:40 +00:00
Tao Bao 91a649ab62 updater: Add ABORT command.
This will be used for testing purpose only, replacing the previously
used "fail", to intentionally abort an update.

As we're separating the logic between commands parsing and execution,
"abort" needs to be considered as a valid command during the parsing.

Test: recovery_unit_test and recovery_component_test on marlin.
Change-Id: I47c41c423e62c41cc8515fd92f3c5959be08da02
2018-07-07 04:12:19 +00:00
Tao Bao 9dfbf6a63b Merge "tests: Split unit tests out of component/applypatch_test.cpp." am: cf1f9bdb12 am: cac6932cf4
am: 399cd1f884

Change-Id: I94843ca50077b26badeff5b365e22b300aa28b85
2018-07-06 14:36:07 -07:00
Tao Bao 399cd1f884 Merge "tests: Split unit tests out of component/applypatch_test.cpp." am: cf1f9bdb12
am: cac6932cf4

Change-Id: Ifc97a0a4eec9d5c34823704975600df9cb3b38b3
2018-07-06 14:31:33 -07:00
Tao Bao cac6932cf4 Merge "tests: Split unit tests out of component/applypatch_test.cpp."
am: cf1f9bdb12

Change-Id: I757522af647cef17e7e240fc0b22258788e4c634
2018-07-06 14:27:30 -07:00
Tao Bao cf1f9bdb12 Merge "tests: Split unit tests out of component/applypatch_test.cpp." 2018-07-06 21:18:32 +00:00
Tao Bao b8cb2e6322 tests: Split unit tests out of component/applypatch_test.cpp.
... into unit/applypatch_test.cpp. And rename the file to
component/applypatch_modes_test.cpp.

Bug: 110106408
Test: Run recovery_unit_test and recovery_component_test on marlin.
Change-Id: Ic23c4f054baa2fa0d5e8ea2fcffd22572f1f112e
2018-07-06 12:21:41 -07:00
Jeremy Compostella 6bfc75a300 Merge "minui/drm: wait for page flip completion" am: d419966730 am: d3e023c265
am: cb482213b4

Change-Id: I0695b0167adb962b860e69d59c684521bada1d5a
2018-07-03 19:14:03 -07:00
Jeremy Compostella cb482213b4 Merge "minui/drm: wait for page flip completion" am: d419966730
am: d3e023c265

Change-Id: I8e67ffc5dca20bf238d79cd66fc2a0eac144baf3
2018-07-03 19:10:03 -07:00
Jeremy Compostella d3e023c265 Merge "minui/drm: wait for page flip completion"
am: d419966730

Change-Id: Ibbf3dbbcf89a1757ac305b31cbf29667d8cd26e0
2018-07-03 19:06:01 -07:00
Treehugger Robot d419966730 Merge "minui/drm: wait for page flip completion" 2018-07-04 01:57:44 +00:00
Tianjie Xu 5e79224474 Merge "No longer print hash for stashed blocks during verification of retry" am: 0a84d7260b am: 65419746cb
am: db33eeeacc

Change-Id: I7e12332a2546a9b2cdfc17a853b0805f63982379
2018-07-03 13:45:24 -07:00
Tianjie Xu db33eeeacc Merge "No longer print hash for stashed blocks during verification of retry" am: 0a84d7260b
am: 65419746cb

Change-Id: I179a877d89ffff210a87df26a589dd403d77ad4f
2018-07-03 13:41:22 -07:00
Tianjie Xu 65419746cb Merge "No longer print hash for stashed blocks during verification of retry"
am: 0a84d7260b

Change-Id: I567bb581faa27a6ba1a4834a8cbe82f8c4052a31
2018-07-03 13:36:21 -07:00
Tianjie Xu 0a84d7260b Merge "No longer print hash for stashed blocks during verification of retry" 2018-07-03 20:22:40 +00:00
Jeremy Compostella 955da1e26d minui/drm: wait for page flip completion
If two consecutive call are made to drmModePageFlip, the second call
may fail with -EBUSY because the first flip is not completed yet.

This patch adds a wait for completion mechanism based on
drmHandleEvent.

Change-Id: Ied13ebefc7523003431b1b307bae70d1a70cb24b
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Signed-off-by: Benoit Fradin <benoit.fradin@intel.com>
2018-07-03 17:43:06 +00:00
Tianjie Xu 3c5958f62d No longer print hash for stashed blocks during verification of retry
During block verification, load stash reads from the source blocks on
the device instead of the stashed files. And for interrupted update,
it's pretty common that the source blocks has already been overwritten
by subsequent commands.

In that case the hash printing is mostly useless. Moreover we should have
already printed the hash when the first update failed.

Bug: 80241799
Test: Unit tests pass. No longer prints mismatching stashed source blocks on retry.
Change-Id: I4effe684280b0325199f6cc4b2cc26e91295c2d7
2018-07-02 16:42:09 -07:00
Tao Bao c3701ea992 Merge "updater: Check the number of args in Command::Parse." am: 95b8d2b064 am: 42f96e5516
am: 33cfd108ca

Change-Id: Ib04c9fac8f4997dbacf349a3f927a21d1b7a0a04
2018-06-25 20:49:16 -07:00
Tao Bao 33cfd108ca Merge "updater: Check the number of args in Command::Parse." am: 95b8d2b064
am: 42f96e5516

Change-Id: I112be68943872b9398e49367b350112e4eebcdfd
2018-06-25 20:46:12 -07:00
Tao Bao c8f11d9c20 Merge "updater: Add Command parsing codes." am: afc2962e60 am: e6604307f6
am: 28811678ef

Change-Id: I2974edebdb99ed7b2a55fbc8aaeb3d60fb7d5014
2018-06-25 20:42:04 -07:00
Tao Bao 42f96e5516 Merge "updater: Check the number of args in Command::Parse."
am: 95b8d2b064

Change-Id: Ic78e44cdca8a1c394f63b99efdcfecea8a3fdd71
2018-06-25 20:42:01 -07:00
Tao Bao 28811678ef Merge "updater: Add Command parsing codes." am: afc2962e60
am: e6604307f6

Change-Id: I5d741703be298395a5dcc9c5ca646f063f740c42
2018-06-25 20:39:11 -07:00
Tao Bao 95b8d2b064 Merge "updater: Check the number of args in Command::Parse." 2018-06-26 03:37:03 +00:00
Tao Bao e6604307f6 Merge "updater: Add Command parsing codes."
am: afc2962e60

Change-Id: I24cc3beca7c75786cbfad37ab273139fd2d1ca2f
2018-06-25 20:36:08 -07:00
Tao Bao afc2962e60 Merge "updater: Add Command parsing codes." 2018-06-26 03:30:52 +00:00
Tao Bao 92f339372c updater: Check the number of args in Command::Parse.
Additionally checks for excess args when parsing ERASE, FREE, NEW, STASH
and ZERO. Note that the check for MOVE, BSDIFF, IMGDIFF has been covered
in Command::ParseTargetInfoAndSourceInfo.

Test: Run recovery_unit_test on marlin.
Change-Id: Ic8bc9b7a8dcf98f1f8db2e259607564508726857
2018-06-25 13:39:33 -07:00
Tao Bao 6a7e4af7c6 updater: Add Command parsing codes.
The added codes are not used in the updater yet. The switch will happen
in subsequent CLs.

Test: Run recovery_unit_test and recovery_component_test on marlin.
Change-Id: I1ae8a233280f02c2171b43ef028bdccdacb39c59
2018-06-25 13:39:29 -07:00
Tao Bao a9be0c16f3 Merge "applypatch: {Load,Save}FileContents and ParseSha1 take std::string." am: b4181566f9 am: 839c40513a
am: d9f532e7a2

Change-Id: I87cf9ea66c3a8a7632650bf8f740a2aa8a959e9c
2018-06-25 07:51:45 -07:00
Tao Bao d9f532e7a2 Merge "applypatch: {Load,Save}FileContents and ParseSha1 take std::string." am: b4181566f9
am: 839c40513a

Change-Id: Ib729d49068b0ce6ff80941102023b3e2688abe59
2018-06-25 07:47:41 -07:00
Tao Bao 839c40513a Merge "applypatch: {Load,Save}FileContents and ParseSha1 take std::string."
am: b4181566f9

Change-Id: I9fb25b58eaa23443d24c3d6ed75d52ac96c7788f
2018-06-25 07:44:17 -07:00
Tao Bao b4181566f9 Merge "applypatch: {Load,Save}FileContents and ParseSha1 take std::string." 2018-06-25 14:35:03 +00:00
Tao Bao b8cb76e380 Merge "applypatch: Move to libbase logging." am: bd76709827 am: 513c7fb9e0
am: 2141a760cc

Change-Id: I6996fc61a40c548121d67a263f89630bbae8361c
2018-06-24 11:02:57 -07:00