Commit graph

5528 commits

Author SHA1 Message Date
Corina Grigoras
31337d3da3 [automerger skipped] Merge "Abort FUSE as part of volume reset" into tm-dev am: 05098fee39 am: 97c642cc99 -s ours
am skip reason: Merged-In I9e559a48b9a72e6ecbc3a277a09ea5d34c9ec499 with SHA-1 11a666b092 is already in history

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

Change-Id: I92d7a4bc2640f9f2f10ec4e3479d5e35d7ef5bd4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 13:16:18 +00:00
Corina Grigoras
def08b57d6 Merge "Abort FUSE as part of volume reset" into tm-dev am: 05098fee39 am: 31667410da
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/18492349

Change-Id: I8ab722e85f8e198caebe8f7b22ffe6986a93237d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 13:15:43 +00:00
Corina Grigoras
31667410da Merge "Abort FUSE as part of volume reset" into tm-dev am: 05098fee39
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/18492349

Change-Id: Iea2d826dc84d499473d36c9634514e532c2a9d47
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 12:45:48 +00:00
Corina Grigoras
97c642cc99 Merge "Abort FUSE as part of volume reset" into tm-dev am: 05098fee39
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/18492349

Change-Id: Ie48a761a1b173f66e3cddbae6f965148c7a18645
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-20 12:43:50 +00:00
Corina Grigoras
05098fee39 Merge "Abort FUSE as part of volume reset" into tm-dev 2022-05-20 09:59:53 +00:00
Zim
11a666b092 Abort FUSE as part of volume reset
This fixes a bug in Android T where MediaProvider leaked FUSE fds in
it's process preveventing it from dying after being killed. This
resulted in the MP in a zombie state.

Even though, this bug was more prevalent in Android T due to a change
in the Parcel lifecycle (see b/233216232), this bug could have always
occurred in theory.

This fix should be harmless since after volume reset, all FUSE volumes
should be unmounted and aborting the FUSE connections will either
no-op or actually prevent the FUSE daemon from getting wedged in a
zombie state.

Test: Manually trigger a FUSE fd leak in the MediaProvider, kill it
and verify that it is restarted without zombie.
Bug: 233216232
Bug: 231792374

Change-Id: I9e559a48b9a72e6ecbc3a277a09ea5d34c9ec499
Merged-In: I9e559a48b9a72e6ecbc3a277a09ea5d34c9ec499
2022-05-19 17:17:10 +01:00
Daeho Jeong
b56efd29a7 Merge "vold: fix the range of stopped state of idleMaint" am: 289bcb5305 am: d7237292e3 am: 684554549d
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2100921

Change-Id: If02e0b9392a5124653911e42e71eee2e5537818c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 02:21:01 +00:00
Daeho Jeong
684554549d Merge "vold: fix the range of stopped state of idleMaint" am: 289bcb5305 am: d7237292e3
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2100921

Change-Id: I1e70ad65c055db304ccbd9f64c739e3c8830175f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 01:35:59 +00:00
Daeho Jeong
d7237292e3 Merge "vold: fix the range of stopped state of idleMaint" am: 289bcb5305
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2100921

Change-Id: I3fc7979d0d5bd5da8fe49ffd1da3589a7df2db5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 00:53:22 +00:00
Daeho Jeong
289bcb5305 Merge "vold: fix the range of stopped state of idleMaint" 2022-05-18 23:27:40 +00:00
Daeho Jeong
372b3510b5 vold: fix the range of stopped state of idleMaint
When it is stuck in runDevGC() for an unexpected reason, now it cannot
prevent the other callers from entering into it again. Fix it.

Bug: 232297944
Test: run "sm idle-maint run" twice & check whether they are overlapped
Signed-off-by: Daeho Jeong <daehojeong@google.com>
Change-Id: I785c8aeebd8fcf58c34d9be9968d99634d0b420a
2022-05-18 09:03:15 -07:00
Eric Biggers
8faad6f2dc Merge "Add and use prepare_dir_with_policy() helper function" am: 14ac67efab am: b0aec67fab am: 814dbfb77c
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2097184

Change-Id: I7c6c00e0ab05614792c85298dd9e11910c6c388b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 09:39:29 +00:00
Eric Biggers
814dbfb77c Merge "Add and use prepare_dir_with_policy() helper function" am: 14ac67efab am: b0aec67fab
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2097184

Change-Id: I090927709e10f6eb6ade3192ab76ce73e29ec10e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 08:50:08 +00:00
Eric Biggers
b0aec67fab Merge "Add and use prepare_dir_with_policy() helper function" am: 14ac67efab
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2097184

Change-Id: I2d4d4a5832d66ded83e7f2effe14d34728d0db5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-13 03:53:23 +00:00
Eric Biggers
14ac67efab Merge "Add and use prepare_dir_with_policy() helper function" 2022-05-13 03:04:50 +00:00
Eric Biggers
ca9a97ed6c Add and use prepare_dir_with_policy() helper function
Having prepare_dir() and EnsurePolicy() be separate operations is
error-prone; it lengthens the window of time that files could
accidentally be created in new directories before they are encrypted,
and it makes it easier to accidentally never encrypt a directory.

To partially address this, add a function prepare_dir_with_policy() that
combines the two steps, and use it everywhere possible.  This function
is now the only place in vold that calls EnsurePolicy().

As a follow-up change, we could go a bit further and make this helper
function create the directory under a temporary name and move it into
place already-encrypted.  This change just focuses on getting the helper
function in place, without changing the behavior too much.

Change-Id: I98ab345df235120db6727f7dbe0da6a8b6ef2579
2022-05-12 20:21:33 +00:00
Eric Biggers
896625bc6d Merge changes from topic "deny-create-user-dirs" am: 9fb8825578 am: 65f0713d14 am: cf8713daf4
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095484

Change-Id: I9395c42e8d2ebc5acf48b56dc3b489b23fbb6646
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 20:16:36 +00:00
Eric Biggers
af5e9ca469 Don't return /data/data from BuildDataUserCePath() am: aafc1bfb73 am: 50cfdadab0 am: e515951101
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095483

Change-Id: Ia19d6556ce520e0a8364001de8bb4314f339241e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 20:16:34 +00:00
Eric Biggers
cf8713daf4 Merge changes from topic "deny-create-user-dirs" am: 9fb8825578 am: 65f0713d14
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095484

Change-Id: Id9e1c58d6a5bcf2609229c387db91eec76afeefc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 19:57:49 +00:00
Eric Biggers
e515951101 Don't return /data/data from BuildDataUserCePath() am: aafc1bfb73 am: 50cfdadab0
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095483

Change-Id: I49b25ca9d4666edeee056588b24f4528a495af32
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 19:57:48 +00:00
Eric Biggers
65f0713d14 Merge changes from topic "deny-create-user-dirs" am: 9fb8825578
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095484

Change-Id: I89516d7b997e2b48e1767e895c797eec349ffa17
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 19:38:52 +00:00
Eric Biggers
50cfdadab0 Don't return /data/data from BuildDataUserCePath() am: aafc1bfb73
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2095483

Change-Id: Ib1953e89a41e68f845e33878b0cb7728b06a9e8e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-12 19:38:51 +00:00
Eric Biggers
9fb8825578 Merge changes from topic "deny-create-user-dirs"
* changes:
  Prepare /data/user/0 and /data/media/obb during initUser0
  Don't return /data/data from BuildDataUserCePath()
2022-05-12 18:41:21 +00:00
Eric Biggers
9ea5344daf Prepare /data/user/0 and /data/media/obb during initUser0
Prepare these directories during initUser0.  This greatly shortens the
gap between the creation and encryption of /data/user/0, and this makes
it possible to remove init's write access to all directories containing
per-user encrypted directories.

Bug: 156305599
Change-Id: Ibf3d25356e8f0bca70da078c5d2428ae8615240e
2022-05-11 21:56:01 +00:00
Eric Biggers
3ff1aa1b0d [automerger skipped] Enforce that internal storage is prepared first am: c193c3fbb8 -s ours am: 6e62eb2100 -s ours
am skip reason: Merged-In Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178 with SHA-1 c66c2e306d is already in history

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

Change-Id: I39f93e7e2c13242195524abeb712e6248530fd0a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 21:31:34 +00:00
Eric Biggers
cac2ea1a11 [automerger skipped] Enforce that internal storage is prepared first am: c193c3fbb8 am: 449ac4d8ff -s ours
am skip reason: Merged-In Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178 with SHA-1 c66c2e306d is already in history

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

Change-Id: If3f6ec126e7d92865bae3c733b414047e5fdbaa3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 21:24:37 +00:00
Eric Biggers
6e62eb2100 [automerger skipped] Enforce that internal storage is prepared first am: c193c3fbb8 -s ours
am skip reason: Merged-In Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178 with SHA-1 c66c2e306d is already in history

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

Change-Id: I5166e083498635a96526d45c6470884ea4adf0a9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 21:09:44 +00:00
Eric Biggers
449ac4d8ff Enforce that internal storage is prepared first am: c193c3fbb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/vold/+/18163020

Change-Id: Ide14963edb87119fa4c7b06cee5a2d01eb1fe8dc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-11 21:08:54 +00:00
Eric Biggers
aafc1bfb73 Don't return /data/data from BuildDataUserCePath()
There is no reason for this function to sometimes return the legacy
alias "/data/data" for /data/user/0.  Just use /data/user/0 instead.

Bug: 156305599
Change-Id: I305a9463c1bf0a59495c34ef33430f92257c2f0d
2022-05-11 05:33:25 +00:00
Eric Biggers
844620ed8e Merge "Set correct SELinux labels on new user directories" am: ff12485899 am: 855a86f6e7 am: 4792b2ff3a
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2086313

Change-Id: I5dfb47519402a0c60999d2ee16b9f3d14821da62
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 17:32:43 +00:00
Eric Biggers
4792b2ff3a Merge "Set correct SELinux labels on new user directories" am: ff12485899 am: 855a86f6e7
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2086313

Change-Id: I966c9dabd925b058e53dfcafac5564b270856329
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 15:47:52 +00:00
Eric Biggers
855a86f6e7 Merge "Set correct SELinux labels on new user directories" am: ff12485899
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2086313

Change-Id: Iecee4b11b0b89a2d4c5657e099daf0ce2525382c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-09 15:18:59 +00:00
Eric Biggers
ff12485899 Merge "Set correct SELinux labels on new user directories" 2022-05-09 14:45:11 +00:00
Eric Biggers
39704e777a Set correct SELinux labels on new user directories
Make vold explicitly set the appropriate fscreate SELinux context when
creating per-user subdirectories such as /data/user/$userId.  This is
needed for these subdirectories to get the correct SELinux labels after
the sepolicy change https://r.android.com/2078213 changes their parent
directories to have different labels.

Note: the helper function being changed is also used for some other
directories, such as subdirectories of /data/misc/vold.  But this is
fine since they still get the same labels as before.

Test: see https://r.android.com/2078213
Bug: 156305599
Change-Id: Id61c2d985144007059c563cec91b1355176e915c
2022-05-04 22:17:54 +00:00
Eric Biggers
27c39e5a9c Merge "Enforce that internal storage is prepared first" am: 1093934040 am: 4f4e999ec0 am: 7f925c79be
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2085659

Change-Id: Idecae496287dbd22fa6e0c065314aebbd5e07f69
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 20:24:50 +00:00
Eric Biggers
7f925c79be Merge "Enforce that internal storage is prepared first" am: 1093934040 am: 4f4e999ec0
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2085659

Change-Id: Iabd7700ed3eb10439b7f9d92cfb006ae6b280558
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 20:12:39 +00:00
Eric Biggers
4f4e999ec0 Merge "Enforce that internal storage is prepared first" am: 1093934040
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2085659

Change-Id: I30eaba96a192c2ce32aa16c60ffe1ac39194d639
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-04 19:54:18 +00:00
Eric Biggers
c193c3fbb8 Enforce that internal storage is prepared first
Before doing anything else in fscrypt_prepare_user_storage(), error out
if adoptable storage is being prepared before internal storage.  Without
this explicit check, making this mistake results in a sequence of weird
errors that is hard to trace back to the actual problem.

Bug: 231387956
Change-Id: Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178
(cherry picked from commit c66c2e306d)
Merged-In: Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178
2022-05-04 19:01:45 +00:00
Eric Biggers
1093934040 Merge "Enforce that internal storage is prepared first" 2022-05-04 18:56:17 +00:00
Eric Biggers
c66c2e306d Enforce that internal storage is prepared first
Before doing anything else in fscrypt_prepare_user_storage(), error out
if adoptable storage is being prepared before internal storage.  Without
this explicit check, making this mistake results in a sequence of weird
errors that is hard to trace back to the actual problem.

Bug: 231387956
Change-Id: Ib26cc1bd46ffa2578f6f0156dfacc5496dae3178
2022-05-04 06:47:44 +00:00
Chih-hung Hsieh
6aba3d31e4 Merge "Use tidy_checks_as_errors not -warnings-as-errors" am: 56ee1a0ca7 am: 39b2e0423b am: 4858522869
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2078678

Change-Id: Ie50301218bf00eb937b445ede9442a4a45a498ce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 22:39:14 +00:00
Chih-hung Hsieh
4858522869 Merge "Use tidy_checks_as_errors not -warnings-as-errors" am: 56ee1a0ca7 am: 39b2e0423b
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2078678

Change-Id: I1fb02daed88158f4b1b4d0f7f4125b12c21400a2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 22:10:48 +00:00
Chih-hung Hsieh
39b2e0423b Merge "Use tidy_checks_as_errors not -warnings-as-errors" am: 56ee1a0ca7
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2078678

Change-Id: I343bac88d299cc3382143b89a37e95a3dd18a5c0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-02 21:31:50 +00:00
Chih-hung Hsieh
56ee1a0ca7 Merge "Use tidy_checks_as_errors not -warnings-as-errors" 2022-04-29 00:15:40 +00:00
Chih-Hung Hsieh
1ab55a5060 Use tidy_checks_as_errors not -warnings-as-errors
The flag -warnings-as-errors embedded in tidy_flags
is difficult to process and error-prone.
They should be replaced with the new tidy_checks_as_errors list.

Bug: 229801437
Test: make tidy-system-vold
Change-Id: I801e73dce5f08fe1ca5bc49de633706ad2cdf986
2022-04-27 15:54:25 -07:00
Alix Espino
3a424cfc9a Merge "Deleted clang property in Android.bp files" am: df7ac92d33 am: 42c961198f am: cf6eb0e5e7 am: e07afb81e2
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2066564

Change-Id: Icf37540ba5f6d37b6eafef14473d1746f6700cba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 22:23:29 +00:00
Alix Espino
e07afb81e2 Merge "Deleted clang property in Android.bp files" am: df7ac92d33 am: 42c961198f am: cf6eb0e5e7
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2066564

Change-Id: I9e1928a7aaf6c549e553bb480aaec605c5495aea
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 21:54:31 +00:00
Alix Espino
cf6eb0e5e7 Merge "Deleted clang property in Android.bp files" am: df7ac92d33 am: 42c961198f
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2066564

Change-Id: Ifb57301330cd2bec3c0cfed95e0e60206573b022
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 21:38:24 +00:00
Alix Espino
42c961198f Merge "Deleted clang property in Android.bp files" am: df7ac92d33
Original change: https://android-review.googlesource.com/c/platform/system/vold/+/2066564

Change-Id: I1ca5175a4409124414c70f158e6df4b994b17d36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-20 21:18:53 +00:00
Alix Espino
df7ac92d33 Merge "Deleted clang property in Android.bp files" 2022-04-20 20:58:30 +00:00