Commit graph

1368 commits

Author SHA1 Message Date
Yabin Cui
4f2df162c6 Fix integer overflows in recovery procedure.
Bug: 26960931
Change-Id: Ieae45caccfb4728fcf514f0d920976585d8e6caf
(cherry picked from commit a029c9a458)
2016-02-22 11:02:08 -08:00
Narayan Kamath
838768ca57 am 15da523e: am 3c7f655b: (-s ours) am 0e804d54: am d396b9db: am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit '15da523e5fe7dbdc3a8d49c809042bc760081920':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-16 23:06:09 +00:00
Narayan Kamath
15da523e5f am 3c7f655b: (-s ours) am 0e804d54: am d396b9db: am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit '3c7f655bf0382776617d3c98293e28d9967c9a96':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-16 22:57:58 +00:00
Narayan Kamath
3c7f655bf0 am 0e804d54: am d396b9db: am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit '0e804d542a2c151d254cad0d8581d9709a394a9a':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-16 22:48:24 +00:00
Narayan Kamath
0e804d542a am d396b9db: am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit 'd396b9dbd99924f7c8687227b22220a87c85d9c7':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-16 22:33:14 +00:00
Narayan Kamath
d396b9dbd9 am 710b6bb9: am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit '710b6bb9d7d36ce16453850efc3112016a77e9ff':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-12 06:30:01 +00:00
Narayan Kamath
710b6bb9d7 am ec4b58ad: (-s ours) am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit 'ec4b58ad8a21b511bf6b136792bb924eb6e9e299':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-10 20:55:33 +00:00
Narayan Kamath
ec4b58ad8a am ec63d564: Track usage of Vector / SortedVector from libutils DO NOT MERGE
* commit 'ec63d564a86ad5b30f75aa307b4bd271f6a96a56':
  Track usage of Vector / SortedVector from libutils DO NOT MERGE
2015-09-10 18:26:12 +00:00
Narayan Kamath
ec63d564a8 Track usage of Vector / SortedVector from libutils DO NOT MERGE
bug: 22953624
Change-Id: Ifcc17e39433ac91ca41da5d336fb3006dfbb65a8
2015-09-09 10:42:10 +00:00
Tao Bao
5aa3ce3aaa am be19dce8: udpater: Call fsync() after rename().
* commit 'be19dce86ce7d4a83f1cfcd11db393f8be8f4397':
  udpater: Call fsync() after rename().
2015-08-04 21:01:11 +00:00
Tao Bao
be19dce86c udpater: Call fsync() after rename().
We need to ensure the renamed filename reaches the underlying storage.

Bug: 22840552
Change-Id: I824b6e9d8a9c5966035be7b42a73678d07376342
(cherry picked from commit dc3922622a)
2015-08-04 11:28:12 -07:00
Tao Bao
6e9dda70cb uncrypt: Support file level encryption.
Bug: 22534003
Change-Id: Iaf42a6e5b40cfef904de66e212ae8b77b2953ef7
2015-07-16 20:04:39 -07:00
Paul Lawrence
90c75b0beb Change init sequence to support file level encryption
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.

Split property loaded into system and data, and load in right order.

Bug: 22233063
Change-Id: I409c12e3f4a8cef474eb48818e96760fe292cc49
2015-07-07 13:26:17 -07:00
Paul Lawrence
10cf0942a7 Merge "Revert "Change init sequence to support file level encryption"" into mnc-dev 2015-07-07 17:29:02 +00:00
Paul Lawrence
392879eec0 Revert "Change init sequence to support file level encryption"
This reverts commit 98c1a3de23.

Change-Id: I524060418de18f97c3865ebc4435f501015e92ee
2015-07-07 17:05:39 +00:00
Paul Lawrence
d6b2b65dc4 Merge "Change init sequence to support file level encryption" into mnc-dev 2015-07-06 19:33:28 +00:00
Paul Lawrence
98c1a3de23 Change init sequence to support file level encryption
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.

Split property loaded into system and data, and load in right order.

Bug: 22233063
Change-Id: I409c12e3f4a8cef474eb48818e96760fe292cc49
2015-07-06 10:44:33 -07:00
Mohamad Ayyash
501282a42d am b4b41daa: am 0ddfa329: Allow mounting squashfs partitions
* commit 'b4b41daa2ddbe8849dacdeeafd240e2a265cb594':
  Allow mounting squashfs partitions
2015-07-02 00:47:06 +00:00
Mohamad Ayyash
b4b41daa2d am 0ddfa329: Allow mounting squashfs partitions
* commit '0ddfa329acb1e6464fe5d66b58257013abf21116':
  Allow mounting squashfs partitions
2015-07-02 00:30:57 +00:00
Vincent Palatin
8409b08888 Merge "Add drm support to minui" into mnc-dev 2015-07-01 23:24:55 +00:00
Stéphane Marchesin
1a92c4458d Add drm support to minui
Bug: 22231636

Change-Id: I103c8e906b7dd9862b7bb89d8642268e9a3006b4
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
2015-07-01 15:27:48 -07:00
Mohamad Ayyash
0ddfa329ac Allow mounting squashfs partitions
Change-Id: Ic023eb7d8a11e2a65172a23ff39fa902ef566183
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-07-01 10:13:16 -07:00
Tao Bao
7125f9594d Revert "Zero blocks before BLKDISCARD"
This reverts commit b65f0272c8.

It slows down the update too much on some devices (e.g. increased
from 8 mins to 40 mins to take a full OTA update).

Bug: 22129621
Change-Id: I4e8d4f6734967caf4f0d19c734027f7b6c107370
2015-06-30 23:10:44 -07:00
Tao Bao
c3dddce205 More accurate checking for overlapped ranges.
A RangeSet has half-closed half-open bounds. For example, "3,5" contains
blocks 3 and 4. So "3,5" and "5,7" are actually not overlapped.

Bug: 22098085
Change-Id: I362d259f8b5d62478858ad0422b635bc5068698d
(cherry picked from commit c0f56ad766)
2015-06-26 13:48:46 -07:00
caozhiyuan
cb9450e113 Use f_bavail to calculate free space
Failures are seen on devices with
Linux 3.10. And they are mainly due to this change:
https://lwn.net/Articles/546473/
The blocks reserved in this change is not the same thing as what we
think are reserved for common usage of root user. And this part is
included in free blocks but not in available blocks.

Bug: 22118089
Change-Id: I81c9531703298019a4fc11839f28d2cc8b9df34e
(cherry picked from commit 3b4977638f)
2015-06-26 11:17:02 -07:00
Elliott Hughes
c35f3ce30e Allow sideloading without authentication.
Bug: http://b/22025550
Change-Id: I20f09ae442536f924f19ede0abf6a2bcc0a5cedf
(cherry picked from commit 9813f5ba57)
2015-06-23 11:34:07 -07:00
Sami Tolvanen
d7c9bf41da Merge "Zero blocks before BLKDISCARD" into mnc-dev 2015-06-10 21:50:03 +00:00
Elliott Hughes
0005f89c31 Split WipeData into PreWipeData and PostWipeData.
Bug: http://b/21760064
Change-Id: Idde268fe4d7e27586ca4469de16783f1ffdc5069
(cherry picked from commit 945548ef7b)
2015-06-10 14:11:08 -07:00
Sami Tolvanen
b65f0272c8 Zero blocks before BLKDISCARD
Due to observed BLKDISCARD flakiness, overwrite blocks that we want
to discard with zeros first to avoid later issues with dm-verity if
BLKDISCARD is not successful.

Bug: 20614277
Bug: 20881595
Change-Id: I4f6f2db39db990879ff10468c9db41606497bd6f
(cherry picked from commit a3c75e3ea6)
2015-06-10 20:36:02 +01:00
Sami Tolvanen
6abd52f62b Revert "Zero blocks before BLKDISCARD"
This reverts commit 604c583c9d.

Change-Id: I2b0b283dc3f44bae55c5e9f7231d7c712630c2b5
2015-06-10 15:52:04 +00:00
Sami Tolvanen
604c583c9d Zero blocks before BLKDISCARD
Due to observed BLKDISCARD flakiness, overwrite blocks that we want
to discard with zeros first to avoid later issues with dm-verity if
BLKDISCARD is not successful.

Bug: 20614277
Bug: 20881595
Change-Id: I0280fe115b020dcab35f49041fb55b7f8e793da3
(cherry picked from commit 96392b97f6)
2015-06-09 22:21:44 +01:00
Tao Bao
02b6472546 Merge "uncrypt: Write status when it reboots to factory reset" into mnc-dev 2015-05-29 22:02:27 +00:00
Tao Bao
2c2cae8a4a uncrypt: Write status when it reboots to factory reset
When it reboots into recovery for a factory reset, it still needs to
write the uncrypt status (-1) to the pipe.

Bug: 21511893
Change-Id: I1a725820f1e1875146e49b5a6f28af2fbf284fc7
2015-05-29 14:24:02 -07:00
Elliott Hughes
b5dabd25e1 Really don't use TEMP_FAILURE_RETRY with close in recovery.
I missed one last time.

Bug: http://b/20501816
Change-Id: I9896ee2704237d61ee169f898680761e946e0a56
(cherry picked from commit b3ac676192)
2015-05-29 11:03:44 -07:00
Sami Tolvanen
92eea1bc41 Handle BLKDISCARD failures
In the block updater, if BLKDISCARD fails, the error is silently
ignored and some of the blocks may not be erased. This means the
target partition will have inconsistent contents.

If the ioctl fails, return an error and abort the update.

Bug: 20614277
Change-Id: I33867ba9337c514de8ffae59f28584b285324067
(cherry picked from commit cc2428c818)
2015-05-29 09:02:14 +01:00
Tao Bao
158e11d673 Separate uncrypt into two modes
uncrypt needs to be triggered to prepare the OTA package before
rebooting into the recovery. Separate uncrypt into two modes. In
mode 1, it uncrypts the OTA package, but will not reboot the
device. In mode 2, it wipes the /misc partition and reboots.

Needs matching changes in frameworks/base, system/core and
external/sepolicy to work properly.

Bug: 20012567
Bug: 20949086
Change-Id: I14d25cb62770dd405cb56824d05d649c3a94f315
2015-05-28 14:44:52 -07:00
Elliott Hughes
1857a7f579 Don't use TEMP_FAILURE_RETRY on close in recovery.
Bug: http://b/20501816
Change-Id: I35efcd8dcec7a6492ba70602d380d9980cdda31f
(cherry picked from commit b47afedb42)
2015-05-15 18:09:33 -07:00
Elliott Hughes
df52e1e119 Add an alternate screen for viewing recovery logs.
This makes it easier to go back and forth without losing current output.

Also make the display more like regular more(1).

Bug: http://b/20834540
Change-Id: Icc5703e9c8a378cc7072d8ebb79e34451267ee1b
(cherry picked from commit c049163234)
2015-05-06 21:20:10 -07:00
Tao Bao
3e8d28b547 uncrypt: Switch to C++
Also apply some trivial changes like int -> bool and clean-ups.

Change-Id: I5c6c42d34965305c394f4f2de78487bd1174992a
(cherry picked from commit 381f455cac)
2015-05-06 12:23:41 -07:00
Tao Bao
8853cb2f29 uncrypt: package on non-data partition should follow the right path
Fix the accidental change of behavior in [1]. OTA packages not on /data
partition should still go through the path that has validity checks and
wipe_misc() steps.

[1]: commit eaf33654c1.

Change-Id: I3e86e19f06603bfe6ecc691c9aa66a8a8a79c5fb
(cherry picked from commit fb4ccef1df)
2015-05-05 18:22:03 -07:00
Tao Bao
93cec9a0c4 Keep multiple kernel logs
Currently we are keeping one copy of the kernel log (LAST_KMSG_FILE).
This CL changes to keep up to KEEP_LOG_COUNT copies for kernel logs.

Bug: http://b/18092237
Change-Id: Ied862b5b70cbbae7775f59c78c32ec62aeeca655
(cherry picked from commit bef39710ff)
2015-05-05 14:23:41 -07:00
Tao Bao
6d820f2c91 Turn on text display for debuggable builds
For userdebug and eng builds, turn on the text display automatically
if no command is specified.

(cherry-pick of 785d22c88cda46972331c04ebc9df97371a696da.)

Bug: http://b/17489952
Change-Id: I38377c45f2a8e45ca788e5506695aa88c769cbcf
2015-05-04 10:21:54 -07:00
Elliott Hughes
4cf34d5d29 Fix mips64 minadbd_test build.
Looks like the mips64 linker isn't as good as the others at GCing
unused stuff, which means it needs libcutils.

Change-Id: I5f768e44514350fb81e5360351db3e9cc4201702
(cherry picked from commit dbb20c4863)
2015-05-01 22:40:06 -07:00
Elliott Hughes
15931924e1 Move minadb over to new API.
Change-Id: I889bcf2222245c7665287513669cae8831e37081
(cherry picked from commit 4039933c62)
2015-05-01 17:35:06 -07:00
Elliott Hughes
87ec73a264 Fix minadb_test build breakage.
Change-Id: I98bb900debb7d7dd57d3f8f84d605163ec192b03
(cherry picked from commit 3e7d82c621)
2015-05-01 17:26:45 -07:00
Elliott Hughes
2f5feedf1d Check all lseek calls succeed.
Also add missing TEMP_FAILURE_RETRYs on read, write, and lseek.

Bug: http://b/20625546
Change-Id: I03b198e11c1921b35518ee2dd005a7cfcf4fd94b
(cherry picked from commit 7bad7c4646)
2015-04-29 21:14:56 -07:00
Elliott Hughes
f7466f9f23 Stop using adb_strtok, and check argument validity.
(cherry picked from commit ba45ddf37c)

Change-Id: Iba4f77f7db54ca0184437bd8ea96abfadabc72a3
2015-04-28 10:52:52 -07:00
Andres Morales
5c025ac5c8 am 599fc2c0: (-s ours) am c94fa0b0: (-s ours) DO NOT MERGE Revert "Erase PST partition if its marked to be erased."
* commit '599fc2c0edbeb2ce8f38905fd770dbd7f43e647c':
  DO NOT MERGE Revert "Erase PST partition if its marked to be erased."
2015-04-27 07:18:50 +00:00
Andres Morales
599fc2c0ed am c94fa0b0: (-s ours) DO NOT MERGE Revert "Erase PST partition if its marked to be erased."
* commit 'c94fa0b01b43709531dfbcdb94abb2a1cc23be3d':
  DO NOT MERGE Revert "Erase PST partition if its marked to be erased."
2015-04-26 17:37:21 +00:00
Elliott Hughes
774f8f695a am 5a95719b: am 6725ebc7: Merge "Revert "Revert "init re-execs to set its security context now."""
* commit '5a95719bd9ac27d573388e6aa4b48715d9aa3d9e':
  Revert "Revert "init re-execs to set its security context now.""
2015-04-24 21:27:22 +00:00