Commit graph

14908 commits

Author SHA1 Message Date
Josh Gao
71908ef2f8 DO NOT MERGE: debuggerd: verify that traced threads belong to the right process. am: 36dd144367 am: 9048b3bb8e am: 6cb199bf4a -s ours am: 851f840835 am: be484f3f7b
am: 1e1eae1992

Change-Id: I2bd7a6994c5d426402ee9d3e2adcc16f603b7c62
2016-07-19 20:50:16 +00:00
Josh Gao
1e1eae1992 DO NOT MERGE: debuggerd: verify that traced threads belong to the right process. am: 36dd144367 am: 9048b3bb8e am: 6cb199bf4a -s ours am: 851f840835
am: be484f3f7b

Change-Id: I1c9a4f7cdec227e78910678f05e6232a60f05bb1
2016-07-19 20:43:26 +00:00
Josh Gao
be484f3f7b DO NOT MERGE: debuggerd: verify that traced threads belong to the right process. am: 36dd144367 am: 9048b3bb8e am: 6cb199bf4a -s ours
am: 851f840835

Change-Id: I4edf38e6bbee8745241329816647d730addc23ea
2016-07-19 20:40:05 +00:00
Josh Gao
b1471215a8 Merge \\\"DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.\\\" into mnc-dev am: 73922b82ee am: 8a9e4369f6
am: ba143fd959

Change-Id: I7968a0d6d374c140c0b40a866d597dc6ca9ade25
2016-07-19 20:38:43 +00:00
Josh Gao
851f840835 DO NOT MERGE: debuggerd: verify that traced threads belong to the right process. am: 36dd144367 am: 9048b3bb8e
am: 6cb199bf4a  -s ours

Change-Id: I26ed6fa730d66419319a5832b7f011cd15601e03
2016-07-19 20:36:38 +00:00
Josh Gao
ba143fd959 Merge \\"DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.\\" into mnc-dev am: 73922b82ee
am: 8a9e4369f6

Change-Id: I7aa9984853f5114aea36d51ea2903b729b60d5e8
2016-07-19 20:35:39 +00:00
Josh Gao
8a9e4369f6 Merge \"DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.\" into mnc-dev
am: 73922b82ee

Change-Id: I36abe7ac6a52b561cfed8dfa689216b166f4df43
2016-07-19 20:34:12 +00:00
Josh Gao
6cb199bf4a DO NOT MERGE: debuggerd: verify that traced threads belong to the right process. am: 36dd144367
am: 9048b3bb8e

Change-Id: I2223884e41d15dabf94df861e28f9392b82678af
2016-07-19 20:33:40 +00:00
Josh Gao
9048b3bb8e DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.
am: 36dd144367

Change-Id: I29864f223541596e9ffccb44c0c257399b0d9cb0
2016-07-19 20:30:19 +00:00
Josh Gao
73922b82ee Merge "DO NOT MERGE: debuggerd: verify that traced threads belong to the right process." into mnc-dev 2016-07-19 20:20:56 +00:00
Josh Gao
a50e8ffa7d DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.
Fix two races in debuggerd's PTRACE_ATTACH logic:
  1. The target thread in a crash dump request could exit between the
     /proc/<pid>/task/<tid> check and the PTRACE_ATTACH.
  2. Sibling threads could exit between listing /proc/<pid>/task and the
     PTRACE_ATTACH.

Backport of NYC change I4dfe1ea30e2c211d2389321bd66e3684dd757591
Bug: http://b/29555636
Change-Id: I6c6efcf82a49bca140d761b2d1de04215ba4d252
2016-07-18 13:23:29 -07:00
Josh Gao
29aa08f8cc adb: use asocket\\\'s close function when closing. am: f71c01493a am: d179556680
am: e2a5846402

Change-Id: I089c7390c4e5f325b3c6e8ff54012430a436c05d
2016-07-18 19:54:17 +00:00
Josh Gao
163802c244 adb: switch the socket list mutex to a recursive_mutex. am: 6f641adea5 am: a6b92d1f2e
am: 1f8c6c8c8e

Change-Id: I035c2436afc99078996fb655aa4b9554e7cc812e
2016-07-18 19:54:17 +00:00
Josh Gao
e2a5846402 adb: use asocket\\'s close function when closing. am: f71c01493a
am: d179556680

Change-Id: I484051c028f89e292567485db49e2e20d26030be
2016-07-18 19:50:46 +00:00
Josh Gao
1f8c6c8c8e adb: switch the socket list mutex to a recursive_mutex. am: 6f641adea5
am: a6b92d1f2e

Change-Id: I064738710ab360cbfeb0b669d7e531f955f8b9cb
2016-07-18 19:50:46 +00:00
Josh Gao
d179556680 adb: use asocket\'s close function when closing.
am: f71c01493a

Change-Id: Id77dd7ff1931f03ea7f1e0339eca6610e02e9122
2016-07-18 19:47:45 +00:00
Josh Gao
a6b92d1f2e adb: switch the socket list mutex to a recursive_mutex.
am: 6f641adea5

Change-Id: I839bc3817e7d7bb24b2bf3c5059919802c9f5d33
2016-07-18 19:47:45 +00:00
Josh Gao
36dd144367 DO NOT MERGE: debuggerd: verify that traced threads belong to the right process.
Fix two races in debuggerd's PTRACE_ATTACH logic:
  1. The target thread in a crash dump request could exit between the
     /proc/<pid>/task/<tid> check and the PTRACE_ATTACH.
  2. Sibling threads could exit between listing /proc/<pid>/task and the
     PTRACE_ATTACH.

Backport of NYC change I4dfe1ea30e2c211d2389321bd66e3684dd757591
Bug: http://b/29555636
Change-Id: I320f47216b21018d3f613cfbbaaff40b3548ef36
2016-07-18 19:35:45 +00:00
Josh Gao
f71c01493a adb: use asocket's close function when closing.
close_all_sockets was assuming that all registered local sockets used
local_socket_close as their close function. However, this is not true
for JDWP sockets.

Bug: http://b/28347842
Change-Id: I40a1174845cd33f15f30ce70828a7081cd5a087e
(cherry picked from commit 53eb31d87c)
(cherry picked from commit 014b01706c)
2016-07-15 17:17:14 -07:00
Josh Gao
6f641adea5 adb: switch the socket list mutex to a recursive_mutex.
sockets.cpp was branching on whether a socket close function was
local_socket_close in order to avoid a potential deadlock if the socket
list lock was held while closing a peer socket.

Bug: http://b/28347842
Change-Id: I5e56f17fa54275284787f0f1dc150d1960256ab3
(functionally a cherrypick of 903b749f + 9b587dec, with windows disabled)
2016-07-15 17:17:14 -07:00
Sergio Giro
9d6d33dba2 Merge \\\\\\\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\\\\\" into lmp-dev am: 8d2d6cedbb -s ours am: 71da8e7537 am: 5e03ed1dab am: b00e3603ef -s ours am: 72bad95df5 am: ae21a25383
am: 1062106a3b

Change-Id: I441fc693e0f6861160ebc615b2ba15feba29e1a7
2016-07-14 18:29:27 +00:00
Sergio Giro
1aad4b61cb DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 2806397d1e am: 8c9d02551c am: 28f28ce635 -s ours am: f611765aaf am: 207717bde6
am: dc5a96f5b3

Change-Id: I02b02a89f381c1cadff3b4702e1ff8e8850b219e
2016-07-14 18:29:22 +00:00
Sergio Giro
1062106a3b Merge \\\\\\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\\\\" into lmp-dev am: 8d2d6cedbb -s ours am: 71da8e7537 am: 5e03ed1dab am: b00e3603ef -s ours am: 72bad95df5
am: ae21a25383

Change-Id: I3c2f28c59c588a2cce0a00e33914181ac0d876ef
2016-07-14 18:27:01 +00:00
Sergio Giro
dc5a96f5b3 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 2806397d1e am: 8c9d02551c am: 28f28ce635 -s ours am: f611765aaf
am: 207717bde6

Change-Id: I88e2cafcf84bff82c29725dd484103dabf248a8b
2016-07-14 18:26:58 +00:00
Sergio Giro
ae21a25383 Merge \\\\\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\\\" into lmp-dev am: 8d2d6cedbb -s ours am: 71da8e7537 am: 5e03ed1dab am: b00e3603ef -s ours
am: 72bad95df5

Change-Id: I157121792e7de52ae705afc105ebf31299612b59
2016-07-14 18:24:17 +00:00
Sergio Giro
207717bde6 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 2806397d1e am: 8c9d02551c am: 28f28ce635 -s ours
am: f611765aaf

Change-Id: I236fac995374280f948759f44e673aff98b53447
2016-07-14 18:24:13 +00:00
Sergio Giro
062c13e997 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 3411dd4457 am: 01dbd1da64
am: 7c516d7080

Change-Id: Ieaea49b0baa026dd0666b884a1c64a303d19baf1
2016-07-14 18:23:56 +00:00
Sergio Giro
7c516d7080 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 3411dd4457
am: 01dbd1da64

Change-Id: Id0ecb8e252b43cc5c77644310e4f8a2968876a37
2016-07-14 18:15:36 +00:00
Sergio Giro
01dbd1da64 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
am: 3411dd4457

Change-Id: I34322210bd7ab90c1986d55f9b444292e76c646a
2016-07-14 18:07:28 +00:00
Sergio Giro
72bad95df5 Merge \\\\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\\" into lmp-dev am: 8d2d6cedbb -s ours am: 71da8e7537 am: 5e03ed1dab
am: b00e3603ef  -s ours

Change-Id: Id73880ce44c4a1cb14c04b6e533e888ac28e1ae0
2016-07-14 18:03:17 +00:00
Sergio Giro
f611765aaf DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 2806397d1e am: 8c9d02551c
am: 28f28ce635  -s ours

Change-Id: I2ef3ab0e4e3c64c9b5c17454ab738f3d5bdb5dd3
2016-07-14 18:03:14 +00:00
Sergio Giro
b00e3603ef Merge \\\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\\" into lmp-dev am: 8d2d6cedbb -s ours am: 71da8e7537
am: 5e03ed1dab

Change-Id: I69b9c166dcd1f76cfe6555cae0580366f79258cc
2016-07-14 18:00:50 +00:00
Sergio Giro
28f28ce635 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 2806397d1e
am: 8c9d02551c

Change-Id: Ia8754c27d2d2a639280235c2dbf9043f3442421e
2016-07-14 17:59:56 +00:00
Sergio Giro
5e03ed1dab Merge \\"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\\" into lmp-dev am: 8d2d6cedbb -s ours
am: 71da8e7537

Change-Id: I1c9b5abdf550bb2e6f294c7f0920ff72e6bcfc0e
2016-07-14 17:59:48 +00:00
Sergio Giro
8c9d02551c DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
am: 2806397d1e

Change-Id: I28785c3aa9d2b11b045c53fea557c0d74bd65181
2016-07-14 17:52:06 +00:00
Sergio Giro
71da8e7537 Merge \"DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8\" into lmp-dev
am: 8d2d6cedbb  -s ours

Change-Id: Id0e0d5176560cf883da2e5507ba9106ecc624536
2016-07-14 17:52:05 +00:00
Sergio Giro
8d2d6cedbb Merge "DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8" into lmp-dev 2016-07-14 17:36:23 +00:00
Sergio Giro
2806397d1e DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

(cherry picked from commit c4966a363e)

Change-Id: Idfb0eb29b305678608586d25c2f372146569ad39
Bug: 29250543
2016-07-14 17:25:27 +00:00
Sergio Giro
3411dd4457 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

Test: ran libutils_tests
Bug: 29250543
Change-Id: I6115e3357141ed245c63c6eb25fc0fd0a9a7a2bb
(cherry picked from commit c4966a363e)
2016-07-14 16:49:50 +01:00
Sergio Giro
b022447a3a DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
Inconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length
is causing a heap overflow.

Correcting the length computation and adding bound checks to the
conversion functions.

(cherry picked from commit c4966a363e)

Change-Id: Idfb0eb29b305678608586d25c2f372146569ad39
Bug: 29250543
2016-07-14 14:47:59 +00:00
Sergio Giro
f96271187f DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours am: 6179f1a56e am: 451f4b3d04 am: 3c85e4e5e7 -s ours am: baac6666fe am: 2858362ffe
am: 7a0c6bf505

Change-Id: Iea9431a42775b8aa6c89d7b5aaf407692f9e46b4
2016-07-14 13:53:15 +00:00
Sergio Giro
7a0c6bf505 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours am: 6179f1a56e am: 451f4b3d04 am: 3c85e4e5e7 -s ours am: baac6666fe
am: 2858362ffe

Change-Id: Ie933e2f7903dfc653c3dc0a6499e52cc73d2eefd
2016-07-14 13:46:28 +00:00
Sergio Giro
2858362ffe DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours am: 6179f1a56e am: 451f4b3d04 am: 3c85e4e5e7 -s ours
am: baac6666fe

Change-Id: I78b737a0a19a9ae692fd94f1b3ca8d0870291c96
2016-07-14 13:40:49 +00:00
Sergio Giro
baac6666fe DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours am: 6179f1a56e am: 451f4b3d04
am: 3c85e4e5e7  -s ours

Change-Id: I2a4bdacfce15e656f487ad24508df3d4066ca8b7
2016-07-14 13:34:44 +00:00
Sergio Giro
3c85e4e5e7 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours am: 6179f1a56e
am: 451f4b3d04

Change-Id: I1781e52845996557f9f6a7e8b359e1d698e38e45
2016-07-14 13:28:27 +00:00
Sergio Giro
451f4b3d04 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours am: 247ac63c69 -s ours
am: 6179f1a56e

Change-Id: I1622017cea3f29fc17e8f75f0cfa77c786a08937
2016-07-14 13:16:45 +00:00
Sergio Giro
6179f1a56e DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21 am: 3841c92912 -s ours
am: 247ac63c69  -s ours

Change-Id: Ia8ee4d393bc8cf9cde7ada6af9f79eeee3100f80
2016-07-14 13:08:26 +00:00
Sergio Giro
247ac63c69 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6 am: d0ad14ca21
am: 3841c92912  -s ours

Change-Id: Ia555a7e1a9eaf3f00dfa91ceb8afe85c48e4b7d5
2016-07-14 13:01:44 +00:00
Sergio Giro
3841c92912 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 5fce0542b6
am: d0ad14ca21

Change-Id: Id0901a86ea469d664badfee75db32948c88e72f7
2016-07-14 12:55:58 +00:00
Sergio Giro
d0ad14ca21 DO NOT MERGE libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8
am: 5fce0542b6

Change-Id: I348b457decce08d6d08819a16d618b0bc194aa91
2016-07-14 12:49:59 +00:00