Commit graph

315 commits

Author SHA1 Message Date
The Android Automerger
1cbe0ce40c merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-18 07:00:15 -07:00
Ken Sumrall
92736efab0 Another fix for encryption
The previous problem of the framework not properly restarting after accepting
the password to decrypt the storage is also a problem when restarting the
framework to display the encryption progress screen.  So like the previous
hacky fix, add a sleep to wait a few moments before proceeding.  Also,
increase the sleep of the previous fix from 1 second to 2, as the problem
was seen once more in testing.  A proper fix has been designed and hopefully
will work and be checked-in RSN.

Change-Id: Icc2c072ce7f7ebcdea22cd7ff8cb2b87a627c578
2012-10-17 20:57:14 -07:00
Ken Sumrall
f1a6123f9a Fix encryption on certain devices
There is a race in the encryption code that after it accepts the
decryption password, it tells init to kill all the processes in
class "main", then it mounts the decrypted filesystem, preps it,
and restarts the framework.  For an unknown reason on some devices,
the new framework sometimes starts up before init has killed and
reaped all the old processes.  The proper fix is to make the killing
of the old framework synchronous, so vold waits till all the
processes have died.  But with factory rom a few days away, the
much more pragmatic solution of adding a sleep of 1 second after
telling init to kill the old framework will suffice.

Bug: 7271212
Change-Id: Ie971cd04abbc6f3f6500b4acd79d3b3b26d9561c
2012-10-09 16:20:51 -07:00
Ken Sumrall
9dedfd473d Fix encryption on certain devices
There is a race in the encryption code that after it accepts the
decryption password, it tells init to kill all the processes in
class "main", then it mounts the decrypted filesystem, preps it,
and restarts the framework.  For an unknown reason on some devices,
the new framework sometimes starts up before init has killed and
reaped all the old processes.  The proper fix is to make the killing
of the old framework synchronous, so vold waits till all the
processes have died.  But with factory rom a few days away, the
much more pragmatic solution of adding a sleep of 1 second after
telling init to kill the old framework will suffice.

Bug: 7271212
Change-Id: Ie971cd04abbc6f3f6500b4acd79d3b3b26d9561c
2012-10-09 14:30:00 -07:00
The Android Automerger
2a012c02b4 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-07 07:00:08 -07:00
Jeff Sharkey
7a3c3d462e Unmount in-place instead of using MS_MOVE.
To support multi-user emulated storage, we mount rootfs as MS_SHARED,
which means we can't MS_MOVE existing mount points rooted in the
shared subtree.  Initial staging is still able to MS_MOVE, since it's
rooted in a MS_PRIVATE tmpfs rooted at /mnt/secure.

This change fixes unmounting by operating in-place instead of trying
(and failing) to MS_MOVE back to staging.

Bug: 7127564
Change-Id: I4783db4319b61c0915da39361cbc7e8f4943d094
2012-10-04 16:50:17 -07:00
Jeff Sharkey
13f393d699 Update environment variable for multi-user.
Bug: 7260040
Change-Id: I96d821e11a3f0be32bfe92a4151f00f2b15d100e
2012-10-01 16:23:36 -07:00
Jeff Sharkey
b77bc4696b Update environment variable for multi-user.
Bug: 7260040
Change-Id: I96d821e11a3f0be32bfe92a4151f00f2b15d100e
2012-10-01 14:36:26 -07:00
The Android Automerger
9f910d81ae merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-30 18:18:02 -07:00
Ken Sumrall
e919efea94 Workaround a kernel race when loading dmcrypt table
The kernel seems to return from umount(2) sometimes before it has
released the underlying block device.  So until the kernel is fixed,
try up to 10 times to load the crypto mapping table, waiting 500 ms
between tries.

bug: 7220345

Change-Id: Iad3bbef37cbe2e01613bb8a8c4886babdecb8328
2012-09-29 17:24:46 -07:00
The Android Automerger
2bbf02c9b0 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-26 07:00:30 -07:00
Jeff Sharkey
6947904a76 Handle multi-user mountObb() requests.
Mount OBB containers using shared app GID, so that an app can read
the mount point across users.

Bug: 7212801
Change-Id: Ia1be52df9854c259b20728111f3a2c9facf4beaa
2012-09-25 16:14:57 -07:00
Jeff Sharkey
e270d6c1b5 Unmount external storage on multi-user devices.
Bug: 7044670
Change-Id: If1f99968b0392cae9420d067c75bfc18d1067b2c
2012-08-23 14:22:27 -07:00
Jeff Sharkey
7382f81fba Unmount external storage on multi-user devices.
Bug: 7044670
Change-Id: If1f99968b0392cae9420d067c75bfc18d1067b2c
2012-08-23 14:09:14 -07:00
The Android Open Source Project
f763b2fc07 am 7c5109be: (-s ours) Reconcile with jb-mr0-release - do not merge
* commit '7c5109bef8c1f8b857b043bf9c1d26c2f0556e8f':
2012-08-16 18:59:13 -07:00
The Android Open Source Project
7c5109bef8 Reconcile with jb-mr0-release - do not merge
Change-Id: I3ec7be5d1d08566f120f18b68d2f691f92f006c8
2012-08-16 18:57:10 -07:00
The Android Automerger
a20b197260 merge in jb-mr0-release history after reset to jb-dev 2012-08-16 17:57:55 -07:00
Kenny Root
4fe053e1b4 am 62224a32: (-s ours) am eacf7e03: Only cleanup ASECs in external storage DO NOT MERGE
* commit '62224a32f00c344c8ba6edab2107c833700e26a8':
  Only cleanup ASECs in external storage DO NOT MERGE
2012-08-13 11:45:38 -07:00
Kenny Root
62224a32f0 am eacf7e03: Only cleanup ASECs in external storage DO NOT MERGE
* commit 'eacf7e03d60a2b33ac6cdaa0e01bd6a6fdd9455a':
  Only cleanup ASECs in external storage DO NOT MERGE
2012-08-13 11:42:56 -07:00
Kenny Root
eacf7e03d6 Only cleanup ASECs in external storage DO NOT MERGE
Any ASEC or OBB files were unmounted when USB storage was set to UMS
mode. This changes it so only ASEC files on external storage and OBB
files mounted from external storage are unmounted.

(Cherry-pick of 93ecb38dad)

Bug: 6948035
Change-Id: Ib60727bd360caa32173797ff5b4e1e21fcf20054
2012-08-13 09:49:55 -07:00
Kenny Root
93ecb38dad Only cleanup ASECs in external storage
Any ASEC or OBB files were unmounted when USB storage was set to UMS
mode. This changes it so only ASEC files on external storage and OBB
files mounted from external storage are unmounted.

Bug: 6948035
Change-Id: I91bc09ee5b792970b0eef895f6886f3ffad00e8f
2012-08-09 15:50:58 -07:00
Ken Sumrall
912d0b0755 Merge "Fix a typo in cryptfs.c" 2012-06-28 17:58:50 -07:00
Ken Sumrall
319369ac11 Fix a typo in cryptfs.c
Change-Id: If629fa996b135e432bc89da7518b0c1f02750b45
2012-06-27 16:30:18 -07:00
Nick Kralevich
4684e58a8d Add mode when open(O_CREAT) is used.
When creating a new file using open(..., O_CREAT), it is an error
to fail to specify a creation mode. If a mode is not specified, a
random stack provided value is used as the "mode".

This will become a compile error in a future Android change.

Change-Id: I761708c001247d7a2faac2e286288b45bfecc6f7
2012-06-26 15:07:03 -07:00
The Android Open Source Project
b405f36760 am 9ee8a315: Reconcile with jb-release
* commit '9ee8a315eefde7e6ad1bc07bc9d50528f548e8e8':
  Unmount all asec apps before encrypting
2012-06-19 06:20:12 -07:00
The Android Open Source Project
9ee8a315ee Reconcile with jb-release
Change-Id: I60294fb5c41ef34eccc322889168497d9449c6ea
2012-06-19 06:13:59 -07:00
Ken Sumrall
51d1ae176e am a7926050: am 425524db: Unmount all asec apps before encrypting
* commit 'a79260500a869f867118a6e5289c6e5a0353558f':
  Unmount all asec apps before encrypting
2012-06-18 10:52:20 -07:00
Ken Sumrall
a79260500a am 425524db: Unmount all asec apps before encrypting
* commit '425524dba1552ab3d2ad39e205e65d0a2af997f2':
  Unmount all asec apps before encrypting
2012-06-18 10:32:48 -07:00
Ken Sumrall
4053aaef6f Unmount all asec apps before encrypting
Now that forward locked apps are stored on /data as asec image files
that are mounted, they need to be unmounted before /data can be unmounted
so it can be encrypted.

Change-Id: I7c87deb52aaed21c8ad8ce8aceb7c15c2338620a
2012-06-15 16:17:07 -07:00
Ken Sumrall
425524dba1 Unmount all asec apps before encrypting
Now that forward locked apps are stored on /data as asec image files
that are mounted, they need to be unmounted before /data can be unmounted
so it can be encrypted.

Change-Id: I7c87deb52aaed21c8ad8ce8aceb7c15c2338620a
2012-06-15 14:46:53 -07:00
Jean-Baptiste Queru
fc676b69bd am e925ff66: am bac5eb96: Merge "Delay disk inserted broadcast until disk is ready"
* commit 'e925ff6670bb9cef9118ddceb2e3bff81833bd09':
  Delay disk inserted broadcast until disk is ready
2012-05-22 07:46:42 -07:00
Jean-Baptiste Queru
e925ff6670 am bac5eb96: Merge "Delay disk inserted broadcast until disk is ready"
* commit 'bac5eb966c5c3aa9abe83cdb5187326f422741ab':
  Delay disk inserted broadcast until disk is ready
2012-05-22 07:44:54 -07:00
Jean-Baptiste Queru
bac5eb966c Merge "Delay disk inserted broadcast until disk is ready" 2012-05-22 07:25:52 -07:00
The Android Open Source Project
ac3d1eac00 am 2fdea0aa: Reconcile with jb-release nakasi-factoryrom-release
* commit '2fdea0aa78cefce50c6f51be97084977f2a6ae69':
  Native library loading needs to read directory
  Only set permissions on dirs or files
  Fix truncation of ASEC ids
2012-05-16 08:46:29 -07:00
The Android Open Source Project
2fdea0aa78 Reconcile with jb-release nakasi-factoryrom-release
Change-Id: I2bc2763dc285edb9aa8bd9bedd068ee4483a3ce5
2012-05-16 08:41:18 -07:00
The Android Automerger
bfc7db4772 merge in jb-release history after reset to jb-dev 2012-05-14 07:06:23 -07:00
Kenny Root
b1dd92ca9f am 760cec44: am 41836711: Merge "Sleep to wait for dm to create node" into jb-dev
* commit '760cec444b0f3c8a243d100cd5f5520af7531d17':
  Sleep to wait for dm to create node
2012-05-10 23:36:13 -07:00
Kenny Root
760cec444b am 41836711: Merge "Sleep to wait for dm to create node" into jb-dev
* commit '418367112c96f6ce45aa142d613a575046b7f65f':
  Sleep to wait for dm to create node
2012-05-10 23:32:27 -07:00
Kenny Root
418367112c Merge "Sleep to wait for dm to create node" into jb-dev 2012-05-10 23:30:35 -07:00
Kenny Root
4817b30fb3 Native library loading needs to read directory
When calling System.loadLibrary(), it needs to be able to read the
directory to load the file. We could probably fix that, but changing
permissions here is faster.

Bug: 6478606
Change-Id: I296b0805839da5a19950157f9a16755a4d258ca8
2012-05-10 18:09:40 -07:00
Kenny Root
59f31de0d4 Only set permissions on dirs or files
Traversal would mark directories with the correct permissions, but
they're visited again in post-order which is a different fts_info flag.
Then it would set that to regular file permissions.

Explicitly check to make sure we're looking at a file instead.

Bug: 6478606
Change-Id: I13cab3e69f451da6a994fa974d575ef366f82025
2012-05-10 18:09:40 -07:00
Kenny Root
cdc2a1c835 Sleep to wait for dm to create node
There appears to be a race condition from when the device mapper is
asked to create a device and when it actually appears. When we moved
ASECs to use Ext4, mount started winning the race more often.

Just insert a sleep-retry loop here to counter-act this race. We should
ideally look at the uevent replies, but it takes a bit more effort to
separate them out.

Change-Id: Ie8a5b36b1c9a26f2320a178d37312059d03a1281
2012-05-10 17:27:30 -07:00
Kenny Root
e80077f183 am 9688165c: am 1a673c86: Native library loading needs to read directory
* commit '9688165c81a1ab4c2ce08fc831030eebcf2ecc6f':
  Native library loading needs to read directory
2012-05-10 16:59:18 -07:00
Kenny Root
9688165c81 am 1a673c86: Native library loading needs to read directory
* commit '1a673c868c2d2d81fcaeab34b4a7c75d4a978584':
  Native library loading needs to read directory
2012-05-10 16:56:35 -07:00
Kenny Root
dc452c399d am 457197c5: am 348c8aba: Only set permissions on dirs or files
* commit '457197c50056216c1552e020998274a3bb249dd9':
  Only set permissions on dirs or files
2012-05-10 16:48:16 -07:00
Kenny Root
1a673c868c Native library loading needs to read directory
When calling System.loadLibrary(), it needs to be able to read the
directory to load the file. We could probably fix that, but changing
permissions here is faster.

Bug: 6478606
Change-Id: I296b0805839da5a19950157f9a16755a4d258ca8
2012-05-10 16:47:24 -07:00
Kenny Root
457197c500 am 348c8aba: Only set permissions on dirs or files
* commit '348c8aba0d2df2996e0fe57900ef518c6aeb4b29':
  Only set permissions on dirs or files
2012-05-10 16:46:37 -07:00
Kenny Root
348c8aba0d Only set permissions on dirs or files
Traversal would mark directories with the correct permissions, but
they're visited again in post-order which is a different fts_info flag.
Then it would set that to regular file permissions.

Explicitly check to make sure we're looking at a file instead.

Bug: 6478606
Change-Id: I13cab3e69f451da6a994fa974d575ef366f82025
2012-05-10 15:41:16 -07:00
Jean-Baptiste Queru
7bffd4486d am 0e110bb5: am 5cf6325c: Merge "Unshare ums when SD card is removed"
* commit '0e110bb5a2559b60003effa0e0bf460993e634a6':
  Unshare ums when SD card is removed
2012-05-08 15:13:22 -07:00
Jean-Baptiste Queru
0e110bb5a2 am 5cf6325c: Merge "Unshare ums when SD card is removed"
* commit '5cf6325c91792dbb1bb08fa1958c1fc8a5b9c45d':
  Unshare ums when SD card is removed
2012-05-08 13:39:20 -07:00