Commit graph

3682 commits

Author SHA1 Message Date
Paul Lawrence
ebc8801fb3 Merge "Don't call block checkpoint functions above dm-default-key" am: 1bb7e8a928 am: 53f1d07339
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330879

Change-Id: I54fdd3098c52dcb53cee0956f4dd1e43e09f5800
2020-06-18 22:16:14 +00:00
David Anderson
026ae1a9ac Merge "Add an isCheckpointing() binder call for adb remount." am: b50480bb96 am: 60e41b7084
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330854

Change-Id: I0aa0536cfd33f189525115efa07e49930f53b79a
2020-06-18 22:15:56 +00:00
Paul Lawrence
53f1d07339 Merge "Don't call block checkpoint functions above dm-default-key" am: 1bb7e8a928
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330879

Change-Id: Ifa48af749baa5d50c7459dbb5bda1573d847b622
2020-06-18 22:00:47 +00:00
David Anderson
60e41b7084 Merge "Add an isCheckpointing() binder call for adb remount." am: b50480bb96
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1330854

Change-Id: I14674da2b3cf86c09179b94e28e76fec30378e12
2020-06-18 22:00:37 +00:00
Paul Lawrence
1bb7e8a928 Merge "Don't call block checkpoint functions above dm-default-key" 2020-06-18 21:56:10 +00:00
David Anderson
b50480bb96 Merge "Add an isCheckpointing() binder call for adb remount." 2020-06-18 21:45:21 +00:00
Nikita Ioffe
356baaa10a Merge "Configure read ahead for fuse mounts" into rvc-dev am: bcd7d5e7ce
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11837171

Change-Id: I90e3ab660ddb356bd7c0212e188b997f6bfa07d4
2020-06-17 16:53:30 +00:00
Nikita Ioffe
bcd7d5e7ce Merge "Configure read ahead for fuse mounts" into rvc-dev 2020-06-17 16:37:37 +00:00
Nikita Ioffe
dcee5c1d21 Configure read ahead for fuse mounts
For fuse read ahead can be configured by writing a value to the
/sys/class/bdi/{MAJOR}:{MINOR}/read_ahead_kb file.

There are several different ways of getting {MAJOR}:{MINOR} values of
the filesystem:

* Look at st_dev of stat("/mnt/user/0/emulated").
* Parse /proc/self/mountinfo.

Stat'ing approach is used since it's easier to implement.

Bug: 157982297
Test: atest vold_tests
Test: adb shell cat /proc/self/mountinfo to get MAJOR:MINOR
Test: adb shell cat /sys/class/bdi/{MAJOR}:{MINOR}/read_ahead_kb
Test: created public volume, checked it's read_ahead_kb is also 256
Change-Id: Id0c149c4af1ceabf3afc33b4100563a512b38316
2020-06-17 15:58:25 +01:00
Martijn Coenen
53b6f32850 Add app's own UID to the default ACL. am: 1129b81071
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/11871333

Change-Id: Icbff1ee04a5f79582e92d5fa8ed8913260cc417f
2020-06-17 07:01:58 +00:00
Martijn Coenen
1129b81071 Add app's own UID to the default ACL.
On devices without sdcardfs, /Android/data/com.foo and
/Android/obb/com.foo can be written by other processes (eg installers);
in those cases, file ownership may be wrong. To ensure that the original
app always has access to the files contained in this directory, add a
group to the default ACL that matches the UID of the app. Since all apps
have their own UID also as their group ID, this ensures that things keep
working correctly.

Bug: 157530951
Test: atest
android.appsecurity.cts.ExternalStorageHostTest#testExternalStorageUnsharedObb
Change-Id: I829a2a7c7b578a8328643f38681e68796adcd6b2

Change-Id: Ibbc333fb395507363830dfcf5dc6f1cfd55f008d
2020-06-16 15:16:18 +02:00
Paul Lawrence
3fe931109c Don't call block checkpoint functions above dm-default-key
Bug: 156225476
Test: Build for f2fs and ext4 device, make sure checkpoints roll back
and commit

Change-Id: Ic15fadc67d306463dd0b554f679306d8f9081451
2020-06-12 09:13:42 -07:00
David Anderson
23850d30f6 Add an isCheckpointing() binder call for adb remount.
This is needed so "adb remount" can avoid writing to /data during a
checkpoint.

Bug: 157540389
Test: manual test
Change-Id: I33a691da3b99343acfc1e8ddf68a14504c3bfbe1
2020-06-10 23:52:25 -07:00
Treehugger Robot
3727ec993e [automerger skipped] Merge "Record use of metadata encryption in property" am: f20a16575f am: d49f8c9eb7 -s ours
am skip reason: Change-Id I400873ec207cb63f0407fefc83962bb3a927e294 with SHA-1 94abae03a9 is in history

Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1322598

Change-Id: Idf38f57a2370789e069846b6dc3e4b36cb80d9e4
2020-06-02 19:33:43 +00:00
Treehugger Robot
d49f8c9eb7 Merge "Record use of metadata encryption in property" am: f20a16575f
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/1322598

Change-Id: I7b102707853ea2556c5a24858ae43ea5c2717616
2020-06-02 19:20:44 +00:00
Treehugger Robot
f20a16575f Merge "Record use of metadata encryption in property" 2020-06-02 19:04:12 +00:00
Paul Crowley
7fbd8d4474 Record use of metadata encryption in property
Bug: 152150018
Test: Cuttlefish with and without keydirectory option
Cherry-Picked-From: 94abae03a9
Merged-In: I400873ec207cb63f0407fefc83962bb3a927e294
Change-Id: I400873ec207cb63f0407fefc83962bb3a927e294
2020-06-02 11:16:55 -07:00
Martijn Coenen
eaca298077 Merge "vold: Support aborting FUSE connections." into rvc-dev am: cbb69e548a
Change-Id: I9f3435a686e76f9fbc8b8ec8cae33f5538a94ec5
2020-05-29 16:00:05 +00:00
Martijn Coenen
cbb69e548a Merge "vold: Support aborting FUSE connections." into rvc-dev 2020-05-29 15:47:05 +00:00
Abhijeet Kaur
e2e2b5499b FuseDaemonHostTest is migrated to CTS and renamed. am: de83802e41
Change-Id: I1e26192d3ae181bc3fd9bcb3f7bf56db0f073328
2020-05-29 15:07:04 +00:00
Abhijeet Kaur
de83802e41 FuseDaemonHostTest is migrated to CTS and renamed.
FuseDaemonHostTest is migrated to CTS and renamed to
CtsScopedStorageHostTest.

Bug: 142926859
Test: atest --test-mapping
Change-Id: I24c74e20909ccf8868d1487e1cc93f6f2c0108fc
2020-05-28 18:43:08 +01:00
Martijn Coenen
23c0445355 vold: Support aborting FUSE connections.
This can be done through binder as well as vdc, using 'vdc volume
abort_fuse'.

Bug: 153411204
Test: adb shell vdc volume abort_fuse
Change-Id: I93e46dc1cd361729cc1162c63520cf73152ea409
2020-05-28 16:07:16 +02:00
Daniel Rosenberg
4835e936fc Move enabling sdcardfs behind a property am: f36bdddc7e
Change-Id: I8bf90ef649975d182787757d73f9e2b46389483f
2020-05-21 08:41:14 +00:00
Treehugger Robot
16cbb5a2c8 [automerger skipped] Merge "Handle virtio in private fs mapping" am: e471d11d46 am: d625abfda2 -s ours
am skip reason: Change-Id I0b41670d5f76b2506dad437917c2276f8e0aaccf with SHA-1 c671731075 is in history

Change-Id: Id73de89d4b905212935da4286ee50789b47695e6
2020-05-20 07:26:02 +00:00
Treehugger Robot
d625abfda2 Merge "Handle virtio in private fs mapping" am: e471d11d46
Change-Id: If088b875ff4cbca66fe9c6f9224b437edc85dae8
2020-05-20 07:08:04 +00:00
Treehugger Robot
e471d11d46 Merge "Handle virtio in private fs mapping" 2020-05-20 06:32:43 +00:00
Daniel Rosenberg
f36bdddc7e Move enabling sdcardfs behind a property
This allows devices that have sdcardfs enabled in the kernel to not use
it. When external_storage.sdcardfs.enabled=0, sdcardfs will not be
mounted. This is treated as default true to not affect upgrading
devices. It does not use the old ro.sys.sdcardfs as that has been
repurposed over time and no longer can be relied on to turn off
sdcardfs. This is included within emulated_storage.mk

Bug: 155222498
Test: mount|grep "type sdcardfs" should find nothing after boot complete
      if external_storage.sdcardfs.enabled=0
Change-Id: I23d75fb1225aeabbcb1a035ad62fd042b6b3c7b5
2020-05-19 22:11:49 -07:00
TreeHugger Robot
9ec7ed5b11 Merge "Handle virtio in private fs mapping" into rvc-dev am: 0d1fcb90d6
Change-Id: Idfa020f7211187ddc9c530482de9a53d14ef315a
2020-05-20 04:44:06 +00:00
TreeHugger Robot
0d1fcb90d6 Merge "Handle virtio in private fs mapping" into rvc-dev 2020-05-20 04:28:31 +00:00
Alistair Delva
ea97154183 Handle virtio in private fs mapping
When the vold core decides if a device is SD or USB, it checks for MMC
or virtio, however when the filesystem type is decided, it does not
check for virtio, only MMC. This causes virtio SD cards to be formatted
with ext4 unconditionally.

This fix is independently correct, but it incidentally gets adopted
storage working on cuttlefish (and Android Emulator) because f2fs can
support fscrypt and casefolding at the same time; ext4 currently cannot.

Bug: 156286088
Change-Id: I0b41670d5f76b2506dad437917c2276f8e0aaccf
Merged-In: I0b41670d5f76b2506dad437917c2276f8e0aaccf
2020-05-20 00:45:02 +00:00
Alistair Delva
c671731075 Handle virtio in private fs mapping
When the vold core decides if a device is SD or USB, it checks for MMC
or virtio, however when the filesystem type is decided, it does not
check for virtio, only MMC. This causes virtio SD cards to be formatted
with ext4 unconditionally.

This fix is independently correct, but it incidentally gets adopted
storage working on cuttlefish (and Android Emulator) because f2fs can
support fscrypt and casefolding at the same time; ext4 currently cannot.

Bug: 156286088
Change-Id: I0b41670d5f76b2506dad437917c2276f8e0aaccf
2020-05-19 17:42:20 -07:00
Paul Crowley
b2c448fa6d Merge "Record use of metadata encryption in property" into rvc-dev am: 09ff429e2a
Change-Id: I2e39a3e24ea8bf488ffb8e901fa6449175673b5c
2020-05-19 23:12:25 +00:00
Paul Crowley
09ff429e2a Merge "Record use of metadata encryption in property" into rvc-dev 2020-05-19 22:59:13 +00:00
Treehugger Robot
7c39a18450 [automerger skipped] Merge "Expand virtio_block check to other virtual devices" am: ff9975c04f am: edb596fc36 -s ours
am skip reason: Change-Id Ieae805d08fddd0124a397636f04d99194a9ef7e5 with SHA-1 ff1fc9bc41 is in history

Change-Id: I8e4c5e3a044f8305dd29820709e073687991e559
2020-05-16 05:27:30 +00:00
Treehugger Robot
edb596fc36 Merge "Expand virtio_block check to other virtual devices" am: ff9975c04f
Change-Id: Ic604273ddef8ac356e1e23fba050da7d68a24871
2020-05-16 05:13:11 +00:00
Treehugger Robot
ff9975c04f Merge "Expand virtio_block check to other virtual devices" 2020-05-16 04:51:28 +00:00
Alistair Delva
7034b8a926 Expand virtio_block check to other virtual devices am: ff1fc9bc41
Change-Id: I679b9ab19d470a14e2708afd9078f2cff599b3b6
2020-05-16 01:48:06 +00:00
Alistair Delva
d3c230b5c9 Expand virtio_block check to other virtual devices
The Android Emulator isn't the only virtual device the virtio-block
detection code is useful for, and those platforms might not set any
discriminating properties to indicate that they are virtual.

Rework the virtio-block major detection to use /proc/devices instead
of hardcoding the assumption that any virtual platform can have
virtio-block at any experimental major; the new code permits only the
exact experimental major assigned to virtio-block.

The new code runs everywhere, but it will only run once and could be
expanded later to detect dynamic or experimental majors.

Bug: 156286088
Change-Id: Ieae805d08fddd0124a397636f04d99194a9ef7e5
Merged-In: Ieae805d08fddd0124a397636f04d99194a9ef7e5
2020-05-16 00:02:21 +00:00
Alistair Delva
ff1fc9bc41 Expand virtio_block check to other virtual devices
The Android Emulator isn't the only virtual device the virtio-block
detection code is useful for, and those platforms might not set any
discriminating properties to indicate that they are virtual.

Rework the virtio-block major detection to use /proc/devices instead
of hardcoding the assumption that any virtual platform can have
virtio-block at any experimental major; the new code permits only the
exact experimental major assigned to virtio-block.

The new code runs everywhere, but it will only run once and could be
expanded later to detect dynamic or experimental majors.

Bug: 156286088
Change-Id: Ieae805d08fddd0124a397636f04d99194a9ef7e5
2020-05-15 17:00:44 -07:00
TreeHugger Robot
a217c25939 Merge "Mount storage Android/data and Android/obb as tmpfs in app namespace" into rvc-dev am: dbc0da396a
Change-Id: I0efd4541ccb6ce75bcb887c03f516b7b6ce41acc
2020-05-13 14:27:28 +00:00
TreeHugger Robot
dbc0da396a Merge "Mount storage Android/data and Android/obb as tmpfs in app namespace" into rvc-dev 2020-05-13 14:17:04 +00:00
Satoshi Niwa
c0cc8d0322 Revert "ARC++ swap for AppFuseUtil" am: 58d4044082
Change-Id: I82771efbb0ab25327fca3ffac9f77c3e126bf989
2020-05-13 14:01:23 +00:00
Satoshi Niwa
58d4044082 Revert "ARC++ swap for AppFuseUtil"
This reverts commit ab7c958cc5.

Reason for revert: ARC is migrating to ARCVM on R, which doesn't use AppFuse any more.

Bug: 110379912
Test: m
Change-Id: Icc827c59530274421e4c94789d96fd3d287e591e
2020-05-12 14:43:42 +00:00
Treehugger Robot
bcbd085191 Merge "Revert "ARC++ swap for AppFuseUtil"" am: b6e2c14ed1 am: 4cf8ddeed2
Change-Id: I8d91ba35477d526ff886ed32c7c1357134dfca4d
2020-05-12 13:00:16 +00:00
Treehugger Robot
4cf8ddeed2 Merge "Revert "ARC++ swap for AppFuseUtil"" am: b6e2c14ed1
Change-Id: I3545346238ddaaec8c1a947f00aaeadd12dfd63b
2020-05-12 12:46:32 +00:00
Treehugger Robot
b6e2c14ed1 Merge "Revert "ARC++ swap for AppFuseUtil"" 2020-05-12 12:30:16 +00:00
Satoshi Niwa
601e7bd4e2 Revert "ARC++ swap for AppFuseUtil"
This reverts commit dcbd4fcad2.

Reason for revert: ARC is migrating to ARCVM on R, which doesn't use AppFuse any more.

Change-Id: Ifd0bf92a79c0ff25d782bea44dd593f9502f1959
2020-05-08 04:50:34 +00:00
Ricky Wai
e96b34fe82 Mount storage Android/data and Android/obb as tmpfs in app namespace
So Android/data and Android/obb won't be accessing fuse anymore,
and apps should not see other packages as well as it's sandboxed
the tmpfs.

Bug: 155462341
Test: atest AppDataIsolationTests pass after feature flag is on
Change-Id: I5658440772e669c1235d318f708a3d336523754f
2020-05-07 16:01:33 +01:00
Treehugger Robot
93dcfef249 Merge "Acknowledge the 'nofail' fs_mgr flag and skip the expected failure." am: e8acc83d25 am: 3a149b6735
Change-Id: Icb1ef75616ebc3bfe3f1e71a93ca25b42cb348ae
2020-05-06 17:39:50 +00:00
Treehugger Robot
3a149b6735 Merge "Acknowledge the 'nofail' fs_mgr flag and skip the expected failure." am: e8acc83d25
Change-Id: I1fb2dbb0de98e3e2deadce25183aa37f2bc7c4ba
2020-05-06 17:22:38 +00:00