From a2307aefd06f1310660ef1d35ce01bcfc72c9633 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 20 Jul 2015 16:26:19 -0700 Subject: Only restorecon_data once for all users. restorecon_data already iterates across all found users internally, so we don't need to call it for each UID moved. In fact, this was a bug that caused data for the owner to be relabeled when moving apps back to internal storage. Bug: 21813384 Change-Id: I5ba76d4f30d129365864c8a25b665f344b99a6b4 --- cmds/installd/commands.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cmds') diff --git a/cmds/installd/commands.cpp b/cmds/installd/commands.cpp index 880877c..7090b36 100644 --- a/cmds/installd/commands.cpp +++ b/cmds/installd/commands.cpp @@ -257,11 +257,11 @@ int copy_complete_app(const char *from_uuid, const char *to_uuid, << ": status " << rc; goto fail; } + } - if (restorecon_data(to_uuid, package_name, seinfo, uid) != 0) { - LOG(ERROR) << "Failed to restorecon " << to; - goto fail; - } + if (restorecon_data(to_uuid, package_name, seinfo, multiuser_get_uid(0, appid)) != 0) { + LOG(ERROR) << "Failed to restorecon"; + goto fail; } // We let the framework scan the new location and persist that before -- cgit v1.1