summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorCharles He <qiurui@google.com>2016-12-29 10:11:20 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-12-29 10:11:20 +0000
commit00a581f882ea77f4bb489637ed072bd17371255c (patch)
tree3db88772ab2c39845de8d3c34a52a03ba8d5504a /core/java/android
parentd82f8a67fc453953a89ed2cd4c783a85cc9b3547 (diff)
parent133ff4d611ca5cc0227ae9d4bc73c61329b14d3a (diff)
Prevent writing to FRP partition during factory reset. am: a9437bd1ca am: 2ce5c4320d
am: 133ff4d611 Change-Id: I54b163f645f561243aac3df1a55c1023531997b3
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/service/persistentdata/PersistentDataBlockManager.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/core/java/android/service/persistentdata/PersistentDataBlockManager.java b/core/java/android/service/persistentdata/PersistentDataBlockManager.java
index 0ffdf68c4b30..10ffe8426955 100644
--- a/core/java/android/service/persistentdata/PersistentDataBlockManager.java
+++ b/core/java/android/service/persistentdata/PersistentDataBlockManager.java
@@ -54,6 +54,9 @@ public class PersistentDataBlockManager {
* Returns the number of bytes written or -1 on error. If the block is too big
* to fit on the partition, returns -MAX_BLOCK_SIZE.
*
+ * {@link #wipe} will block any further {@link #write} operation until reboot,
+ * in which case -1 will be returned.
+ *
* @param data the data to write
*/
public int write(byte[] data) {
@@ -108,6 +111,8 @@ public class PersistentDataBlockManager {
/**
* Zeroes the previously written block in its entirety. Calling this method
* will erase all data written to the persistent data partition.
+ * It will also prevent any further {@link #write} operation until reboot,
+ * in order to prevent a potential race condition. See b/30352311.
*/
public void wipe() {
try {