Commit Graph

494 Commits

Author SHA1 Message Date
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
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
9d68ed0ecd Merge "Add timeout for dump_file." 2015-02-26 18:35:02 +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
Elliott Hughes
2ead70ce67 Add missing <sys/file.h> include for flock.
Change-Id: I5c9bb4aa74d8a36d44e086bbcb5d60876727ce4c
2015-02-16 10:44:22 -08: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
1a9a338615 Add better timeout mechanism for running commands.
Change-Id: I60fc9e7d59c3e0e4b8b2f69f79c6903240bfd131
2015-02-03 14:53:44 -08:00
Elliott Hughes
824e30e5ed Add missing includes.
Change-Id: I1dad32ab459c25063a70cf52100a29d00fea3a90
2015-01-29 22:32:32 -08:00
Elliott Hughes
a59828a5d2 Switch dumpstate to "ip link list".
Change-Id: Ia1db51c866890f09fbd4316764dea5982554598f
2015-01-28 08:45:40 -08: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
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
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
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
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
bd872e4956 Installd: Remove dalvik paths
Dalvik is dead. Dexopt is dead.

Change-Id: I9ff6b638a3e2c52ae7aec33d7b08a7bee012854f
2014-12-15 11:41:11 -08:00
Bernhard Rosenkränzer
7fb390d10c Mark 2 unused paramters as such
Mark 2 unused paramters to prevent clang from erroring out

Change-Id: Ifc9b4a5b820bd6318e9259e737e708d25fdb174b
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-23 22:28:26 +01:00
Mike Lockwood
754f16fcf4 Merge "Fix installd command line parser" 2014-11-21 05:02:51 +00:00
Elliott Hughes
ba4a43c6c7 Merge "Kill INCLUDE_SYS_MOUNT_FOR_STATFS." 2014-11-20 20:58:53 +00:00
Elliott Hughes
9a4e7f492e Kill INCLUDE_SYS_MOUNT_FOR_STATFS.
Change-Id: I692179cae9d476dd5a0b5fa92813b61934dd7c87
2014-11-20 12:54:21 -08:00
Narayan Kamath
091ea779d4 Add an installd command to mark the end of boot.
bug: 18280671

(cherry picked from commit b1a6c2f95a)

Change-Id: I97542875ffff1b68ab324e9b04fb9266c82633cc
2014-11-19 14:43:05 +00:00
Ian Rogers
16a95b267a Add support for dalvik.vm.isa.<instruction set>.variant
Bug: 18056890
Change-Id: Ia266fa9f2a79158ced82016106aa1cd2529259c9
2014-11-08 16:58:13 -08:00
Serguei Katkov
62bb385728 Fix installd command line parser
Parser does not take into account that the last argument can be empty.
In this case it will skip end of line marker and continue parsing.

Change-Id: I2d029a69ed22cef497893e592ff3275ced97f85f
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
2014-11-05 13:39:43 +06:00
Robin Lee
0adea3b792 am 60fd3fee: Migrate CA certificates to all users
* commit '60fd3feecab4336d964ca8e31c7c3220e1afb558':
  Migrate CA certificates to all users
2014-10-15 19:26:36 +00:00
Robin Lee
60fd3feeca Migrate CA certificates to all users
Copies the /data/misc/keychain/cacert-* directories to all users on
the device, whereas previously they were simply copied to user 0.

This is a shallow copy so anything that wasn't supposed to be there
will disappear.

Bug: 17811821
Change-Id: Iae5909ab8d5efdb83c9c8fdf0e10ab7060d022cc
2014-10-15 19:04:33 +00:00
Christopher Ferris
f625a249b9 am a91968fd: Merge "Accept socket connection before tracing." into lmp-dev
* commit 'a91968fd099378d1673c7443be16adcb97ee40af':
  Accept socket connection before tracing.
2014-10-02 01:16:58 +00:00
Christopher Ferris
ed9354fc84 Accept socket connection before tracing.
Sometimes dumping threads takes a long time and bugreport times
out. This change will cause us to accept the bugreport socket connection
before dumping threads and should avoid the failed to connect to dumpstate
service problems we've seen.

Bug: 17758374
Change-Id: I80afa0353cf1c340873f481a8d1d7faffff54120
2014-10-01 17:35:01 -07:00
Narayan Kamath
28da32889b am cde4b13a: Merge "Allow more than one dex2oat extra option"
* commit 'cde4b13a12a0bc8a7bd031f5d5c1b2b2bdd13335':
  Allow more than one dex2oat extra option
2014-10-01 11:15:12 +00:00
Lorenzo Colitti
7a99e281dd am d9485403: Merge "Include the VPN server IP address in the VPN state file." into lmp-dev
* commit 'd94854030c76fc4ee4126ca1707a76fbd1f29126':
  Include the VPN server IP address in the VPN state file.
2014-09-23 02:53:42 +00:00
Lorenzo Colitti
a9e8374c72 Include the VPN server IP address in the VPN state file.
This will be used by LegacyVpnRunner to create a throw route
pointing at it.

Bug: 17462989
Change-Id: I3ebf0cec726dd12b2c57ba5d66775f8c02b25b70
2014-09-19 13:27:56 +09:00
Yevgeny Rouban
b0d8d00b29 Allow more than one dex2oat extra option
All extra options are provided as one argument to dex2oat.
The patch splits all options to individual ones.

Change-Id: Ied65bb9cf38b114611e88a8d5d86305021700d0b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
2014-09-17 10:58:35 +00:00
Dan Albert
4355c0c986 am e1e3d278: Merge "Clean cruft out of makefiles."
* commit 'e1e3d278549eb6389eb0b5fa3f13a4ac079a55a2':
  Clean cruft out of makefiles.
2014-09-12 16:22:03 +00:00
Dan Albert
9e8b528926 resolved conflicts for merge of 07c9557f to lmp-dev-plus-aosp
Change-Id: Ic212ab2ee90b1cc7db7203210b047c870bb5c476
2014-09-12 09:00:50 -07:00
Jeff Brown
6f3e466b14 am 70b9e6c8: Merge "Make dumpstate vibrate immediately." into lmp-dev
* commit '70b9e6c8f3221bbbeefc85c70746541a5b318afc':
  Make dumpstate vibrate immediately.
2014-09-12 05:36:59 +00:00
Dan Albert
b79dfe6721 Clean cruft out of makefiles.
Cleans up manual uses of stlport and bionic (and removes uses of private
bionic headers).

Change-Id: I157309d702e59152adfa3450939082248ae4c043
2014-09-11 18:49:47 -07:00
Chih-Hung Hsieh
99d9fb15b4 Fix warnings on unused variables and parameters.
BUG: 17474723
Change-Id: If40f5e765090cfb970e4129b78b1e74cf8bad217
2014-09-11 16:57:59 -07:00
Jeff Brown
1dc94e3156 Make dumpstate vibrate immediately.
Previously, the vibration was not performed until after stacks
were gathered which takes a long time.  Moved the vibration
to happen earlier so we provide better user feedback for the
three-button salute when collecting a bug report.

Deleted some dead code for playing begin/end sounds.

Improved the timing measurement code to help track down why
bug reports are so slow.  (They take over a minute now which
can cause us to lose valuable diagnostic information.)

Bug: 17474152
Change-Id: Iac73f7993d7dc85196aad96f459b22fd4a710f94
2014-09-11 14:19:04 -07:00
Christopher Ferris
500c086a7e am 5ef471c5: Merge "Use time() instead of clock() for timeouts." into lmp-dev
* commit '5ef471c5f986a52c681a29856c38f72127cdf8ac':
  Use time() instead of clock() for timeouts.
2014-09-09 21:56:14 +00:00
Christopher Ferris
e2c86c71c2 Use time() instead of clock() for timeouts.
The clock() function returns the processor time used by the process. This
is not a good timeout mechanism since the code is suspended most of the
time waiting for the forked process to finish. Replace with the time()
function.

Bug: 17154069

(cherry picked from commit 89d4949f86)

Change-Id: I42f0f24ee53ef99955fd482a1089e39d491f3bd5
2014-09-09 13:36:52 -07:00
Christopher Ferris
5ef471c5f9 Merge "Use time() instead of clock() for timeouts." into lmp-dev 2014-09-09 20:29:15 +00:00
Christopher Ferris
89d4949f86 Use time() instead of clock() for timeouts.
The clock() function returns the processor time used by the process. This
is not a good timeout mechanism since the code is suspended most of the
time waiting for the forked process to finish. Replace with the time()
function.

Bug: 17154069
Change-Id: Ib383329f9db269445d71a100553b08e71fddda3f
2014-09-09 13:10:49 -07:00
Jeff Sharkey
0ffb91383f am 464e539c: Merge "Add new system APK locations." into lmp-dev
* commit '464e539cd3e931aaca99a67d0addc6d68bd96b3d':
  Add new system APK locations.
2014-09-09 16:44:52 +00:00
Jeff Sharkey
770180a4dd Add new system APK locations.
Add /system/priv-app and /oem/app paths to system paths.  Also allow
rmdex on system apps, and quietly ignore when it was already removed.

Also relax logging when clearing code cache, since it's optional.

Bug: 17205122
Change-Id: I4fc4d0f63a3596937c4defbd64e1f8a1c563f02d
2014-09-09 08:22:58 -07:00
Nick Kralevich
2a8bb978d5 am 51eec3b9: Merge "Fix relabeling of secondary user package directories."
* commit '51eec3b98788039afc5fd7ffe76612c7f8d9b39c':
  Fix relabeling of secondary user package directories.
2014-09-08 20:55:32 +00:00
Stephen Smalley
8ac2a648b6 Fix relabeling of secondary user package directories.
When relabeling secondary user package directories, we need to use
the uid of the directory rather than the primary package UID;
otherwise, levelFrom=user will not work correctly.

Change-Id: I0d76ec6ec6fe56a566023ca5e1398efdf28fc81e
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-09-08 15:51:55 -04:00
Brian Carlstrom
ad2a4083fe am 8c1642ad: Merge "Remove obsolete prunedexcache"
* commit '8c1642ad4ea8fbeb7d03f30e5f50e03c28d40065':
  Remove obsolete prunedexcache
2014-08-29 11:39:54 +00:00
Alex Light
8b17ac6bd6 Remove obsolete prunedexcache
Bug: 16875245

(cherry picked from commit 5f727f8694)

Change-Id: I06e14c405aa4af295795982c1d236be3cb00e893
2014-08-28 16:54:54 -07:00
Alex Light
5f727f8694 Remove obsolete prunedexcache
Bug: 16875245

Change-Id: I06e14c405aa4af295795982c1d236be3cb00e893
2014-08-28 23:30:52 +00:00