Merge "restorecon /data/anr directory."

This commit is contained in:
Jean-Baptiste Queru
2012-08-22 07:18:39 -07:00
committed by android code review
2 changed files with 17 additions and 2 deletions

View File

@@ -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()) {

View File

@@ -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 = {