Commit graph

4521 commits

Author SHA1 Message Date
Abhijeet Kaur
2d0ea90538 Merge "Remove unused mount modes and re-number the modes for consistency" 2021-03-03 10:09:46 +00:00
Treehugger Robot
541c8e03f2 Merge "Set a default ACL on /data/media/userId." am: f6546171af am: ca3fbd1e4b
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1603534

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib4f7ecc6b6e53fc9f61a4e83027ebb7a86b69b86
2021-03-02 19:47:14 +00:00
Treehugger Robot
ca3fbd1e4b Merge "Set a default ACL on /data/media/userId." am: f6546171af
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1603534

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I13d1ee215c805b25d73e3d39508ea05cdc60b703
2021-03-02 19:03:54 +00:00
Treehugger Robot
f6546171af Merge "Set a default ACL on /data/media/userId." 2021-03-02 09:25:52 +00:00
Treehugger Robot
c0bd8a260d Merge "[vold] expose binder headers to dependent modules" am: 51ff06df22 am: b06061cace
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1607482

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ie3321467c877bf1518594ea190cc109be9a0e483
2021-02-26 05:24:15 +00:00
Treehugger Robot
b06061cace Merge "[vold] expose binder headers to dependent modules" am: 51ff06df22
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1607482

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I32b3d8d656a07491b644c8fd05aa38b8031597a4
2021-02-26 04:33:56 +00:00
Treehugger Robot
51ff06df22 Merge "[vold] expose binder headers to dependent modules" 2021-02-26 03:35:10 +00:00
Songchun Fan
f77beb516b [vold] expose binder headers to dependent modules
This allows libincremental_aidl-cpp to be built via cc_library instead
of aidl_interface.

BUG: 181266844
Test: builds
Change-Id: I4f0bc82629c0df758467aa074274b30f9dc6718d
2021-02-25 15:32:16 -08:00
Kalesh Singh
bda3d905bd Merge "vold: Use Wakelock::tryGet()" am: 8439ab27d6 am: c08bc3b0b8
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1600813

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib0eb444a328513b3fbe4b9818268cff319c53ae3
2021-02-24 22:58:01 +00:00
Kalesh Singh
c08bc3b0b8 Merge "vold: Use Wakelock::tryGet()" am: 8439ab27d6
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1600813

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4b028c047da40cbbd20c0a99d4c957d87bfcf0c2
2021-02-24 22:14:06 +00:00
Kalesh Singh
8439ab27d6 Merge "vold: Use Wakelock::tryGet()" 2021-02-24 18:49:58 +00:00
Abhijeet Kaur
e715ec1364 Remove unused mount modes and re-number the modes for consistency
Also, add REMOUNT_MODE_ANDROID_WRITABLE to return "/mnt/runtime/write".

Bug: 148454884
Test: builds
Change-Id: I5a38c88f46034c494604bb001cf4d4c400c8f73e
2021-02-24 14:52:37 +00:00
Martijn Coenen
5adf92a988 Set a default ACL on /data/media/userId.
This directory is used as a root for external storage on adopted storage
devices. It needs to be writable by processes holding the AID_MEDIA_RW
GID permission; in particular, it should be writable by the FUSE daemon.

On devices with sdcardfs, this was ensured automatically, because
sdcardfs presented a view of this directory that was writable, that we
could use for the FUSE daemon. But on devices without sdcardfs, the FUSE
daemon sees the raw filesystem and its permissions. This also means that
files created by the FUSE daemon will have their uid/gid set to the uid
of the FUSE daemon; to ensure these files stay writable to other system
applications that have AID_MEDIA_RW, use a default ACL to make sure the
gid stays AID_MEDIA_RW.

In particular, this fixes an issue with app cloning, where we want the
FUSE daemon of user 0 to be able to access the files of the app clone
user, and vice versa.

Bug: 154057120
Test: inspect uid/gid of /data/media/0 and contents
Change-Id: Ic5d63457ec917ea407b900dbb7773d89311780c6
2021-02-24 12:45:09 +01:00
Kalesh Singh
98062dcd89 vold: Use Wakelock::tryGet()
Acquiring a wakelock can fail if the suspend service is unavailable.
Explicitly check that wakelock was acquired before performing
operations that require the device to stay on.

Bug: b/179229598
Test: Boot test on Pixel 4 device
Change-Id: If30087223e44098801a31d1bfd239ac22e891abe
2021-02-22 17:24:51 -05:00
Xin Li
9ee62187e7 [automerger skipped] Mark ab/7061308 as merged in stage. am: 0ee13dfc4f -s ours
am skip reason: Change-Id I7124285f41c6a854ad5c86677bc94d78ddca5a97 with SHA-1 60537dad69 is in history

Original change: undetermined

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I50546bc29bc2fcd0dee816ded8d45d9b355c4eb1
2021-02-20 12:28:42 +00:00
Xin Li
0ee13dfc4f Mark ab/7061308 as merged in stage.
Bug: 180401296
Merged-In: I7124285f41c6a854ad5c86677bc94d78ddca5a97
Change-Id: Icf8db3d8557a3835e0834eec134bb4b111ec3af0
2021-02-20 00:24:42 -08:00
Treehugger Robot
85956f9525 Merge changes from topic "fsync-fixes" am: 6c36c6f421 am: 2a3e67a9e0
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1590896

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ibf2e04c47b38e917bf58afcfbd78b7a0a395c141
2021-02-19 20:42:12 +00:00
Treehugger Robot
2a3e67a9e0 Merge changes from topic "fsync-fixes" am: 6c36c6f421
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1590896

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifacc42ef9b4abe897a598e3cd8dcef4650b8f5ff
2021-02-19 19:54:09 +00:00
Treehugger Robot
6c36c6f421 Merge changes from topic "fsync-fixes"
* changes:
  Add syncs when creating parent directories
  Sync parent directory in storeKeyAtomically()
  Move pathExists() to Utils.cpp
2021-02-19 19:23:47 +00:00
Dhiraj Jadhav
e5d8fe2474 Merge "Revert "Revert "Revert "Set a default ACL on /data/media/userId."""" am: a98846d8d5 am: 375884bd0a
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1592902

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I38ed5d51a2f7712bf6a72b01f35e4c99a4edb43f
2021-02-18 19:13:34 +00:00
Dhiraj Jadhav
375884bd0a Merge "Revert "Revert "Revert "Set a default ACL on /data/media/userId."""" am: a98846d8d5
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1592902

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7c3c8bd230bcc14471d127ddc2276634cd2b2a43
2021-02-18 18:45:58 +00:00
Dhiraj Jadhav
a98846d8d5 Merge "Revert "Revert "Revert "Set a default ACL on /data/media/userId."""" 2021-02-18 17:38:20 +00:00
Dhiraj Jadhav
72005fd1e6 Revert "Revert "Revert "Set a default ACL on /data/media/userId."""
This reverts commit ea9681e4cd.

Reason for revert: storage Permission causing b/179362637 adb push to fail

Change-Id: Ibc1d8b5b685c22545b7e2d15de58059960b87e14
2021-02-18 04:57:03 +00:00
Eric Biggers
fec0c0e472 Add syncs when creating parent directories
vold creates some directories for storing encryption keys if they don't
already exist, potentially including parent directories:

    /metadata/vold/metadata_encryption
    /data/misc/vold/volume_keys/$volume_uuid
    /data/misc_de/$user/vold/volume_keys/$volume_uuid
    /data/misc_ce/$user/vold/volume_keys/$volume_uuid

Currently fs_mkdirs() is used for this.  However, fs_mkdirs() doesn't
include the fsync()s of the parent directories that are needed to ensure
that the new directories are persisted to disk right away -- which is
important for encryption keys.

Add a utility function MkdirsSync() which does what is needed, and make
the appropriate places call it.

Test: Booted and checked log for "Created directory" message.
      Also ran 'atest vold_tests' to run the new unit test.
Change-Id: Ie9917b616433080139b8db3fd6877203ee6faf77
2021-02-16 16:18:53 -08:00
Eric Biggers
3345a2a98c Sync parent directory in storeKeyAtomically()
When an FBE or metadata encryption key is created, it's important that
it be persisted to disk right away; otherwise the device may fail to
boot after an unclean shutdown.  storeKey() has the needed fsync()s.
However, storeKeyAtomically() doesn't, as it doesn't fsync() the parent
directory of key_path after it renames tmp_path to it.

Two callers do fsync() the parent directory themselves, but others
don't.  E.g., the metadata encryption key doesn't get properly synced.

Therefore, add the needed fsync() to storeKeyAtomically() so that it
gets done for everyone.

Also remove the now-unneeded fsync()s from the two callers that did it
themselves.

Change-Id: I342ebd94f0a3d2bf3a7a443c35b6bda0f12e1ab2
2021-02-16 16:05:38 -08:00
Eric Biggers
bd138dd08a Move pathExists() to Utils.cpp
This is useful as a general utility function.

Change-Id: Id43fc106dc6c544c6e4ce65f10c7d4246b99e54a
2021-02-16 16:05:38 -08:00
Treehugger Robot
64d5e281ad Merge "[LSC] Add LOCAL_LICENSE_KINDS to system/vold" am: 810bcca4d0 am: c7c9cfbf9f
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1589008

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib8dbb252b72c8c7c102ed39747be613d16707121
2021-02-16 00:31:33 +00:00
Treehugger Robot
c7c9cfbf9f Merge "[LSC] Add LOCAL_LICENSE_KINDS to system/vold" am: 810bcca4d0
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1589008

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If9313dcc2a75e117374543fb9050aa1a7e0410f4
2021-02-15 23:48:04 +00:00
Treehugger Robot
810bcca4d0 Merge "[LSC] Add LOCAL_LICENSE_KINDS to system/vold" 2021-02-15 23:21:47 +00:00
Bob Badour
8eb43ae497 [LSC] Add LOCAL_LICENSE_KINDS to system/vold
Added SPDX-license-identifier-Apache-2.0 to:
  Android.bp
  bench/inodeop_bench/Android.bp
  tests/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I91823c7097d7bee39a363a0c0cc30de13e4d7539
2021-02-14 10:37:25 -08:00
Treehugger Robot
ef885d3deb Merge "Obtain incfs features early in the booting sequence." am: 915f6227a7 am: a9838cc3d3
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1585413

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I04cd9b63a12e5ca9eacf2cb26be83a903893e1d5
2021-02-13 09:44:00 +00:00
Treehugger Robot
a9838cc3d3 Merge "Obtain incfs features early in the booting sequence." am: 915f6227a7
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1585413

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I695d55952de65a940602efd2387611e00bbde0ec
2021-02-13 09:09:08 +00:00
Treehugger Robot
915f6227a7 Merge "Obtain incfs features early in the booting sequence." 2021-02-13 06:32:14 +00:00
Alex Buynytskyy
b02e7b698e Obtain incfs features early in the booting sequence.
Has to be done before SystemConfig initialization to set correct
Incremental version feature.

Bug: 180010901
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: I262d1f06aecb481f37bf82005c85fed02c476510
2021-02-12 08:39:13 -08:00
Martijn Coenen
dd6ebf8878 Merge "Revert "Revert "Set a default ACL on /data/media/userId.""" am: 2e8f0d438b am: 62ed9d52db
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1566179

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6f8b60b5d0345ae7563446d90125bfbbc7b93371
2021-02-01 14:06:58 +00:00
Martijn Coenen
62ed9d52db Merge "Revert "Revert "Set a default ACL on /data/media/userId.""" am: 2e8f0d438b
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1566179

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4464d2bcb23434832a7448ef59d079079a5c809d
2021-02-01 13:47:40 +00:00
Martijn Coenen
2e8f0d438b Merge "Revert "Revert "Set a default ACL on /data/media/userId.""" 2021-02-01 13:30:04 +00:00
Martijn Coenen
ea9681e4cd Revert "Revert "Set a default ACL on /data/media/userId.""
This reverts commit b276e80aec.

Reason for revert: b/177926359 is now fixed

Change-Id: I8ec5d80a44fc9e491ab3430592e17d10a82f40ea
2021-02-01 07:57:02 +00:00
Seth Moore
0bdfada404 Merge "Add support for binding storage encryption to a seed" am: 6207c9cde4 am: 4c110af013
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1553317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib2d7a8c3538ab8c43e1fe4d783bf2b5d83c826ca
2021-01-27 01:36:30 +00:00
Seth Moore
4c110af013 Merge "Add support for binding storage encryption to a seed" am: 6207c9cde4
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1553317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0d60971d77f26bb43a73938895f9e343ced7081a
2021-01-27 01:16:34 +00:00
Seth Moore
6207c9cde4 Merge "Add support for binding storage encryption to a seed" 2021-01-27 00:40:35 +00:00
Treehugger Robot
97bc46aabd Merge "Specify version for aidl_interface explicitly" am: 8e10f698ef am: 5f6d86597e
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1560413

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5bd8294901a465547eca3bac81359d892cfef94c
2021-01-26 23:52:09 +00:00
Treehugger Robot
5f6d86597e Merge "Specify version for aidl_interface explicitly" am: 8e10f698ef
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1560413

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3038929c8745731c9292540e846d6ca34de7cdb7
2021-01-26 23:29:27 +00:00
Treehugger Robot
8e10f698ef Merge "Specify version for aidl_interface explicitly" 2021-01-26 22:28:23 +00:00
Seth Moore
5a43d61e66 Add support for binding storage encryption to a seed
With this change, vold exposes an API that may be used to bind key
storage encryption keys to a given seed value. The seed value passed to
vold must be consistent across reboots, or key storage keys will not be
derived consistently. The seed is expected to be set very early in boot,
prior to the use of any key storage encryption keys.

This feature is intended to be used for embedded applications such as
in autos, where the seed may be provided by some other component of the
system. In such systems, there is a default user that is automatically
signed in without a PIN or other credentials. By binding the file
encryption to a platform-provided seed, the default user's data gains
additional protection against removal of the Android embedded device
from the integrated system.

Bug: 157501579
Test: Set seed at startup via init.rc. Seed changes fail as expected.
Change-Id: I9b048ec5e045b84c45883724ace2356d4ef6244d
2021-01-26 21:30:19 +00:00
Jeongik Cha
89253240ec Specify version for aidl_interface explicitly
Bug: 150578172
Test: m
Change-Id: Ie51caa503b6b1e5c29372b85d0357be292144126
2021-01-26 22:35:14 +09:00
Martijn Coenen
90dbb464fe Merge "Revert "Set a default ACL on /data/media/userId."" am: d9cf8590cb am: 42c41b5b47
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1555317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2bf3ef0ce4d2c0fd5c50a84c3116949cf1c79893
2021-01-21 10:00:20 +00:00
Martijn Coenen
42c41b5b47 Merge "Revert "Set a default ACL on /data/media/userId."" am: d9cf8590cb
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1555317

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7b2a139c70a8eb29ade6afed2f89cc9141ff149b
2021-01-21 09:40:48 +00:00
Martijn Coenen
d9cf8590cb Merge "Revert "Set a default ACL on /data/media/userId."" 2021-01-21 08:19:20 +00:00
Yifan Hong
f74c9a8a5b Merge changes from topic "health_storage_aidl" am: 3355ff7790 am: 92e9e5d1ad
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1550388

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I500d3ccab2b4a19e71d292d17d7fac2c39e0355f
2021-01-20 20:27:54 +00:00