Commit Graph

10342 Commits

Author SHA1 Message Date
Paul Lawrence 317b4024a2 Revert "Make encryption configurable"
This reverts commit bda6272446.

The original fix seems to have led to boot failures in QA. Rather than
risk shipping, revert the change. Bug 18764230 reopened.

Requires change
    https://googleplex-android-review.git.corp.google.com/#/c/629764/

Bug: 19278390
Bug: 19199624

Change-Id: I8b6ab585666f2b0f585ffb2a5f61ac2e3462e06e
2015-02-06 17:32:09 +00:00
Paul Lawrence bda6272446 Make encryption configurable
Delay mounting encryptable but unencrypted volumes until we can
check the ro.vold.forceencrypt flag, then optionally encrypt.

Requires matching vold change from
    https://googleplex-android-review.git.corp.google.com/#/c/615309/

Bug: 18764230
Change-Id: If22008be8de6a4f3216b349f81ace49be1730314
2015-01-21 10:03:29 -08:00
Dmitry Shmidt 70f6dea9d0 Merge "android_filesystem: Remove setuid bits from tcpdump" into lmp-mr1-dev 2015-01-15 20:45:06 +00:00
Dmitry Shmidt 33e4f4d81a android_filesystem: Remove setuid bits from tcpdump
Bug: 18669116

Change-Id: I25486f2fe0e994f569b788fc9f03ef6d383f54d4
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2015-01-15 10:35:54 -08:00
Jean-Michel Trivi c6c3c7d445 Merge "Remove explict use of ASCII encoding" into lmp-mr1-dev 2015-01-15 17:16:22 +00:00
Jean-Michel Trivi 6c555ea305 Merge "Return path including executable instead of without" into lmp-mr1-dev 2015-01-15 17:16:01 +00:00
Jean-Michel Trivi 1a65d5b351 Merge "Fix building on modern versions of Xcode and OS X." into lmp-mr1-dev 2015-01-15 17:15:33 +00:00
Narayan Kamath 0f86444b39 Merge "sdcard : inode numbers must be fully representable as uint32_t." into lmp-mr1-dev 2015-01-15 09:43:10 +00:00
Christopher Ferris 5f2ff6a910 Add timed versions of stack dumping functions.
Under some unknown circumstances, debuggerd could become unresponsive.
If you try and take a bugreport during this time, it will hang forever.
Adding functions that have a timeout will allow dumpstate to stop if
dumping is taking too long.

Bug: 18766581
Change-Id: I85053b8dcfe6224e2b64b4d8f7f2ef448b3cda34
2015-01-14 15:24:33 -08:00
Al Sutton 77262e7db2 Remove explict use of ASCII encoding
Replace the use of CFStringGetCString with kCFStringEncodingASCII specified
with CFStringGetFileSystemRepresentation which will ensure the correct
character encoding is used to conver the CFString into a NULL terminated
char array suitable for use with POSIX APIs.

(cherry picked from commit 2a4b5f9e80)

Change-Id: Ie6e2027e59b49ca634c7308bcda7bb492d372f46
2015-01-14 09:41:33 -08:00
Al Sutton d5b4176788 Return path including executable instead of without
The previous implementation returned the path the executable was in instead
of returning the path including the executable (i.e. it returned ...bin
instead of ...bin/executable). This is not what the original methods did
and caused the process forking of adb to fail.

This patch corrects the implementation.

(cherry picked from commit 26b53bb75e)

Change-Id: Icad6870bbb0a88f611ca71d90fff30f7b576c367
2015-01-14 09:39:58 -08:00
Al Sutton 017c97a5b1 Fix building on modern versions of Xcode and OS X.
Recent versions of XCode fail to compile the adb and fastboot binaries due to
two functions being deprecated in 10.9 (GetCurrentProcess and
ProcessInformationCopyDictionary), and the use of -Werrror.

This patch replaces the method implementations which use calls to methods
deprecated in the 10.9 SDK with versions which only call non-deprecated methods.

(cherry picked from commit f456d47c50)

Change-Id: Ibd80dda73ccdd7c561b50b4065581e645d9855d6
2015-01-14 09:32:36 -08:00
Narayan Kamath faa0935ffb sdcard : inode numbers must be fully representable as uint32_t.
This works around a bug on on 64 bit kernels + sdcard daemons
where we were using memory addresses as inode numbers.

bug: 19012244

Change-Id: Ia63c5b33b4212bf03ff92fa2faff0bb76e48791c
2015-01-14 17:00:43 +00:00
Leo Wang f2bd3fdd19 Merge "Provide a way to select force encryption from vendor partition" into lmp-mr1-dev 2015-01-09 01:17:51 +00:00
Christopher R. Palmer ba95be58c5 init: Fix memory corruption when sanitizing platform paths
This commit fixes code that incorrectly increments s when it
hits the terminator character of the string being sanitized.
This means it will randomly start trashing memory beyond the
end of the string being sanitized until it happens to hit two
NULs (\0\0) which will break it out of the loop.

(cherry picked from commit 07f3fee164)

Bug: 18885357
Change-Id: If6b01fe2b9bd5985f08f1278deb03b311d0170dc
2015-01-07 12:18:00 -08:00
Paul Lawrence 703b87de5b Provide a way to select force encryption from vendor partition
This allows a vendor to force encryption on devices via a vendor
partition flag:

ro.vold.forceencryption 1

Bug: 18764230
Change-Id: Id0049ce64e34e4f6f96e593aadd70c277ac131c8
2015-01-07 11:44:51 -08:00
Eric Laurent 4fca59181c audio: add usage "virtual source" to audio attributes.
Bug: 16006090.
Change-Id: I2d22b52e97095b57a6508b82bd11e27f860bb2e7
2014-12-09 12:13:13 -08:00
Eric Laurent 47f52f247d audio: new stream types
Added stream types for internal use by audio policy
and audio flinger.

Bug: 18067208.
Change-Id: I90fd4df9ed5e0d8fb8c220d67e95fd0e32a06f14
2014-11-24 10:41:21 -08:00
Daisuke Okitsu a5a4e9e0ca sdcard: mount sdcard with the noexec option
Vold mounts the sdcard with noexec, but the fuse deamon
mounts with exec, so it is still possible to execute
binaries:

  /dev/fuse /storage/sdcard1 fuse rw,nosuid,nodev,relatime,
  user_id=1023,group_id=1023,default_permissions,allow_other 0 0

  /dev/block/vold/179:65 /mnt/media_rw/sdcard1 vfat rw,dirsync,
  nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,
  dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,
  shortname=mixed,utf8,errors=remount-ro 0 0

With this change both vold and fuse mounts with noexec.

(cherry picked from commit f777d6694eecf6e61d9859df2090199863050017)

Change-Id: I66cbfc3a3a89a26958f83577f5e7a5e27f99184e
2014-11-24 08:39:15 -08:00
Nick Kralevich 83d85563c5 logd: throttle SELinux denials to 20/sec
Impose a limit of 20 selinux denials per second. Denials beyond
that point don't add any value, and have the potential to cause
crashes or denial of service attacks.

Do some other misc cleanup while I'm here.

Bug: 18341932

(cherry picked from commit c234a1b879)

Change-Id: Ic5c96003db82e504baf301e87be5c8c539c73c2a
2014-11-19 14:06:53 -08:00
Nick Kralevich 86c9e5f7e2 Introduce "adb keygen"
Introduce the "adb keygen" command.

  Usage: adb keygen <filename>

This command creates an adb public/private key pair in a user
specified file. This can be used to create new adb keys, or rotate
existing keys.

Modify adb's key generation routines to use the HOSTNAME/LOGNAME
environment variables if available. This allows someone to override
the username/hostname embedded within the adb public key file if
desired. Fallback to the old mechanisms if those environment
variables aren't available.

Bug: 18342715
Change-Id: Ibccee6088d4609aa05ad6687d3a1d8a8689d3e8a

(cherry picked from commit af782b9f2a)

Change-Id: Ic76ffc9412171dddc879af0bbf6e20fbe1a8f057
2014-11-14 21:09:48 +00:00
Christopher Ferris bc137cf4a3 Merge "Convert futex to cond wait." into lmp-mr1-dev 2014-11-14 18:35:14 +00:00
Christopher Ferris db44538387 Convert futex to cond wait.
Switch to the better supported pthread_cond to handle the Wait/Wake
functions.

Also, increase the number of simultaneous threads in the thread tests.

Bug: 18381207
Change-Id: I63240208e8b7f641b3f35a3fc0bb1acf80dc796e
2014-11-13 20:37:22 -08:00
Daniel Rosenberg 323df093c8 Merge "property_service: Added vendor build properties to load_all_props" into lmp-mr1-dev 2014-11-14 01:08:17 +00:00
Sami Tolvanen 72f0d92c72 DO NOT MERGE: Do not mount devices with invalid verity metadata
The return value of read_verity_metadata is propagated to caller
even if the verity metadata is invalid, provided that it can be
read from the device. This results in devices with invalid verity
metadata signatures to be mounted normally, which is not desirable.
This change fixes the bug by changing the return value in case of
verification failure to FS_MGR_SETUP_VERITY_FAIL.

Bug: 15984840
Bug: 18120110
Change-Id: Ic29f37a23cb417c2538d60fb05de9dd310d50f4a
(cherry picked from commit c95e9da396)
2014-11-13 15:43:08 -08:00
Sami Tolvanen 9573a13bbc DO NOT MERGE: Switch fs_mgr to use SHA-256 instead of SHA-1
Verity metadata signatures will be switched to SHA-256. Switch
fs_mgr signature verification to use the correct algorithm.

Needs matching changes from
  https://googleplex-android-review.git.corp.google.com/#/c/579905/
  https://googleplex-android-review.git.corp.google.com/#/c/583213/
  https://googleplex-android-review.git.corp.google.com/#/c/583214/
  https://googleplex-android-review.git.corp.google.com/#/c/583233/

Bug: 15984840
Bug: 18120110
Bug: 17917515
Change-Id: I8f90519bffa105a0eb7abeaad3aea1ffceb851e2
(cherry picked from commit a3465e250c)
2014-11-13 15:42:50 -08:00
Daniel Rosenberg 4cf5297cc8 property_service: Added vendor build properties to load_all_props
Signed-off-by: Daniel Rosenberg <drosen@google.com>

(cherry picked from commit b95122205d)

Bug: 18281574
Change-Id: Id1f1c4e9e0d1bfbcae3995fb7966d18bf7d6e06d
2014-11-13 13:08:28 -08:00
JP Abgrall eb6036ac6b fs_mgr: let fsck.f2fs actually attempt a fix
The newer fsck.f2fs (1.4.0++) has better fix support, so invoke it.

Requires http://ag/583949 f2fs-tools update.

Bug: 17640053
Bug: 18292088
Change-Id: I42370d92b232e0bdbf28cccf7035a15dbffeb268
Signed-off-by: JP Abgrall <jpa@google.com>
2014-11-08 01:20:24 +00:00
Christopher Ferris 0eabf64ce0 Fix adb/fastboot windows compilations.
Many of the windows files where not including stdlib.h even though they
are using malloc/free calls.

Bug: 18283958
(cherry picked from commit ae7bf0959b)

Change-Id: Iebc09cc314fa8f0ba6c6cd45ba26135052f156dd
2014-11-06 18:32:39 -08:00
Nick Kralevich ac12f25004 Ensure /data/adb exists
automerge: 6672300

* commit '667230074b6e4e306a50d84a88a57bf4f1ec0291':
  Ensure /data/adb exists
2014-11-05 19:18:32 +00:00
Nick Kralevich 667230074b Ensure /data/adb exists
Ensure that /data/adb always exists. This directory is used
for writing adb debugging information when persist.adb.trace_mask
is set.

Bug: https://code.google.com/p/android/issues/detail?id=72895

(cherry picked from commit 89252ce31a)

Change-Id: I44e01bee50125f4e6e5fff6e74c53bb2022ce355
2014-11-05 10:17:39 -08:00
Michael Lentine b542285436 Merge "Fix native_handle_create to check if malloc fails" into lmp-mr1-dev 2014-11-03 22:13:48 +00:00
Michael Lentine 2b8852dece Fix native_handle_create to check if malloc fails
Bug: 18076253
Change-Id: I8dbe3af88f52f18f74a3ab857fea53ae7585e2f7
2014-11-03 13:48:15 -08:00
Christopher Ferris 56bf9d8e60 am 4b970895: am 5bd96311: DO NOT MERGE Restore libcorkscrew unwinding. automerge: 5a69c1d -s ours automerge: d7c8db1 -s ours
* commit '4b970895848ff114ac1011a293663eb6d43e8fd7':
2014-11-03 21:11:40 +00:00
Christopher Ferris a228c63288 am a18bcfa4: am 91ce3576: resolve merge conflicts of 290efd2 to klp-modular-dev-plus-aosp. automerge: e916313
* commit 'a18bcfa45e9d37650bca158577d02f5059453935':
2014-11-03 21:11:39 +00:00
Christopher Ferris 4b97089584 am 5bd96311: DO NOT MERGE Restore libcorkscrew unwinding. automerge: 5a69c1d -s ours automerge: d7c8db1 -s ours
* commit '5bd963117aa121d1fdfd5def4379cd363cf60ece':
2014-11-03 21:02:01 +00:00
Christopher Ferris a18bcfa45e am 91ce3576: resolve merge conflicts of 290efd2 to klp-modular-dev-plus-aosp. automerge: e916313
* commit '91ce3576337b0541912da7ec4b1efd802568dfce':
2014-11-03 21:02:00 +00:00
Christopher Ferris 5bd963117a DO NOT MERGE Restore libcorkscrew unwinding. automerge: 5a69c1d -s ours
automerge: d7c8db1  -s ours

* commit 'd7c8db124c1b4b13d7f55f7c338913ec6d0cd3d1':
2014-11-03 20:53:33 +00:00
Christopher Ferris 91ce357633 resolve merge conflicts of 290efd2 to klp-modular-dev-plus-aosp.
automerge: e916313

* commit 'e916313defbd09479dc29d38f3aa467f3b296f7c':
2014-11-03 20:53:28 +00:00
Christopher Ferris b87e8276a5 Merge "Fix debuggerd issues." into lmp-mr1-dev 2014-11-03 19:21:30 +00:00
Nick Kralevich 3e05314026 Fix mac build
"errno.h" doesn't get included on mac so we need to do it explicitely.

system/core/libnativebridge/tests/CodeCacheExists_test.cpp:30:15: error:
use of undeclared identifier 'ENOENT'
      ASSERT_EQ(ENOENT, errno);

(cherry picked from commit bcd1a834d4)

Change-Id: Ib894e3a3912a943c61787461f127e4b11aacf212
2014-11-03 18:15:37 +00:00
Christopher Ferris 84ddb34a3a Fix debuggerd issues.
- Fix a problem where a tid exits before the attach completes, and it
  causes debuggerd to self terminate.
- Fix a problem where sibling tid dumps do not properly wait for the tid
  to get signalled.

Bug: 17800180
Bug: 12567315
Change-Id: Ic3cd619cc2c72402f9a45f14abeed4721b50d64d
2014-11-02 23:36:15 -08:00
Sami Tolvanen 4cafe2ff89 Fix verity on system partitions larger than 2G
If the system partition is larger than 2G, the device fails to read
verity metadata, because fseek accepts only a 32-bit signed offset.
Switch from fseek to lseek64 to allow seeking using a 64-bit offset,
which solves the problem. At the same time, move away from stdio in
the function.

Bug: 17705619
Change-Id: I226320498dcb750ec6cde84411c7fe0774c9cab7
2014-10-29 11:06:47 -07:00
Calin Juravle 47a919c6fb Merge "Add code cache tests to libnativebridge." into lmp-mr1-dev 2014-10-28 17:16:33 +00:00
Calin Juravle 9c094da831 Merge "Handle code_cache dir creation in libnativebridge" into lmp-mr1-dev 2014-10-28 17:16:24 +00:00
Calin Juravle 9ef4fa4c2c Add code cache tests to libnativebridge.
Bug: 18027433

(cherry picked from commit 59a719c466)

Change-Id: I32bcf3ae0d4569d4d8b88168e6c36ddff70b8f7d
2014-10-28 16:06:43 +00:00
Paul Lawrence 3dbcc8b933 Merge "adb warns on remount when verity is enabled" into lmp-mr1-dev 2014-10-27 19:31:51 +00:00
Iliyan Malchev 5b244cd414 toolbox: add prlimit command
adb shell prlimit <pid> <cur> <max>

prlimit uses prlimit internally to allow you to set the limits on an arbitrary
process, if you have the privileges to.

Change-Id: Ie9a5dc510c7c695debd8f948361d4c51befa5604
Signed-off-by: Iliyan Malchev <malchev@google.com>
2014-10-27 12:25:41 -07:00
Paul Lawrence f643beced1 adb warns on remount when verity is enabled
Bug: 18119147
Change-Id: I75e5edf83fa01dbf2495e24df4597dce41f13654
2014-10-27 10:56:31 -07:00
Calin Juravle 1402fbb135 Handle code_cache dir creation in libnativebridge
Also:

- add kPreInitiliazed state to native bridge with check transition:
kOpened->kPreInitialized->kInitialized
- made sure we free the memory for the code_cache_path
- tidy up some error messages
- tidy up tests
- add a dummy native bridge to test with

Bug: 18027433
Bug: 18097480

(cherry picked from commit f9d9e2a2d9)

Change-Id: I9ce578949dbe522d5033465df7ca49fdd3aa3cbf
2014-10-27 15:37:32 +00:00