Commit graph

4597 commits

Author SHA1 Message Date
Tao Bao
1d33e0815d Merge "Revert "Remove EXPAND/STRINGIFY macros.""
am: 7c42198581

Change-Id: I89eb2acace8e53a2af00fd681e6298edc157f8ac
2017-05-04 00:44:10 +00:00
Tao Bao
7c42198581 Merge "Revert "Remove EXPAND/STRINGIFY macros."" 2017-05-04 00:32:53 +00:00
Tao Bao
8be0f39fec Revert "Remove EXPAND/STRINGIFY macros."
This reverts commit ec9706738f.

Reason for revert: It's not a good idea to put RECOVERY_API_VERSION in
common.h, which might be included by device-specific codes (but with
RECOVERY_API_VERSION undefined).

Change-Id: I9feb9c64a5af3e9165164622a59b043aa28a8b8c
2017-05-04 00:31:11 +00:00
Tao Bao
bfca876038 Merge "fuse_sideload: Change the minimal block size to 4096." am: 4e8e56eaea am: 53b98de866
am: 6bea344d7e

Change-Id: If7e905a7630ee8cf142752695272afb8e76c28cb
2017-05-04 00:06:38 +00:00
Tao Bao
6bea344d7e Merge "fuse_sideload: Change the minimal block size to 4096." am: 4e8e56eaea
am: 53b98de866

Change-Id: Id70ff412dcc22ef36fd9cdd0540211ce49cb2437
2017-05-04 00:04:08 +00:00
Tao Bao
53b98de866 Merge "fuse_sideload: Change the minimal block size to 4096."
am: 4e8e56eaea

Change-Id: Ica6e3890e6f13ef57d7da340bfa0314b3f121b49
2017-05-04 00:01:37 +00:00
Tao Bao
4e8e56eaea Merge "fuse_sideload: Change the minimal block size to 4096." 2017-05-03 23:52:34 +00:00
Tao Bao
dd08a0d4d3 Merge "Remove EXPAND/STRINGIFY macros." am: b00c66faf7 am: 3642b99073
am: 5f8d2932d0

Change-Id: Ib13d560262af5b9dbe762a7d7b01831b4791ba2f
2017-05-03 23:48:37 +00:00
Tao Bao
5f8d2932d0 Merge "Remove EXPAND/STRINGIFY macros." am: b00c66faf7
am: 3642b99073

Change-Id: I28a2be565c74a051c8b5e7a5633455eb86483a3d
2017-05-03 23:46:37 +00:00
Tao Bao
3642b99073 Merge "Remove EXPAND/STRINGIFY macros."
am: b00c66faf7

Change-Id: I59a8424b2df0a8e02999061a80b9ecefd8aa23db
2017-05-03 23:43:37 +00:00
Tao Bao
b00c66faf7 Merge "Remove EXPAND/STRINGIFY macros." 2017-05-03 23:38:32 +00:00
Tianjie Xu
f38401a27c Update the comment for obsolete symlink handling .
Symlink is a filebased OTA feature, and the corresponding updater
function has been removed in
https://android-review.googlesource.com/#/c/350357/.

Also the only place where we call "package_extract_dir()" is to unpack
some bootloader dir in vendor's code. We plan to remove it also in a
separate bug.

Bug: 31917448
Test: mma
Change-Id: I3986d60958e64e0d5d8fa5f5bd508c579fb7fa2c
2017-05-03 23:34:42 +00:00
Tao Bao
ec9706738f Remove EXPAND/STRINGIFY macros.
They are error-prone by putting anything into a string (e.g.
EXPAND(RECOVERY_API_VERSION) would become "RECOVER_API_VERSION" if we
forgot to pass -DRECOVERY_API_VERSION=3).

RECOVERY_API_VERSION is the only user (in bootable/recovery) that gets
stringified. Assign it to a typed var and sanity check the value.

Don't see other reference to the macros from device-specific recovery
directories (they can still define that locally if really needed).

Test: recovery_component_test
Test: Sideload an OTA on angler and marlin respectively.
Change-Id: I358bbdf8f0a99db5ce4c7bc2fdcafe8013501b64
2017-05-03 11:26:00 -07:00
Tianjie Xu
03f740ec3d Merge "Add a default error code when updater script aborts" am: 89394632b1 am: 18bb9a4f26
am: 7a1c2943ab

Change-Id: I56207a2e987ee09e05270b0249b5f579f1710d11
2017-05-03 17:46:12 +00:00
Tianjie Xu
7a1c2943ab Merge "Add a default error code when updater script aborts" am: 89394632b1
am: 18bb9a4f26

Change-Id: I0614c33388d68a45d443de8058c2ee36e896c583
2017-05-03 17:43:41 +00:00
Tianjie Xu
18bb9a4f26 Merge "Add a default error code when updater script aborts"
am: 89394632b1

Change-Id: Iceebf87fb62b1c2a23e20c2b4966606c0c7b0a72
2017-05-03 17:40:41 +00:00
Tianjie Xu
89394632b1 Merge "Add a default error code when updater script aborts" 2017-05-03 17:34:45 +00:00
Tianjie Xu
e0c88793d1 Add a default error code when updater script aborts
We didn't report error/cause codes unless there's an explict "Abort()"
call inside the updater script. As a result, some cause codes set by
ErrorAbort() didn't show up in last_install.

To fix the issue, add a default error code when the script terminates
abnormally (i.e. with non zero status).

Bug: 37912405
Test: error/cause code shows up in last_install when argument parsing fails
Change-Id: Ic6d3bd1855b853aeaa0760071e593a00cf6f0209
2017-05-03 05:52:03 +00:00
Tao Bao
586377d1f3 Merge "Move sysMapFile and sysReleaseMap into MemMapping class." am: fe7eecff4c am: 08d9ede8f2
am: b3eeb817ab

Change-Id: I1bcf86cbbc495bf5df92dc53e01be39e7c623255
2017-05-02 23:51:32 +00:00
Tao Bao
b3eeb817ab Merge "Move sysMapFile and sysReleaseMap into MemMapping class." am: fe7eecff4c
am: 08d9ede8f2

Change-Id: I48024bef3d747e7f7913e5f76043ea74972ba135
2017-05-02 23:49:33 +00:00
Tao Bao
08d9ede8f2 Merge "Move sysMapFile and sysReleaseMap into MemMapping class."
am: fe7eecff4c

Change-Id: Id67b92ed607b678aee3074329dad49d6e78c1896
2017-05-02 23:47:33 +00:00
Tao Bao
fe7eecff4c Merge "Move sysMapFile and sysReleaseMap into MemMapping class." 2017-05-02 23:42:28 +00:00
Tao Bao
ed13819a0d fuse_sideload: Change the minimal block size to 4096.
run_fuse_sideload() is passing the block size as the max_read
option, so it will only handle a request that involves at most two
blocks at a time. However, the minimal allowed value was set to 1024
prior to this CL, which is inconsistent with the kernel code
(fs/fuse/inode.c) that sets it to the greater of 4096 and the passed-in
max_read option. This would fail the calls with a block size / max_read
less than 4096 due to the wrongly computed block indices.

Note that we didn't observe real issue in practice, because we have been
using 64 KiB block sizes for both of adb and sdcard sideload calls. The
issue only shows up in my local CL (to come later) that uses 1024 block
size in run_fuse_sideload() tests.

Test: recovery_component_test
Test: adb sideload with the new recovery image on angler
Change-Id: Id9f0cfea13d0d193dcb7cd41a1553a23739545f2
2017-05-02 15:56:22 -07:00
Tao Bao
b656a154ea Move sysMapFile and sysReleaseMap into MemMapping class.
Test: recovery_component_test
Test: recovery_unit_test
Test: Apply an OTA on angler.
Change-Id: I7170f03e4ce1fe06184ca1d7bcce0a695f33ac4d
2017-05-01 21:51:54 -07:00
Tao Bao
2fdfcf17fb Merge "recovery: Change install_package() to take std::string." am: ba365180d3 am: c0c4ae1583
am: a0fb95a386

Change-Id: Ieb03e2d9ecb228305274849c1f2a92b5b9842e98
2017-05-02 02:22:05 +00:00
Tao Bao
a0fb95a386 Merge "recovery: Change install_package() to take std::string." am: ba365180d3
am: c0c4ae1583

Change-Id: Ifc4791197b987071609552de9a8552df385ac71d
2017-05-02 02:19:35 +00:00
Tao Bao
c0c4ae1583 Merge "recovery: Change install_package() to take std::string."
am: ba365180d3

Change-Id: Ibc9d75359447d36bc5c8b827fa768b20057e56e8
2017-05-02 02:17:34 +00:00
Tao Bao
ba365180d3 Merge "recovery: Change install_package() to take std::string." 2017-05-02 02:10:43 +00:00
Tao Bao
fb26613a83 Merge "adb_install: Stop passing RecoveryUI as a parameter." am: e58dabade9 am: dc534a9481
am: 139a6dd9e2

Change-Id: Iafe926bcdcfe28de78801493132af8fb9605de79
2017-05-01 20:56:11 +00:00
Tao Bao
139a6dd9e2 Merge "adb_install: Stop passing RecoveryUI as a parameter." am: e58dabade9
am: dc534a9481

Change-Id: I30a59d772bb291564357d7a9bf64667856266bef
2017-05-01 20:53:42 +00:00
Tao Bao
dc534a9481 Merge "adb_install: Stop passing RecoveryUI as a parameter."
am: e58dabade9

Change-Id: Ia574203d27a258c99ffbb035143a3875ab184636
2017-05-01 20:52:11 +00:00
Tao Bao
e58dabade9 Merge "adb_install: Stop passing RecoveryUI as a parameter." 2017-05-01 20:45:21 +00:00
Tao Bao
29ee69bf27 recovery: Change install_package() to take std::string.
Also change the parameter type for log_buffer from reference to pointer,
so the styles for parameters look consistent.

Test: mmma bootable/recovery
Test: sideload a package with the new recovery image
Change-Id: I8f25580ccf22977624648b3e2181cca44dd67c1b
2017-05-01 12:31:48 -07:00
Tao Bao
0150d013eb adb_install: Stop passing RecoveryUI as a parameter.
It's already a global declared in common.h which is included by
adb_install.cpp.

Remove '#include "minadbd/fuse_adb_provider.h"' that's not needed by
adb_install.cpp (minadbd takes care of that).

Test: mmma bootable/recovery
Change-Id: I6d08b7abc706b4b05de2ef46a57ced2204ad297e
2017-05-01 11:47:43 -07:00
Tao Bao
895e6fdf36 Merge "minui: Fix breakage in graphics_adf." am: 54da112277 am: d66f05b82c
am: 4cc6889da8

Change-Id: Id405586d2ff8a94a49c9cb649483dbb7ec645fd1
2017-04-29 18:55:26 +00:00
Tao Bao
4cc6889da8 Merge "minui: Fix breakage in graphics_adf." am: 54da112277
am: d66f05b82c

Change-Id: I1b2eeab49d9ab625ba396c111df1da94ff7701c7
2017-04-29 18:52:55 +00:00
Tao Bao
d66f05b82c Merge "minui: Fix breakage in graphics_adf."
am: 54da112277

Change-Id: Ia65d9494373e6583325779a6fdd27e06dd01902a
2017-04-29 18:50:56 +00:00
Tao Bao
54da112277 Merge "minui: Fix breakage in graphics_adf." 2017-04-29 18:47:53 +00:00
Alistair Strachan
4697d8b11b minui: Fix breakage in graphics_adf.
When graphics_adf was refactored in 557fa1f, a class member was introduced
that was not initialized to zero. This meant that the first time Flip()
was called, current_surface would have a junk value and cause a bad
pointer rereference, crashing recovery.

Make sure current_surface is initialized to 0 for the first Flip().

Test: Ran recovery on a device using the ADF backend.
Change-Id: I9b8fac0a4d48cac990e5e9808a071c232de1ebfb
2017-04-28 16:13:02 -07:00
Tianjie Xu
36e3388bdc Merge "Fix potential OOM in update_verifier" am: 5443072c3c am: 00a309ab3e
am: 711e8b649d

Change-Id: Idf8b683ed3597063637af7f73c11c9cd3672b3f6
2017-04-28 18:31:23 +00:00
Tianjie Xu
711e8b649d Merge "Fix potential OOM in update_verifier" am: 5443072c3c
am: 00a309ab3e

Change-Id: Iac217d868ccc8a3fd90dcfb26c89d653ce066ffb
2017-04-28 18:24:52 +00:00
Tianjie Xu
00a309ab3e Merge "Fix potential OOM in update_verifier"
am: 5443072c3c

Change-Id: I8bfcd49c0a5f57149d6a87ecfb244273acff3208
2017-04-28 18:16:21 +00:00
Tianjie Xu
5443072c3c Merge "Fix potential OOM in update_verifier" 2017-04-28 18:03:24 +00:00
Dmitri Plotnikov
7b385fb738 Adding support for quiescent reboot to recovery
am: ed9db0fd73

Change-Id: Ied907089cc7a88c4cf75dbbfa366a27cc9b01f73
2017-04-28 03:57:24 +00:00
Dmitri Plotnikov
ed9db0fd73 Adding support for quiescent reboot to recovery
Bug: 37401320
Test: build and push OTA and hit adb reboot recovery,quiescent. The screen should remain off throughout the upgrade process.

(cherry picked from commit 8706a98aa6)

Change-Id: I79789a151f6faafda8ecc6198c2182cc2a91da70
2017-04-27 16:31:11 -07:00
Dmitri Plotnikov
8a3d58655c Merge "Adding support for quiescent reboot to recovery" am: 0481faef77 am: 5b27cd1093
am: 533ad31cc1

Change-Id: Ia5505643eb1206ae333371a42aa47f81fdbc8d18
2017-04-27 23:00:04 +00:00
Dmitri Plotnikov
533ad31cc1 Merge "Adding support for quiescent reboot to recovery" am: 0481faef77
am: 5b27cd1093

Change-Id: I5d7730fedba7a9b5e39bd4ee3d093036406a7bd4
2017-04-27 22:47:03 +00:00
Dmitri Plotnikov
5b27cd1093 Merge "Adding support for quiescent reboot to recovery"
am: 0481faef77

Change-Id: I79e31282bd133e0de5b0f0601c5bc3bd728ddd64
2017-04-27 22:41:33 +00:00
Treehugger Robot
0481faef77 Merge "Adding support for quiescent reboot to recovery" 2017-04-27 22:34:16 +00:00
Tao Bao
322d866ec8 Merge "Separate libupdate_verifier module and add testcases." am: c99bb23955 am: d8c078d2c6
am: c7410924a3

Change-Id: I452f0a1b5c0377f985294d37d59a19d1272be50d
2017-04-27 21:32:30 +00:00