restorecon /data/anr directory.
Restore the security contexts of anr directory when initially created. Change-Id: Ia731414ccbcdc7369d24be6db0003c53abcf6ef4 Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
This commit is contained in:
@@ -106,6 +106,7 @@ import android.os.ParcelFileDescriptor;
|
||||
import android.os.Process;
|
||||
import android.os.RemoteCallbackList;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SELinux;
|
||||
import android.os.ServiceManager;
|
||||
import android.os.StrictMode;
|
||||
import android.os.SystemClock;
|
||||
@@ -3032,7 +3033,12 @@ public final class ActivityManagerService extends ActivityManagerNative
|
||||
File tracesFile = new File(tracesPath);
|
||||
try {
|
||||
File tracesDir = tracesFile.getParentFile();
|
||||
if (!tracesDir.exists()) tracesFile.mkdirs();
|
||||
if (!tracesDir.exists()) {
|
||||
tracesFile.mkdirs();
|
||||
if (!SELinux.restorecon(tracesDir)) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
FileUtils.setPermissions(tracesDir.getPath(), 0775, -1, -1); // drwxrwxr-x
|
||||
|
||||
if (clearTraces && tracesFile.exists()) tracesFile.delete();
|
||||
@@ -3136,7 +3142,12 @@ public final class ActivityManagerService extends ActivityManagerNative
|
||||
final File tracesDir = tracesFile.getParentFile();
|
||||
final File tracesTmp = new File(tracesDir, "__tmp__");
|
||||
try {
|
||||
if (!tracesDir.exists()) tracesFile.mkdirs();
|
||||
if (!tracesDir.exists()) {
|
||||
tracesFile.mkdirs();
|
||||
if (!SELinux.restorecon(tracesDir.getPath())) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
FileUtils.setPermissions(tracesDir.getPath(), 0775, -1, -1); // drwxrwxr-x
|
||||
|
||||
if (tracesFile.exists()) {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.am;
|
||||
|
||||
import android.os.SELinux;
|
||||
import android.util.Slog;
|
||||
|
||||
import java.io.*;
|
||||
@@ -80,6 +81,9 @@ class DeviceMonitor {
|
||||
if (!BASE.isDirectory() && !BASE.mkdirs()) {
|
||||
throw new AssertionError("Couldn't create " + BASE + ".");
|
||||
}
|
||||
if (!SELinux.restorecon(BASE)) {
|
||||
throw new AssertionError("Couldn't restorecon " + BASE + ".");
|
||||
}
|
||||
}
|
||||
|
||||
private static final File[] PATHS = {
|
||||
|
||||
Reference in New Issue
Block a user