From 1176e51b49fdc2bf04e48eabe2213b079078619e Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 29 Feb 2016 17:01:26 -0700 Subject: [PATCH] Need to clear identity when rebooting for FBE. Bug: 27412530 Change-Id: I6d5b925a16daefd1b6906ce036faeb6244d503fb --- .../core/java/com/android/server/MountService.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 53923ba972c71..a3322fc996772 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -1945,11 +1945,16 @@ class MountService extends IMountService.Stub "Emulation not available on device with native FBE"); } - final boolean emulateFbe = (flags & StorageManager.DEBUG_EMULATE_FBE) != 0; - SystemProperties.set(StorageManager.PROP_EMULATE_FBE, Boolean.toString(emulateFbe)); + final long token = Binder.clearCallingIdentity(); + try { + final boolean emulateFbe = (flags & StorageManager.DEBUG_EMULATE_FBE) != 0; + SystemProperties.set(StorageManager.PROP_EMULATE_FBE, Boolean.toString(emulateFbe)); - // Perform hard reboot to kick policy into place - mContext.getSystemService(PowerManager.class).reboot(null); + // Perform hard reboot to kick policy into place + mContext.getSystemService(PowerManager.class).reboot(null); + } finally { + Binder.restoreCallingIdentity(token); + } } if ((mask & StorageManager.DEBUG_FORCE_ADOPTABLE) != 0) {