Loading init/first_stage_mount.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -396,9 +396,10 @@ bool FirstStageMountVBootV2::CreateSnapshotPartitions(SnapshotManager* sm) { use_snapuserd_ = sm->IsSnapuserdRequired(); if (use_snapuserd_) { if (sm->UpdateUsesUserSnapshots()) { LaunchFirstStageSnapuserd(SnapshotDriver::DM_USER); LaunchFirstStageSnapuserd(); } else { LaunchFirstStageSnapuserd(SnapshotDriver::DM_SNAPSHOT); LOG(FATAL) << "legacy virtual-ab is no longer supported"; return false; } } Loading init/snapuserd_transition.cpp +7 −16 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ static constexpr char kSnapuserdFirstStageInfoVar[] = "FIRST_STAGE_SNAPUSERD_INF static constexpr char kSnapuserdLabel[] = "u:object_r:snapuserd_exec:s0"; static constexpr char kSnapuserdSocketLabel[] = "u:object_r:snapuserd_socket:s0"; void LaunchFirstStageSnapuserd(SnapshotDriver driver) { void LaunchFirstStageSnapuserd() { SocketDescriptor socket_desc; socket_desc.name = android::snapshot::kSnapuserdSocket; socket_desc.type = SOCK_STREAM; Loading @@ -85,7 +85,6 @@ void LaunchFirstStageSnapuserd(SnapshotDriver driver) { if (pid == 0) { socket->Publish(); if (driver == SnapshotDriver::DM_USER) { char arg0[] = "/system/bin/snapuserd"; char arg1[] = "-user_snapshot"; char* const argv[] = {arg0, arg1, nullptr}; Loading @@ -93,14 +92,6 @@ void LaunchFirstStageSnapuserd(SnapshotDriver driver) { PLOG(FATAL) << "Cannot launch snapuserd; execv failed"; } _exit(127); } else { char arg0[] = "/system/bin/snapuserd"; char* const argv[] = {arg0, nullptr}; if (execv(arg0, argv) < 0) { PLOG(FATAL) << "Cannot launch snapuserd; execv failed"; } _exit(127); } } auto client = SnapuserdClient::Connect(android::snapshot::kSnapuserdSocket, 10s); Loading init/snapuserd_transition.h +1 −6 Original line number Diff line number Diff line Loading @@ -29,13 +29,8 @@ namespace android { namespace init { enum class SnapshotDriver { DM_SNAPSHOT, DM_USER, }; // Fork and exec a new copy of snapuserd. void LaunchFirstStageSnapuserd(SnapshotDriver driver); void LaunchFirstStageSnapuserd(); class SnapuserdSelinuxHelper final { using SnapshotManager = android::snapshot::SnapshotManager; Loading Loading
init/first_stage_mount.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -396,9 +396,10 @@ bool FirstStageMountVBootV2::CreateSnapshotPartitions(SnapshotManager* sm) { use_snapuserd_ = sm->IsSnapuserdRequired(); if (use_snapuserd_) { if (sm->UpdateUsesUserSnapshots()) { LaunchFirstStageSnapuserd(SnapshotDriver::DM_USER); LaunchFirstStageSnapuserd(); } else { LaunchFirstStageSnapuserd(SnapshotDriver::DM_SNAPSHOT); LOG(FATAL) << "legacy virtual-ab is no longer supported"; return false; } } Loading
init/snapuserd_transition.cpp +7 −16 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ static constexpr char kSnapuserdFirstStageInfoVar[] = "FIRST_STAGE_SNAPUSERD_INF static constexpr char kSnapuserdLabel[] = "u:object_r:snapuserd_exec:s0"; static constexpr char kSnapuserdSocketLabel[] = "u:object_r:snapuserd_socket:s0"; void LaunchFirstStageSnapuserd(SnapshotDriver driver) { void LaunchFirstStageSnapuserd() { SocketDescriptor socket_desc; socket_desc.name = android::snapshot::kSnapuserdSocket; socket_desc.type = SOCK_STREAM; Loading @@ -85,7 +85,6 @@ void LaunchFirstStageSnapuserd(SnapshotDriver driver) { if (pid == 0) { socket->Publish(); if (driver == SnapshotDriver::DM_USER) { char arg0[] = "/system/bin/snapuserd"; char arg1[] = "-user_snapshot"; char* const argv[] = {arg0, arg1, nullptr}; Loading @@ -93,14 +92,6 @@ void LaunchFirstStageSnapuserd(SnapshotDriver driver) { PLOG(FATAL) << "Cannot launch snapuserd; execv failed"; } _exit(127); } else { char arg0[] = "/system/bin/snapuserd"; char* const argv[] = {arg0, nullptr}; if (execv(arg0, argv) < 0) { PLOG(FATAL) << "Cannot launch snapuserd; execv failed"; } _exit(127); } } auto client = SnapuserdClient::Connect(android::snapshot::kSnapuserdSocket, 10s); Loading
init/snapuserd_transition.h +1 −6 Original line number Diff line number Diff line Loading @@ -29,13 +29,8 @@ namespace android { namespace init { enum class SnapshotDriver { DM_SNAPSHOT, DM_USER, }; // Fork and exec a new copy of snapuserd. void LaunchFirstStageSnapuserd(SnapshotDriver driver); void LaunchFirstStageSnapuserd(); class SnapuserdSelinuxHelper final { using SnapshotManager = android::snapshot::SnapshotManager; Loading