summaryrefslogtreecommitdiff
path: root/rs/java/android/renderscript/ProgramFragmentFixedFunction.java
diff options
context:
space:
mode:
authorRubin Xu <rubinxu@google.com>2018-04-10 09:44:18 +0100
committerRubin Xu <rubinxu@google.com>2018-04-10 12:06:42 +0100
commita339df080d7dfacbec7915f869115dfa91ce4b12 (patch)
treea8a88aae2e49f179c52e5962487e8d42cb038717 /rs/java/android/renderscript/ProgramFragmentFixedFunction.java
parentb2e6e45d009e7c9148e69bf2c1f0b46917bee7b0 (diff)
Fix unintended deletion of reused weaver slots during user removal
During user deletion, getNextAvailableWeaverSlot() might return a slot that's currently taken by the to-be-removed user, because the user is marked as partial so it's not returned from UserManager in the list of users and SyntheticPasswordManager will not attempt to track which slot that user has used. This slot might then be reused by a newly-created user. Meanwhile SyntheticPasswordManager will also try to explicitly delete slots for the deleted user during ACTION_USER_REMOVED, and if this happens after the slot is reused by the new user, the weaver slot will be corrupted, leading to failure to unlock the new user later. Quick fix by double checking if slot is reused during user deletion. Test: Add device lock; create work profile; reboot device; delete the current profile and quickly re-create one. Verify the new profile can still be unlocked after another reboot Bug: 76134651 Change-Id: I89769b7cbcf64f2562717c98e3f15ab0fbb38bf0
Diffstat (limited to 'rs/java/android/renderscript/ProgramFragmentFixedFunction.java')
0 files changed, 0 insertions, 0 deletions