DO NOT MERGE. Fix crash in vold

b/11239345

Change-Id: I46a8d6b38e3c093e20e1e5c4f01efc13d1960ad4
merge in klp-release (no-op)
Merge "DO NOT MERGE. Fix crash in vold" into klp-dev
Extract UUID and label from inserted volumes.

Uses "blkid" tool to extract metadata from an inserted volume, and
reports it up to the framework.  This needs to happen in vold, since
only the FUSE-wrapped volume is visible to userspace.

Remove autorun sanitization, since FUSE takes care of this now.

Bug: 11175082
Change-Id: Ie69b38011ad6011bfb50e40d4f35a29e02150c19
Clean up ASEC unmounting on physical storage.

When physical devices are unsafely removed, unmountAllAsecsInDir()
fails to find any ASECs, and leaves them all mounted, preventing the
rest of volume from going down.

Now we examine all ASEC containers, and remove when on external
storage, or when the storage media is no longer found.

Bug: 11175082
Change-Id: Iffa38ea43f7e5ad78b598374ebeb60a8727d99fd
Merge "Extract UUID and label from inserted volumes." into klp-dev
Merge "Clean up ASEC unmounting on physical storage." into klp-dev
Use correct minor device number to format SD card

When formatting SD card partitions, instead of assuming partition
minor device numbers start from 1, use (minor device number of
the disk device + 1) as the starting point.

Bug: 11352632
Change-Id: I69d37f57aec6b62fe2a055470f7525ec09dc3859
Signed-off-by: Blair Prescott <blairp@broadcom.com>
Signed-off-by: Pierre <pierre@broadcom.com>
Handle missing UUID/LABEL from blkid.

Bug: 11627785
Change-Id: Iee757abbc3795234f41d513a6aed8ad33855cb7a
vold: cryptfs: Don't update KDF without validating pwd/key.

Prior to this, the Key derivation function would get
 blindly updated even if the user entered the wrong password.
Now, we only attempt to upgrade the KDF if the pwd/key have
been verified (i.e. after a successful mount).

Bug: 11460197
Change-Id: I0469228cc9b87c47754e8ca3c7146651da177da5
Validate asec names.

Make sure asec names only contain alphanumeric, underscores,
dots, or dashes. Don't allow double dots.

Bug: 12504045

(cherry picked from commit 669626096513cf741646cf18a9e8ba246d359596)

Change-Id: Ia9d04f373aa95878b2e81584c4167dc2d4aa0c78
am 0de7c611: Validate asec names.

* commit '0de7c61102611ccd5df1ca48cb733bf037512c6b':
  Validate asec names.
am f4770dcf: am 0de7c611: Validate asec names.

* commit 'f4770dcf6ffe2baba16cbb290aba16f735c51962':
  Validate asec names.
am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit 'fd2dcf905abd3dc76738fd864e3979bd6e5ce183':
  Validate asec names.
am 3e03bf8a: am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit '3e03bf8a7ab9dcee8897f275c75adfcdb20e0fdc':
  Validate asec names.
am 35ab6119: am 3e03bf8a: am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit '35ab611925aea29fc4088b5c3de7c8c77d956b8b':
  Validate asec names.
am 7f6932df: am 35ab6119: am 3e03bf8a: am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit '7f6932df89756f796c3a1f04f748db39a0564561':
  Validate asec names.
am 2f0a1d66: am 7f6932df: am 35ab6119: am 3e03bf8a: am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit '2f0a1d66585fb44f59d913d3417422486ef10225':
  Validate asec names.
am 7cf05b15: am 2f0a1d66: am 7f6932df: am 35ab6119: am 3e03bf8a: am fd2dcf90: am f4770dcf: am 0de7c611: Validate asec names.

* commit '7cf05b15b76b91aa07182e86a730d7552b23130c':
  Validate asec names.
vold: use blkid to detect filesystem type

In preparation for handling ext4 partitions via vold and fuse.

Conflicts:
	Volume.cpp

Change-Id: Ibaccded63a7a293ad53f16afb80448ddd493554c