Merge "Stop invoking secdiscard when deleting password data" into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8fa420c261
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user