Commit Graph

22138 Commits

Author SHA1 Message Date
Josh Gao 46468f8cef adb: switch the socket list mutex to a recursive_mutex. am: 6f641adea5 am: a6b92d1f2e am: 1f8c6c8c8e
am: 163802c244  -s ours

Change-Id: I778721bfdf8bace675ca86fb2b49a1d0ecd052b2
2016-07-18 20:12:58 +00: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
Josh Gao 0528829b73 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-14 16:47:10 -07:00
Josh Gao 8d6ca194ee 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: I93f6423e6de38e2bc6c75d8d33052da4cd2daa8a
2016-07-14 16:19:49 -07:00
Sergio Giro 8c335e2840 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
am: 9d6d33dba2  -s ours

Change-Id: Id26c22b458fcd1b7ad32c58449dd9574bc464ad3
2016-07-14 18:47:12 +00:00
Sergio Giro 8170f506f7 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
am: 1aad4b61cb  -s ours

Change-Id: I0082b3b2c0e2347940f666d8a03811abe390de02
2016-07-14 18:47:04 +00:00
Sergio Giro 254b45e573 libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8 am: 3411dd4457 am: 01dbd1da64 am: 7c516d7080
am: 062c13e997  -s ours

Change-Id: I932cc01acc74a8d148a6c9d25d5c35c48a324844
2016-07-14 18:44:28 +00: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 757f4ef340 Merge "libutils/Unicode.cpp: Correct length computation and add checks for utf16->utf8" into nyc-dev 2016-07-14 17:33:28 +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 53d529a585 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
am: f96271187f  -s ours

Change-Id: Ib04042a57e4b5d55eca95cbbea272446c499c07e
2016-07-14 13:59:29 +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 570dbfb8b8 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 13:40:43 +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
Sergio Giro 5fce0542b6 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)

Bug: 29250543
Change-Id: Ia2d6a550f5594280505fb0835c752e53898700ed
2016-07-14 12:34:30 +00:00
Josh Gao 4a875ce6ff 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.

Bug: http://b/29555636
Change-Id: I4dfe1ea30e2c211d2389321bd66e3684dd757591
2016-07-13 16:49:02 -07:00