nspawn: only remount /usr/ with idmap when --volatile=yes
The root directory is already mounted with a picked UID shift, hence it is not necessary to remount with idmap. However, /usr/ is a bind-mount, hence it must be remounted with idmap. With this change, now '-U --volatile=yes' works fine. Fixes #34254.
This commit is contained in:
+7
-4
@@ -3995,11 +3995,14 @@ static int outer_child(
|
||||
arg_uid_shift != 0) {
|
||||
_cleanup_strv_free_ char **dirs = NULL;
|
||||
|
||||
r = strv_extend(&dirs, directory);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
if (arg_volatile_mode != VOLATILE_YES) {
|
||||
r = strv_extend(&dirs, directory);
|
||||
if (r < 0)
|
||||
return log_oom();
|
||||
}
|
||||
|
||||
if (dissected_image && dissected_image->partitions[PARTITION_USR].found) {
|
||||
if ((dissected_image && dissected_image->partitions[PARTITION_USR].found) ||
|
||||
arg_volatile_mode == VOLATILE_YES) {
|
||||
char *s = path_join(directory, "/usr");
|
||||
if (!s)
|
||||
return log_oom();
|
||||
|
||||
Reference in New Issue
Block a user