Commit Graph

550 Commits

Author SHA1 Message Date
Fyodor Kupolov
8eed7e6a9b Use AID_SYSTEM as uid when creating oat dir
Previously AID_INSTALL was used, which was causing permission denied errors
when PackageManager was trying to recursively rename staging directory

Bug: 19550105
Bug: 20087446
Change-Id: I3a9e3056c1fbc1ce0077a3ce52cf77ea6b5085ee
2015-04-07 11:22:00 -07:00
Elliott Hughes
a60ff367a4 Merge "Remove useless 'svcmgr_handle' (which had wrong type)." 2015-04-06 23:13:32 +00:00
Elliott Hughes
0b41ad5d6e Remove useless 'svcmgr_handle' (which had wrong type).
Also use the 'ptr' union member rather than 'handle'.

Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Change-Id: I68e5336cd3af3bc61dbddd2b33d7e1512c0c329c
2015-04-03 22:46:56 -07:00
Serban Constantinescu
018cf41a15 ServiceManager: Print kernel/userspace binder version
This patch adds extra logging for the binder version in case the userspace
and kernel versions differ.

Change-Id: I9859b29099726cfcfe5ca23d88ed2e101a06af1a
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2015-04-03 17:02:48 -07:00
Fyodor Kupolov
26ff93c1a7 Fix errors caused by unused variables
Change-Id: Ie52ae0e9a642504ee7b78c6bc54b61549cfb0342
2015-04-02 17:03:11 -07:00
Fyodor Kupolov
4eb88f8839 Merge "Support for storing OAT files in app directory" 2015-04-02 23:11:01 +00:00
Mark Salyzyn
13df5f5f8f servicemanager: service_manager missing include for string.h
service_manager.c gets string.h inherited from
private/android_filesystem_config.h it should
not rely on this in the future. The intent is
to move fs_config function into libcutils and
thus deprecate any need for string.h in this
include file.

Bug: 19908228
Change-Id: Icc95ee02bf02c596463868b1330d209d1bd5c58a
2015-04-01 11:11:11 -07:00
Andreas Gampe
8d7af8b241 Installd: Support dex2oat threads system property
Check dalvik.vm.dex2oat-threads in installd and pass to dex2oat.

Bug: 19992386
Change-Id: I5e7806cf560607d31a1d6901dffb14bee538c9cc
2015-03-30 18:45:03 -07:00
Fyodor Kupolov
88ce4ff7a9 Support for storing OAT files in app directory
Changes to installd:
- dexopt now allows oat_dir param for custom output directory
- Added helper method calculate_oat_file_path for calculating oat file
  output location based on oat_dir and apk_path.

Bug: 19550105
Change-Id: I6b079207310583adeb6dad918a58034a059e34c4
2015-03-30 13:48:22 -07:00
John Reck
469a194051 Add trace_event_clock_sync to atrace
Change-Id: I8adce15210d82df09ff3a39ddd8df617aeb16a42
2015-03-26 16:57:30 -07:00
Richard Uhler
009b877132 Store odex files in oat/<isa>/ directory.
Previously odex files were stored alongside the dex location as:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/<isa>/base.odex

This changes where odex files are stored, adding an "oat" directory:
  dex location: /foo/bar/base.apk
  odex location: /foo/bar/oat/<isa>/base.odex

See also the corresponding changes in platform/art and platform/build.

Bug: 19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265
2015-03-25 11:11:05 -07:00
Mathieu Chartier
6dad171304 Merge "Use verify-at-runtime if debug.usejit is true" 2015-03-21 00:14:27 +00:00
Mathieu Chartier
d4a7b459f4 Use verify-at-runtime if debug.usejit is true
Bug: 19735273
Change-Id: Ib65b50dbde00184544a1341f351a0fe0ef504d32
2015-03-20 16:05:18 -07:00
Nick Kralevich
cd67e9f059 dumpstate: add O_CLOEXEC
Add O_CLOEXEC to various file descriptor calls, to avoid
leaking file descriptors to dumpstate's child processes.

Bug: 18342188
Change-Id: I74c47a98dfddc29c618067ad53d879b98ed1d87a
2015-03-19 11:32:02 -07:00
Andreas Gampe
1fc747d20c am 5a25a63d: Merge "Installd: Pass debuggable flag"
* commit '5a25a63de2693177b15817fb19b684ca7bfec582':
  Installd: Pass debuggable flag
2015-03-10 02:10:06 +00:00
Andreas Gampe
598c25e23f Installd: Pass debuggable flag
Pass the debuggable flag from the package manager to dex2oat.

Change-Id: Id17ec72babe2ee88713a0d274eff86508de30666
2015-03-09 15:13:24 -07:00
Nick Kralevich
fcf1689c1a am 5fec7915: Merge "service_manager: reorder permission checks for find"
* commit '5fec79156d749322dcc0376da1d6cf4d9ee9ccf4':
  service_manager: reorder permission checks for find
2015-03-05 21:48:25 +00:00
Nick Kralevich
b27bbd18bb service_manager: reorder permission checks for find
Reorder the find permission checks. This avoids generating misleading
SELinux denials when a service doesn't exist, or when a service is
prohibited to isolated apps.

The original reason for structuring the code this way is explained
in https://android-review.googlesource.com/#/c/100530/4/cmds/servicemanager/service_manager.c@172
The concern at the time was to avoid leaking a situation where
a caller could probe for the existance of a service. This turns out
to be unnecessary. The same return value is used for both a
permission denied and a service not found. The only side effect
is the generation of an SELinux audit log, which likely won't be
accessible to the calling application.

Change-Id: I9760e1821ed16102fa5f9bec07f8c34944565be9
2015-03-05 10:58:40 -08:00
Christopher Ferris
69a141e07f am 9d68ed0e: Merge "Add timeout for dump_file."
* commit '9d68ed0ecd3a101c13a163cfe730b13b1564b442':
  Add timeout for dump_file.
2015-02-26 18:40:42 +00:00
Christopher Ferris
9d68ed0ecd Merge "Add timeout for dump_file." 2015-02-26 18:35:02 +00:00
Mark Salyzyn
2f655daeea am bb67beca: Merge "dumpstate: add pstore read"
* commit 'bb67beca35e7d570ede193a316a92022fbc2f810':
  dumpstate: add pstore read
2015-02-26 17:29:07 +00:00
Mark Salyzyn
2262c16372 dumpstate: add pstore read
Call logcat -L to pull any LAST Android logs. If the kernel is not
configured for PSTORE and PSTORE_PMSG, the hopes are the empty
content will pressure vendors to slice up and configure support.

Change-Id: I5fddfa1e0f59f24fccc30b257ba68af8a8cf8640
2015-02-26 07:41:41 -08:00
Christopher Ferris
54bcc5ffd5 Add timeout for dump_file.
It turns out dump_file is used on a number of /proc and system files.
In one case, the read of a file stalled and caused a bugreport to
hang forever. It's still possible if there is a kernel bug that this
could stall forever, but less likely.

Also, change the return type of nanotime to uint64_t.

Testing:
- Created a named fifo and verified that dump_file fails with a timeout.
- Created a large /data/anr/traces.txt to verify that large files still
  dump properly and that the additional NONBLOCK parameter doesn't cause
  a problem.
- Created a dummy /data/tombstones/tombstone_00 to verify that the
  dump of these files still works.
- Compared a dump using the old dumpstate to the new dumpstate to verify
  nothing obviously different.

Bug: 19117030
Change-Id: I0d3dd27583c853cdaccd2fd278748cb5f9ccd4fb
2015-02-25 19:59:29 -08:00
Bill Yi
28d41f5640 Merge commit '26cc3d0b67ff4daf31eaeed0ecd87b391978aadb' into HEAD 2015-02-19 14:31:45 -08:00
Elliott Hughes
2ead70ce67 Add missing <sys/file.h> include for flock.
Change-Id: I5c9bb4aa74d8a36d44e086bbcb5d60876727ce4c
2015-02-16 10:44:22 -08:00
Christopher Ferris
34e3246646 am 8511b3ae: Merge "Remove -z option."
* commit '8511b3ae5eb42810f97f7c3e993d7f80d3393b83':
  Remove -z option.
2015-02-10 16:53:52 +00:00
Christopher Ferris
ff4a4dc7e6 Remove -z option.
This option doesn't work with the current selinux protections and
doesn't serve much of a purpose. You can get the same results running
this:

dumpstate | gzip > /data/local/tmp/dump.txt.gz

Bug: 19271141
Change-Id: Icc76200df33dc708e30c556ec8a0f393f995fe7c
2015-02-09 16:45:35 -08:00
Christopher Ferris
16c62c468a am 50ad67e4: Merge "Add better timeout mechanism for running commands."
* commit '50ad67e4ce6b07b5f5f4649ace81ed9a8b2c2eac':
  Add better timeout mechanism for running commands.
2015-02-04 02:08:44 +00:00
Christopher Ferris
1a9a338615 Add better timeout mechanism for running commands.
Change-Id: I60fc9e7d59c3e0e4b8b2f69f79c6903240bfd131
2015-02-03 14:53:44 -08:00
Elliott Hughes
42b5e6d49c am 51bfedd8: Merge "Add missing includes."
* commit '51bfedd821c79ae34ee1caffd9ae958faa71ecec':
  Add missing includes.
2015-01-30 21:16:38 +00:00
Elliott Hughes
824e30e5ed Add missing includes.
Change-Id: I1dad32ab459c25063a70cf52100a29d00fea3a90
2015-01-29 22:32:32 -08:00
Elliott Hughes
e55073a96c am 0e17a265: Merge "Switch dumpstate to "ip link list"."
* commit '0e17a265f5e8bf233a3e3b74fc03ada3dc467bed':
  Switch dumpstate to "ip link list".
2015-01-28 17:34:16 +00:00
Elliott Hughes
a59828a5d2 Switch dumpstate to "ip link list".
Change-Id: Ia1db51c866890f09fbd4316764dea5982554598f
2015-01-28 08:45:40 -08:00
Elliott Hughes
2e5a1cf27e am 346329b7: Merge "Move atrace from the obsolete bzero to memset."
* commit '346329b7a70b594895be0aec5dc00f9f4108b533':
  Move atrace from the obsolete bzero to memset.
2015-01-25 20:43:27 +00:00
Elliott Hughes
346329b7a7 Merge "Move atrace from the obsolete bzero to memset." 2015-01-25 19:17:14 +00:00
Elliott Hughes
3da5d235da Move atrace from the obsolete bzero to memset.
(This file wasn't including <strings.h> for bzero or <string.h> for memset.)

Change-Id: Icef0e0dbfd36ebd21058cfd8c747e0a17aee8308
2015-01-25 08:35:20 -08:00
Christopher Ferris
3dea840d21 am c0e10c6f: Merge "Refactor of the bugreport code."
* commit 'c0e10c6f03eaa126aeb745e0b209ad0b219ade6e':
  Refactor of the bugreport code.
2015-01-23 23:12:16 +00:00
Christopher Ferris
9b73bf07d7 Refactor of the bugreport code.
Implemented these changes:

- Make this code C++.
- Avoid hangs by adding a timeout.
- Add the necessary TEMP_FAILURE_RETRY calls.
- Restructure the code a bit.

Bug: 18800936

Change-Id: Iba9f86a4c7beee4f0f36e51234855f4c0834db47
2015-01-23 13:40:56 -08:00
Christopher Ferris
31ef85529d Use the timeout stack dump functions.
Use the native stack dumping functions that allows time outs. If
debuggerd locks up, before a bugreport would hang forever. Now
it will timeout properly and still get all of the other information.

Bug: 18766581

(cherry picked from commit 457731f69e)

Change-Id: I39e8e9c60209e3ef9efac795fedb8e1edce2bd3e
2015-01-15 15:35:40 -08:00
Christopher Ferris
8d129cbf5a am 457731f6: Use the timeout stack dump functions.
* commit '457731f69e3106b5aae8fc04f9565af1d875876c':
  Use the timeout stack dump functions.
2015-01-15 01:52:14 +00:00
Christopher Ferris
457731f69e Use the timeout stack dump functions.
Use the native stack dumping functions that allows time outs. If
debuggerd locks up, before a bugreport would hang forever. Now
it will timeout properly and still get all of the other information.

Bug: 18766581
Change-Id: I85053b8dcfe6224e2b64b4d8f7f2ef448b3cda34
2015-01-14 16:58:55 -08:00
Christopher Ferris
d195f87b2d Fix message when a command times out.
The previous version printed out the nanoseconds elapsed, not seconds.

Bug: 18766581

(cherry picked from commit 67c5a8af9e)

Change-Id: Icbaaee83a92767694fd98e3c790f36f4d24681b0
2015-01-14 16:10:11 -08:00
Christopher Ferris
d8dc9405c3 am 4f9bfffe: Merge "Fix message when a command times out."
* commit '4f9bfffe23d40fdaabe91ea7c7691e52800edb79':
  Fix message when a command times out.
2015-01-12 18:48:23 +00:00
Christopher Ferris
67c5a8af9e Fix message when a command times out.
The previous version printed out the nanoseconds elapsed, not seconds.

Change-Id: I10f6d7bf7b7a4647658313ed83781fda6fd744a5
2015-01-09 16:42:56 -08:00
Andreas Gampe
ee7ed02077 am 96e4409e: Merge "Installd: Disallow relocation for decryption"
* commit '96e4409e8c38b1d79285eca9886d44ff850b5748':
  Installd: Disallow relocation for decryption
2015-01-07 22:12:26 +00:00
neo.chae
14e084d39a Installd: Disallow relocation for decryption
When decrypting a device, a tmpfs is temporarily mounted as /data,
the size of which is usually small. When the zygote, system server
and necessary apps are brought up, they will be compiled into the
tmpfs.

If the system image contains prebuilts, they will be relocated instead
of compiled. This is unnecessary. In this special situation it is
acceptable to run out of the prebuilt oat files without relocation,
which can save space in the tmpfs.

This patch ensures that apps are not being relocated.

Change-Id: I42bfb7e3039574b7e4f2772e0d395f093d59ed1b
Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
2015-01-07 22:03:07 +00:00
Andreas Gampe
4fb9f9377e am d3255076: Merge "Installd: Swap file for dex2oat"
* commit 'd325507698d8379e431a8c8fefcfafe59956bd88':
  Installd: Swap file for dex2oat
2014-12-22 18:39:37 +00:00
Andreas Gampe
e1c01353c4 Installd: Swap file for dex2oat
Add swap file support for dex2oat to installd. Only use in low-memory
mode.

Bug: 18596910

(cherry picked from commit f68ce4de7f)

Change-Id: I131448f3907115054a592af73db86d2b9257ea33
2014-12-18 17:23:34 -08:00
Andreas Gampe
f68ce4de7f Installd: Swap file for dex2oat
Add swap file support for dex2oat to installd. Only use in low-memory
mode.

Bug: 18596910
Change-Id: I131448f3907115054a592af73db86d2b9257ea33
2014-12-18 16:28:39 -08:00
Andreas Gampe
37321282ec am 1be4021c: Merge "Installd: Remove dalvik paths"
* commit '1be4021c2a867c7e067a3c5b937a054f0eb7817f':
  Installd: Remove dalvik paths
2014-12-16 20:34:31 +00:00