static int setupSharedRO(const std::string &pkg_name, bool enabledSharedRO, const std::string &userAppsRWDir,
const std::string &userAppsRWSharedDir)
{
- int ret;
+ int ret = SECURITY_MANAGER_SUCCESS;
std::string userPkgAppsRWSharedDir;
std::string userPkgAppsRWSharedTmpDir;
- ret = MountNS::makeMountSlave("/");
- if (ret != SECURITY_MANAGER_SUCCESS)
- return ret;
-
if (enabledSharedRO) {
userPkgAppsRWSharedDir = userAppsRWSharedDir + pkg_name;
userPkgAppsRWSharedTmpDir = userAppsRWDir + "/.shared_tmp/" + pkg_name;
"Abort launching the application, as it may have too high privileges and pose risk to the system.");
return SECURITY_MANAGER_ERROR_INPUT_PARAM;
}
- return MountNS::createMountNamespace();
+
+ int ret = MountNS::createMountNamespace();
+ if (ret != SECURITY_MANAGER_SUCCESS)
+ return ret;
+
+ return MountNS::makeMountSlave("/");
}
static inline int security_manager_setup_namespace_internal(const MountNS::PrivilegePathsMap &privilegePathMap,