Commit graph

11501 commits

Author SHA1 Message Date
Christopher Ferris
55dfa96b1f Merge "Remove the pt_regs_mips_t structure." 2015-01-27 00:44:00 +00:00
Christopher Ferris
b817094081 Remove the pt_regs_mips_t structure.
The kernel finally has the pt_regs structure properly defined for mips,
so we don't need to define it ourselves.

Change-Id: Ifdf75ed827cd2390962e9b3a182bdbbf02fe0732
2015-01-26 13:52:35 -08:00
Christopher Ferris
fb538fb13d Merge "Fix the v2 descriptor handling." 2015-01-26 21:28:06 +00:00
Christopher Ferris
c49f51c451 Fix the v2 descriptor handling.
There was a misinterpretation of how the v2 header works. The flags
in the header indicate what is in the rest of the structure.

Bug: 19127803

Change-Id: I5fa0dae6da51522c9afc4c94838eb6f462208683
2015-01-26 12:50:35 -08:00
Mike Lockwood
5abd3d0b79 Merge "adbd: tcpip command uses port number from uninitialized memory" 2015-01-26 19:04:43 +00:00
Spencer Low
943ef23b3d adbd: tcpip command uses port number from uninitialized memory
If you run `adb tcpip`, adbd tries to process a string of 'tcpip:' using
this code:

    } else if(!strncmp(name, "tcpip:", 6)) {
        int port;
        if (sscanf(name + 6, "%d", &port) == 0) {
            port = 0;
        }
        ret = create_service_thread(restart_tcp_service, (void *) (uintptr_t) port);

If a zero-length string is passed to sscanf(), it returns EOF (-1) which
causes the if statement to skip the block, leaving the port variable
uninitialized.

I found this by running `adb tcpip` and sometimes getting 'invalid port'
and sometimes a device would start listening on a random port number.

The fix is to check the sscanf() return value for the success case (the
number of items successfully parsed), as is already done in other parts
of the adb code. I also fixed-up another instance of the same
code-pattern in services.c.

Change-Id: I8c9c33485ad076828da0ac74f048fdad561669d3
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-01-25 17:38:36 -08:00
Elliott Hughes
e21d7ae89e Merge "Remove obsolete BUILD_TINY_ANDROID." 2015-01-25 16:08:06 +00:00
Elliott Hughes
110dd4b24b Remove obsolete BUILD_TINY_ANDROID.
Change-Id: I876bce99efb40cd791256535d8d6c0d046b7aeae
2015-01-24 22:39:10 -08:00
Elliott Hughes
ae79cb5a81 Merge "Add missing <string.h> includes." 2015-01-25 05:06:52 +00:00
Elliott Hughes
2b7d75d2e6 Add missing <string.h> includes.
Change-Id: I3d1ad54418f69f947e2d829d63b53d44581bfd86
2015-01-24 20:03:09 -08:00
Elliott Hughes
d098493293 Merge "Remove obsolete BUILD_TINY_ANDROID check from libsysutils makefile" 2015-01-24 18:06:26 +00:00
Trevor Drake
d1ad84cfa4 Remove obsolete BUILD_TINY_ANDROID check from libsysutils makefile
Change-Id: I3cd1430b1555a5cd27b31ed3eebc1663f43e7b3b
2015-01-24 07:02:50 +00:00
Elliott Hughes
492dd1e5c1 Merge "Remove obsolete BUILD_TINY_ANDROID check from healthd makefile" 2015-01-24 05:22:14 +00:00
Trevor Drake
27d53d3d86 Remove obsolete BUILD_TINY_ANDROID check from healthd makefile
Change-Id: I7e23236e7725891d07368dd8ea8d667014d7dc78
2015-01-24 04:26:16 +00:00
Chih-Hung Hsieh
cb4ae20d72 Merge "Enable clang for init, after fix of global .mk files." 2015-01-24 01:14:23 +00:00
Mark Salyzyn
3e57869ccc Merge "logd: fix persistent blocking reader performance" 2015-01-24 00:17:03 +00:00
Dragoslav Mitrinovic
8e8e8db549 logd: fix persistent blocking reader performance
logd suffers major performance degradation when persistent (blocking)
client reader connects to it (e.g. logcat). The root cause of the
degradation is that each time when reader is notified of the arrival
of new log entries, the reader commences its search for the new entries
from the beginning of the linked list (oldest entries first).

This commit alters the search to start from the end of the linked list
and work backwards. This dramatically decreases logd CPU consumption
when blocking reader is connected, and increases the maximum logging
throughput (before the logs start getting lost) by a factor ~ 20.

Change-Id: Ib60955ce05544e52a8b24acc3dcf5863e1e39c5c
2015-01-24 00:10:34 +00:00
Mark Salyzyn
91581f1990 Merge "liblog: add pstore write" 2015-01-23 23:33:43 +00:00
Mark Salyzyn
d91ab5815d liblog: add pstore write
Used to push the Android log messages into pstore
(when available, and no propagation of error).

Change-Id: I9def8cf796d35d347f502d9745d5f42ec1200253
2015-01-23 23:33:31 +00:00
Mark Salyzyn
69bdba21f6 Merge "liblog: use private/android_logger.h" 2015-01-23 23:33:08 +00:00
Mark Salyzyn
7a80940121 liblog: use private/android_logger.h
- fix a latent issue with retransmitting on failure.

Change-Id: I2d0e5c3531c279f2dc1fbd74807210ff8d804de1
2015-01-23 23:32:50 +00:00
Mark Salyzyn
4730328da7 Merge "logd: create private/android_logger.h" 2015-01-23 23:32:23 +00:00
Mark Salyzyn
b5f6e45d6b logd: create private/android_logger.h
- create a structure to depict the private header
  expected at logd end of socket.
- utilize this new structure instead of unscalable
  byte stream technique used to unpack in logd.

Change-Id: I2d0e5c3531c279f2dc1fbd74807210ff8d804de0
2015-01-23 23:32:11 +00:00
Chih-Hung Hsieh
2c7f05d88c Merge "Remove unused -ldl to link true statically." 2015-01-23 23:20:58 +00:00
Chih-Hung Hsieh
87997bf8e7 Remove unused -ldl to link true statically.
LOCAL_FORCE_STATIC_EXECUTABLE=true failed with -ldl.

Change-Id: Id42031ba8e86279b5229ed11cd82e86a5f833ff9
2015-01-23 14:39:54 -08:00
Elliott Hughes
4e0bdd1034 Merge "fs_mgr: Support filesystem labels in fstab" 2015-01-23 18:11:26 +00:00
Christoffer Dall
8298234847 fs_mgr: Support filesystem labels in fstab
When mounting fstab entries it is practical to be able to specify
for example LABEL=data instead of a specific block device.

This is particularly important for the new Android Emulator code base,
which uses virtio block devices for the various partitions
(system,data,cache), because there is no defined ordering between the
way the filesystems are specified to the emulator and how they are
enumerated by the android kernel as /dev/vdX.

Change-Id: I7aef95f12e8f7b02ac2e33804ba7897fdcb9ad7f
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-01-23 17:47:39 +00:00
David 'Digit' Turner
1bc38a4cdc Merge "adb: Fix 'adb forward --no-rebind'." 2015-01-23 16:45:46 +00:00
David 'Digit' Turner
f0e0c2e458 adb: Fix 'adb forward --no-rebind'.
Due to a typo, the --no-rebind option never worked (it always failed).
The root of the problem was that the client was sending on the wire
a command like:

  host:forward:norebind::tcp:<port>;tcp:<port>
                       ^^
Instead of:

  host:forward:norebind:tcp:<port>;tcp:<port>
                       ^

Note the erroneous double-column.

The fix is local to the adb client and thus doesn't require a new
version of the server or guest adbd on the device-side.

This also fixes 'adb reverse --no-rebind'.

See https://code.google.com/p/chromium/issues/detail?id=451109

Change-Id: I680fd432b5470072f6a9968ca32a7f90c600ac68
2015-01-23 10:02:58 +01:00
Elliott Hughes
4083ed7dff Merge "Revert "fs_mgr: Support filesystem labels in fstab"" 2015-01-23 00:34:08 +00:00
Elliott Hughes
572226c25c Revert "fs_mgr: Support filesystem labels in fstab"
This reverts commit 69407ccb02.

Change-Id: I537a3b4257b7bc2a69f1f4d62b4e18e91f2dc713
2015-01-23 00:33:43 +00:00
JP Abgrall
f9e2339553 Merge "fs_mgr: Support filesystem labels in fstab" 2015-01-22 23:59:05 +00:00
Chih-Hung Hsieh
d3d4741584 Enable clang for init, after fix of global .mk files.
LOCAL_FORCE_STATIC_EXECUTABLE was not working properly for clang
because -Bstatic was ignored by clang. We can now enable clang
for init after the -static flag is added to link static executable
files in build/core/definitions.mk.

BUG: 18008984
Change-Id: I3f361b83c1e0b313914603dff33fd090cd3b116a
2015-01-22 15:28:56 -08:00
Mark Salyzyn
045be135de Merge "liblog: logcat color output corrupted on 32-bit" 2015-01-22 18:12:14 +00:00
Mark Salyzyn
e2428429e0 liblog: logcat color output corrupted on 32-bit
sizeof(suffixBuf), not sizeof(suffixLen)!

Change-Id: I6e085089237585bb8b406372639b644556747699
2015-01-22 10:00:04 -08:00
Christopher Ferris
d426a4e7b6 Merge "Move 32 bit/64 bit check into debuggerd." 2015-01-21 18:39:49 +00:00
Christopher Ferris
9774df6134 Move 32 bit/64 bit check into debuggerd.
On 64 bit systems, calls to dump_backtrace_to_file or dump_tombstone
try and directly contact the correct debuggerd (32 bit vs 64 bit)
by reading the elf information for the executable.
Unfortunately, system_server makes a call to dump_backtrace_to_file
and it doesn't have permissions to read the executable data, so it
defaults to always contacting the 64 bit debuggerd.
This CL changes the code so that all dump requests go to the 64 bit
debuggerd, which reads the elf information and redirects requests for
32 bit processes to the 32 bit debuggerd.

Testing:

- Forced the watchdog code in system_server to dump stacks and
  verified that all native stacks are dumped correctly.
- Verified that dumpstate and bugreport still properly dump the native
  processes on a 64 bit and 32 bit system.
- Intentionally forced the 64 bit to 32 bit redirect to write only a
  byte at a time and verified there are no errors, and no dropped data.
- Used debuggerd and debuggerd64 to dump 32 bit and 64 bit processes
  seemlessly.
- Used debuggerd on a 32 bit system to dump native stacks.

Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: Ie01945153bdc1c4ded696c7334b61d58575314d1
2015-01-20 17:22:07 -08:00
Christoffer Dall
69407ccb02 fs_mgr: Support filesystem labels in fstab
When mounting fstab entries it is practical to be able to specify
for example LABEL=data instead of a specific block device.

This is particularly important for the new Android Emulator code base,
which uses virtio block devices for the various partitions
(system,data,cache), because there is no defined ordering between the
way the filesystems are specified to the emulator and how they are
enumerated by the android kernel as /dev/vdX.

Change-Id: I12c3db0ba6a515dc8e917e0349afd257888d3aef
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
2015-01-17 21:05:39 +01:00
Elliott Hughes
ce34551ce6 Merge "Lose id to toybox." 2015-01-17 03:38:31 +00:00
Elliott Hughes
1bf5054342 Lose id to toybox.
Change-Id: I0b92482d06055207e133112e74c58964c7ef0362
2015-01-16 19:24:26 -08:00
Elliott Hughes
45c4c06ffe Merge "Remove unused cruft from libcutils." 2015-01-16 15:52:17 +00:00
Elliott Hughes
f21717cd87 Remove unused cruft from libcutils.
Change-Id: I316d39e8e0a9aa385d8e1f37678b8bf2c03441eb
2015-01-15 21:16:03 -08:00
Jeff Sharkey
9f72ef8944 Merge "Extend to receive NFLOG packets." 2015-01-16 01:11:02 +00:00
Elliott Hughes
17e2f436f0 Merge "Lose cmp to toybox." 2015-01-15 23:45:51 +00:00
Christopher Ferris
791a690596 Merge "Add timed versions of stack dumping functions." 2015-01-15 23:40:19 +00:00
Christopher Ferris
fa41e0f5c8 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

(cherry picked from commit 5f2ff6a910)

Change-Id: I39e8e9c60209e3ef9efac795fedb8e1edce2bd3e
2015-01-15 15:34:21 -08:00
Elliott Hughes
b546991685 Lose cmp to toybox.
Change-Id: Ib8b078565e4951f7621d21fbe3573bfcf2435879
2015-01-15 14:59:22 -08:00
Elliott Hughes
3d7951d4a4 Merge "Lose chown to toybox." 2015-01-15 22:47:38 +00:00
Elliott Hughes
6eb88b2c1d Lose chown to toybox.
Change-Id: Ic56addb183ce7f1d289b807527047c37924c1aa6
2015-01-15 13:47:00 -08:00
Jeff Sharkey
9a20e67fa6 Extend to receive NFLOG packets.
Packets captured and logged by the NFLOG target are unicast, so
extend to catch and decode them.  To avoid escaping issues, the raw
contents are passed around as hex strings.

Bug: 18335678
Change-Id: Ib7299500baa00080a1f000f9da843eb527363353
2015-01-15 12:50:59 -08:00