summaryrefslogtreecommitdiff
path: root/common/utils.cc
diff options
context:
space:
mode:
authorAlex Deymo <deymo@google.com>2016-03-01 18:55:54 -0800
committerAlex Deymo <deymo@google.com>2016-03-01 18:55:54 -0800
commit14dbd333439f34c648b9f783ffa656ef565de0cc (patch)
treea55f35b1d7231658201759cc51079e5b3be08acf /common/utils.cc
parent390efedcb7e17587da765b6d682077cb7fa46ee1 (diff)
Mount the new system as 'postinstall_file' in postinstall.
When mounting the new filesystem on /postinstall, we need to override the file attributes from the new system (unknown to the current selinux policies) with a consistent label that will be used only in the context of postinstall. This patch passes an extra option to mount(2) in Brillo and Android to achieve this. Bug: 27177071 TEST=Deployed a postinstall script with `ls -laZ`, contents show "postinstall_file". Change-Id: Ia43b45c92e4c4cd340a884818ac00f24a418f9e7
Diffstat (limited to 'common/utils.cc')
-rw-r--r--common/utils.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/utils.cc b/common/utils.cc
index b4956e78..912bc966 100644
--- a/common/utils.cc
+++ b/common/utils.cc
@@ -614,7 +614,8 @@ bool MakeTempDirectory(const string& base_dirname_template,
bool MountFilesystem(const string& device,
const string& mountpoint,
unsigned long mountflags, // NOLINT(runtime/int)
- const string& type) {
+ const string& type,
+ const string& fs_mount_options) {
vector<const char*> fstypes;
if (type.empty()) {
fstypes = {"ext2", "ext3", "ext4", "squashfs"};
@@ -623,7 +624,7 @@ bool MountFilesystem(const string& device,
}
for (const char* fstype : fstypes) {
int rc = mount(device.c_str(), mountpoint.c_str(), fstype, mountflags,
- nullptr);
+ fs_mount_options.c_str());
if (rc == 0)
return true;