Merge "Stop invoking secdiscard when deleting password data" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-06 22:37:43 +00:00
committed by Android (Google) Code Review
4 changed files with 6 additions and 27 deletions

View File

@@ -185,7 +185,6 @@ interface IStorageManager {
long getCacheSizeBytes(String volumeUuid, int uid) = 76;
long getAllocatableBytes(String volumeUuid, int flags, String callingPackage) = 77;
void allocateBytes(String volumeUuid, long bytes, int flags, String callingPackage) = 78;
void secdiscard(in String path) = 79;
void runIdleMaintenance() = 80;
void abortIdleMaintenance() = 81;
void runIdleMaintenance() = 79;
void abortIdleMaintenance() = 80;
}

View File

@@ -50,7 +50,6 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager.ServiceNotFoundException;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.provider.Settings;
import android.system.ErrnoException;
import android.system.Os;
@@ -1322,15 +1321,6 @@ public class StorageManager {
}
}
/** {@hide} */
public void secdiscard(String path) {
try {
mStorageManager.secdiscard(path);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/** {@hide} */
public static boolean isUserKeyUnlocked(int userId) {
if (sStorageManager == null) {

View File

@@ -2583,17 +2583,6 @@ class StorageManagerService extends IStorageManager.Stub
}
}
@Override
public void secdiscard(String path) {
enforcePermission(android.Manifest.permission.STORAGE_INTERNAL);
try {
mVold.secdiscard(path);
} catch (Exception e) {
Slog.wtf(TAG, e);
}
}
class AppFuseMountScope extends AppFuseBridge.MountScope {
boolean opened = false;

View File

@@ -495,10 +495,11 @@ class LockSettingsStorage {
String path = getSynthenticPasswordStateFilePathForUser(userId, handle, name);
File file = new File(path);
if (file.exists()) {
try {
mContext.getSystemService(StorageManager.class).secdiscard(file.getAbsolutePath());
try (RandomAccessFile raf = new RandomAccessFile(path, "rws")) {
final int fileSize = (int) raf.length();
raf.write(new byte[fileSize]);
} catch (Exception e) {
Slog.w(TAG, "Failed to secdiscard " + path, e);
Slog.w(TAG, "Failed to zeroize " + path, e);
} finally {
file.delete();
}