From d0c24c50d9857254f5d32cf53adb0091ceaa1fa6 Mon Sep 17 00:00:00 2001 From: bigbiff bigbiff Date: Fri, 11 Oct 2013 20:28:00 -0400 Subject: fix getting and setting contexts in selinux recreate lost+found with selinux contexts Change-Id: I19e8696d47319dfb641520956c8a27c2a796a0c3 --- partition.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'partition.cpp') diff --git a/partition.cpp b/partition.cpp index c1c99f6f2..10cfb9f27 100644 --- a/partition.cpp +++ b/partition.cpp @@ -53,6 +53,9 @@ extern "C" { #include "make_ext4fs.h" #endif } +#ifdef HAVE_SELINUX +#include "selinux/selinux.h" +#endif using namespace std; @@ -1272,6 +1275,12 @@ bool TWPartition::Wipe_EXT4() { LOGERR("Unable to wipe '%s' using function call.\n", Mount_Point.c_str()); return false; } else { + #ifdef HAVE_SELINUX + string sedir = Mount_Point + "/lost+found"; + PartitionManager.Mount_By_Path(sedir.c_str(), true); + rmdir(sedir.c_str()); + mkdir(sedir.c_str(), S_IRWXU | S_IRWXG | S_IWGRP | S_IXGRP); + #endif return true; } #else -- cgit v1.2.3