)]}'
{
  "log": [
    {
      "commit": "7f79bc53cb5d2c9f7056e729e48acacc846d3da9",
      "tree": "8a2681303fa8c199908a23cad4be4e7450c8fc9d",
      "parents": [
        "af15eff03bbad1f8405dcf03f8c82ecc05fa7d34",
        "c6a427205ddc7fbd52072c8529e44c06a5d8dd4a"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 15 14:43:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 15 14:43:23 2019 +0000"
      },
      "message": "Merge \"liblog: use RunLogTests() for more tests\""
    },
    {
      "commit": "af15eff03bbad1f8405dcf03f8c82ecc05fa7d34",
      "tree": "9ab336cff757b1642d13d110b799f35542cfa198",
      "parents": [
        "9e523978255d82bc5362571877878d3c28c0d98b",
        "98b1c6925398f3a554b1a220a88c7de1f6fc7c80"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 15 12:35:47 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 15 12:35:47 2019 +0000"
      },
      "message": "Merge \"Don\u0027t preload libneuralnetworks.so\""
    },
    {
      "commit": "9e523978255d82bc5362571877878d3c28c0d98b",
      "tree": "f48b91ec9fe86fafcff4423b374379aa09995696",
      "parents": [
        "e34d2390230ca54f7ca3932bab9a40c4df077069",
        "82f94d61cb544ff23b5c46811ab7af2aca0b66c0"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Oct 15 09:21:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 15 09:21:19 2019 +0000"
      },
      "message": "Merge \"Use com.android.vndk.current variant for vndk list\""
    },
    {
      "commit": "e34d2390230ca54f7ca3932bab9a40c4df077069",
      "tree": "cccd68314f1528ce9bc4ff5201639b2b102b15d5",
      "parents": [
        "a5a107fb6d3335729cb28ed2cbddf5a01eec7b6e",
        "9e95202e4de2c82497e12ae20b7fdc463f8ad376"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 15 04:55:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 15 04:55:19 2019 +0000"
      },
      "message": "Merge changes I1cae6530,I7ffaa260\n\n* changes:\n  Publish chunk size in utility.h\n  Remove magic numbers from test and use storage literals\n"
    },
    {
      "commit": "c6a427205ddc7fbd52072c8529e44c06a5d8dd4a",
      "tree": "1844311c74b5ec2ac7bf17b8ae952d22c0e6f44a",
      "parents": [
        "a5a107fb6d3335729cb28ed2cbddf5a01eec7b6e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 14 12:40:50 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 14 13:11:26 2019 -0700"
      },
      "message": "liblog: use RunLogTests() for more tests\n\nContinuing the speed up / clean up from the last change.\n\nEnable a subtest that was previously disabled as well.  It passes 100s\nof cycles now on CF.\n\nTest: liblog-unit-tests\nChange-Id: Ifff6f400c3736a1a857a3fdaf22d7ef1794abf9b\n"
    },
    {
      "commit": "9e95202e4de2c82497e12ae20b7fdc463f8ad376",
      "tree": "cccd68314f1528ce9bc4ff5201639b2b102b15d5",
      "parents": [
        "3f6334e6237d8e6f9afa91d2fbb8f4a3e37c32b8"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Mon Oct 14 20:56:58 2019 +0100"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Mon Oct 14 21:07:07 2019 +0100"
      },
      "message": "Publish chunk size in utility.h\n\nThe chunk size of the snapshot should be kept consistent among different\nfiles.\nMove it to libsnapshot/utility.h to improve its visibility.\n\nChange-Id: I1cae6530a07c88f3a0091ca7d8bb2eb590a6710f\nBug: 140835698\nTest: m\nSigned-off-by: Alessio Balsini \u003cbalsini@google.com\u003e\n"
    },
    {
      "commit": "3f6334e6237d8e6f9afa91d2fbb8f4a3e37c32b8",
      "tree": "65d54995bd6f2cee2da17e20f9122cfe39c0e1a9",
      "parents": [
        "a5a107fb6d3335729cb28ed2cbddf5a01eec7b6e"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Mon Oct 14 20:56:54 2019 +0100"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Mon Oct 14 21:07:02 2019 +0100"
      },
      "message": "Remove magic numbers from test and use storage literals\n\nUse constant expressions and storage literals to simplify readability.\n\nChange-Id: I7ffaa260a2cd77dc0e24980f115f9e8df72708e6\nBug: 140835698\nTest: libsnapshot_test\nSigned-off-by: Alessio Balsini \u003cbalsini@google.com\u003e\n"
    },
    {
      "commit": "a5a107fb6d3335729cb28ed2cbddf5a01eec7b6e",
      "tree": "bf6bc5cb35de8f88f0cec5ba71716187ef271b0c",
      "parents": [
        "3902531b8641dc7931942b1b0ae7a23dda4327c2",
        "0dbfea7b0778bff25a43602e523deae5bb65b114"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 14 13:48:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 14 13:48:52 2019 +0000"
      },
      "message": "Merge \"init: trigger shutdown directly from builtins\""
    },
    {
      "commit": "82f94d61cb544ff23b5c46811ab7af2aca0b66c0",
      "tree": "e4183af29f97938252a57563790aca5e7f3328e8",
      "parents": [
        "9186612f9a53e3d1e77e8c272f3f6d15a2dc50cf"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Oct 13 22:03:50 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Sun Oct 13 22:03:50 2019 +0900"
      },
      "message": "Use com.android.vndk.current variant for vndk list\n\nNew linkerconfig reads some txt files which list various kinds of\nvndk libraries. For example, vndksp.libraries.txt file has the list of\nVNDKSP type libraries. The exact file names are retrieved from .vendor\nvariants.\n\nWith VNDK APEX, .vendor variants are not installed but\n.com.android.vndk.current variants are packaged into VNDK APEX.\n\nThis CL changes the variant type from .vendor to\n.com.android.vndk.current so that *.libraries.txt files can list the\ninstalled files correctly.\n\nBug: 141451661\nTest: m \u0026\u0026 device boot\nChange-Id: Ibbc27b1ae6a44cc2337a0b14918caa27107a4c8e\n"
    },
    {
      "commit": "3902531b8641dc7931942b1b0ae7a23dda4327c2",
      "tree": "518609a04feb5fcfbe5754c004e29cc84efa343e",
      "parents": [
        "212b8247abbd6dd79aecafeecb9856e3131545f2",
        "baf058bbf73090338aeaf3c47b4f4a4ae31b1ac6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Oct 12 00:43:05 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 12 00:43:05 2019 +0000"
      },
      "message": "Merge \"Replace MOCK_METHODN with MOCK_METHOD macro.\""
    },
    {
      "commit": "baf058bbf73090338aeaf3c47b4f4a4ae31b1ac6",
      "tree": "518609a04feb5fcfbe5754c004e29cc84efa343e",
      "parents": [
        "212b8247abbd6dd79aecafeecb9856e3131545f2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 11 14:26:55 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 11 14:30:18 2019 -0700"
      },
      "message": "Replace MOCK_METHODN with MOCK_METHOD macro.\n\nTest: Builds and unit tests pass.\nChange-Id: I64e0034359c213f37c098d1c97be260bd955ca0f\n"
    },
    {
      "commit": "212b8247abbd6dd79aecafeecb9856e3131545f2",
      "tree": "440ea5d26efae6d5879f1707662eec0e137be85d",
      "parents": [
        "536e8ded6b999adc539752402e628bddb41ba98b",
        "dbc4815dbf04689c84b4ca0e6c6104005a763a94"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 11 21:00:02 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 21:00:02 2019 +0000"
      },
      "message": "Merge \"liblog: don\u0027t sleep in the middle of tests\""
    },
    {
      "commit": "0dbfea7b0778bff25a43602e523deae5bb65b114",
      "tree": "108d52a6da321b7bec78f8c7acec47343b0c4de8",
      "parents": [
        "6b0e789a21cfb796a508e3c5507e49a2e8571582"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 11 13:18:44 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 11 13:45:42 2019 -0700"
      },
      "message": "init: trigger shutdown directly from builtins\n\nEspecially now that property_service is a thread, there may be some\ndelay between when init sets sys.powerctl and when the main thread of\ninit receives this and triggers shutdown.  It\u0027s possible that\noutstanding init commands are run during this gap and that is not\ndesirable.\n\nInstead, have builtins call TriggerShutdown() directly, so we can be\nsure that the next action that init runs will be to shutdown the\ndevice.\n\nTest: reboot works\nTest: reboot into recovery due to bad /data works\nChange-Id: I26fb9f4f57f46c7451b8b58187138cfedd6fd9eb\n"
    },
    {
      "commit": "536e8ded6b999adc539752402e628bddb41ba98b",
      "tree": "732f466e54223b242f1d39e3c03ad9620cbba597",
      "parents": [
        "0e9a0f9831764cea6d485bc70d34c04f52a677f9",
        "aaab596687acc7e6419028525a7ecf4eb4e54597"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 20:11:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 20:11:49 2019 +0000"
      },
      "message": "Merge \"Only allow alphanumerical characters, \u0027-\u0027 and \u0027_\u0027 in event trigger names\""
    },
    {
      "commit": "0e9a0f9831764cea6d485bc70d34c04f52a677f9",
      "tree": "d12e049c01ef4a0c460bdd7b123ad8ae24911eda",
      "parents": [
        "d1cb35bdefce0b04c7a8167e0a9fad675a0df902",
        "8e048440e544ddb79a23826be00862560bb4fbde"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 19:52:37 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 19:52:37 2019 +0000"
      },
      "message": "Merge changes I8804f7dd,I3cbca589\n\n* changes:\n  [fs_mgr] fix -Wreorder-init-list\n  [debuggerd] fix -Wreorder-init-list\n"
    },
    {
      "commit": "d1cb35bdefce0b04c7a8167e0a9fad675a0df902",
      "tree": "3c2fe841df139f8b019392ff453cc26b2b4f44fe",
      "parents": [
        "d4a1cd2cdd49a36f4dc6c499b1072f9fce8109ca",
        "23f2a0b166dc542bd40da80c9680bfccee96cc85"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 11 18:16:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 18:16:01 2019 +0000"
      },
      "message": "Merge \"Add method to get usage stats for a single map.\""
    },
    {
      "commit": "dbc4815dbf04689c84b4ca0e6c6104005a763a94",
      "tree": "ee9b5ae24cb84c6d349c4a7e3566b6c46dbdaa29",
      "parents": [
        "6b0e789a21cfb796a508e3c5507e49a2e8571582"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 15:09:01 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 11 10:56:11 2019 -0700"
      },
      "message": "liblog: don\u0027t sleep in the middle of tests\n\nA lot of liblog tests follow this pattern:\n1) Write a log message\n2) Sleep ~1 second\n3) Use the non_blocking log reader to dump all log messages\n4) Test those log messages\n\nThis causes running back to back tests to be very slow and still\nallows for some amount of flakiness if the system is very loaded.\n\nThis change replaces that pattern with the following:\n1) Write a log message\n2) Set an alarm for 2 seconds as a test timeout\n3) Read logs with the blocking reader until finding the expected log\n   messages\n4) Test those log messages\n5) Use the non_blocking reader to dump all log messages\n6) Re-test those log messages, to ensure no duplicates, etc, which\n   isn\u0027t done in step 3).\n\nDespite dumping the logs twice, the tests are orders of magnitude\nfaster in the good case, and should be less prone to flakes.\n\nTest: liblog-unit-tests\nChange-Id: Iedf473316576b8007746fe3560815bde1813787a\n"
    },
    {
      "commit": "8e048440e544ddb79a23826be00862560bb4fbde",
      "tree": "15e95dc840ac44b460b9e3b30cef4e73b5badfd1",
      "parents": [
        "67d52aa0f684fe6fb898c2ccda1d7bb302d3a5e0"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Fri Oct 11 10:52:16 2019 -0700"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Fri Oct 11 10:54:53 2019 -0700"
      },
      "message": "[fs_mgr] fix -Wreorder-init-list\n\nC++20 will require members in a designated initializer to be in order\nunlike C99.\n\nBug: 139945549\nTest: mm\nChange-Id: I8804f7dd5cba1035ac7a2979a47b661d722f664a\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "aaab596687acc7e6419028525a7ecf4eb4e54597",
      "tree": "548ff08038a701fa47b8d51856f9e261bb1f531a",
      "parents": [
        "6b0e789a21cfb796a508e3c5507e49a2e8571582"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Oct 10 20:42:37 2019 +0100"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Fri Oct 11 17:44:54 2019 +0100"
      },
      "message": "Only allow alphanumerical characters, \u0027-\u0027 and \u0027_\u0027 in event trigger names\n\nThis should help in preventing silly typos like \"on foo:\"\n\nTest: atest CtsInitTestCases\nTest: builds\nBug: 135984674\nChange-Id: I6e4e18970e957d25dea9f557f0d31a759fbe6150\n"
    },
    {
      "commit": "d4a1cd2cdd49a36f4dc6c499b1072f9fce8109ca",
      "tree": "48b1aad8cad82d8fb423d4b70e62d015748a3c79",
      "parents": [
        "6b0e789a21cfb796a508e3c5507e49a2e8571582",
        "08916b9ea2ca381be78bd4d581ec1e78693fc7f7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 15:38:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 15:38:23 2019 +0000"
      },
      "message": "Merge \"Fuzzer for libdm\u0027s dm-linear devices creation\""
    },
    {
      "commit": "6b0e789a21cfb796a508e3c5507e49a2e8571582",
      "tree": "e68eb0680ab411f6bf410ca9a3f1bbb1acfe143a",
      "parents": [
        "45922373007f1a69c45420a8aeb355ad4990b2dc",
        "5670fabb94829abd041e75741e3955be1f3b8157"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 14:30:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 14:30:00 2019 +0000"
      },
      "message": "Merge \"lmkd: Remove unnecessary conditional\""
    },
    {
      "commit": "45922373007f1a69c45420a8aeb355ad4990b2dc",
      "tree": "a4cd9d825e8b29c3a5aecc97d798ddf29ac78fec",
      "parents": [
        "30820a384cad39feeb7fbc223c418b0daeac29b6",
        "3f4b0d611338a772f63669bd12e792bbe43b1245"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Fri Oct 11 10:29:50 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 10:29:50 2019 +0000"
      },
      "message": "Merge \"userspace reboot: stop post-data services and wait for them to be killed\""
    },
    {
      "commit": "30820a384cad39feeb7fbc223c418b0daeac29b6",
      "tree": "c264d689275cb948e7af392605f3307ae8fa69db",
      "parents": [
        "5a1489ce4e0f8430f361c1d53a48844eeff141c4",
        "5e6dc03fd5fa6db51c09a34f3c9963ff58d7c204"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 10:18:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 10:18:43 2019 +0000"
      },
      "message": "Merge \"Move TempDevice to test_util.h\""
    },
    {
      "commit": "5a1489ce4e0f8430f361c1d53a48844eeff141c4",
      "tree": "97261aabbb8cd7fe050c555008f32309e54d3b30",
      "parents": [
        "b8ba80ebd2298069affb8e13a638323ea65aa873",
        "60239d20690e4c070bd189e51d9c6eff0a93868e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 09:57:05 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 09:57:05 2019 +0000"
      },
      "message": "Merge \"Move libnative{bridge,loader} to art/\""
    },
    {
      "commit": "b8ba80ebd2298069affb8e13a638323ea65aa873",
      "tree": "5342de414102169e046e8c5435da4403617892c6",
      "parents": [
        "9186612f9a53e3d1e77e8c272f3f6d15a2dc50cf",
        "ad427b74c460470c1111645f55478090166ecb0d"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Oct 11 09:41:36 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 11 09:41:36 2019 +0000"
      },
      "message": "Merge \"Remove useless goto.\""
    },
    {
      "commit": "98b1c6925398f3a554b1a220a88c7de1f6fc7c80",
      "tree": "c6623dd025ee47f2d2ffd804c03774c9dd643b46",
      "parents": [
        "71f124dc546a14aa07ed329c6634352e7910140d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Oct 11 10:31:12 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Oct 11 10:31:12 2019 +0900"
      },
      "message": "Don\u0027t preload libneuralnetworks.so\n\nThe lib isn\u0027t used by most of the apps. Don\u0027t waste memory by preloading\nit to all apps.\n\nBug: 142482121\nTest: `lsof -p $(pidof zygote64) | grep libneuralnetwork` shows nothing\nChange-Id: I4a6e3df838fa3b7a46271e548e9fdc87bea948ae\n"
    },
    {
      "commit": "23f2a0b166dc542bd40da80c9680bfccee96cc85",
      "tree": "3ef08b2b92916f198f3c04840d57b79e00ed274b",
      "parents": [
        "cad2fc24292f12ad7671659863001ad29da50b42"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 10 13:25:00 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 10 15:10:27 2019 -0700"
      },
      "message": "Add method to get usage stats for a single map.\n\nThe new scudo allocator creates a huge map in 64 bit address space. Some\ntests would get the usage stats of all maps, but only really cared about\na small set of maps. In this case, provide a method to only get the usage\nstats for the maps you care about.\n\nTest: Unit tests pass.\nChange-Id: Ie845e47a8c789a57bf689c9f0e5878a921640e30\n"
    },
    {
      "commit": "67d52aa0f684fe6fb898c2ccda1d7bb302d3a5e0",
      "tree": "bdbdac970f740a73148d7619a60133186e3a2392",
      "parents": [
        "9186612f9a53e3d1e77e8c272f3f6d15a2dc50cf"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Oct 07 23:28:15 2019 -0700"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Thu Oct 10 14:54:35 2019 -0700"
      },
      "message": "[debuggerd] fix -Wreorder-init-list\n\nC++20 wants members to be ordered unlike C99.\n\nBug: 139945549\nTest: mm\nChange-Id: I3cbca589511c1e0bbc10c691949e18de77e16031\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "9186612f9a53e3d1e77e8c272f3f6d15a2dc50cf",
      "tree": "18d580c2a59e84164dea5b80413336489a2b5c74",
      "parents": [
        "cad2fc24292f12ad7671659863001ad29da50b42",
        "e8f1468b14b38b7968b38823e4760ffd7ce057c3"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Oct 10 20:13:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 20:13:48 2019 +0000"
      },
      "message": "Merge \"libmeminfo: Report VMA flags in showmap report\""
    },
    {
      "commit": "08916b9ea2ca381be78bd4d581ec1e78693fc7f7",
      "tree": "d0c5a5aa84e579309b23eb06f70d43b7ecd43b2e",
      "parents": [
        "5e6dc03fd5fa6db51c09a34f3c9963ff58d7c204"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Thu Oct 10 20:50:42 2019 +0100"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Thu Oct 10 20:59:33 2019 +0100"
      },
      "message": "Fuzzer for libdm\u0027s dm-linear devices creation\n\nCreate a fuzzer that fuzzes the parameters used for the creation\nof dm-linear tables through libdm.\nThis fuzzer is based on libdm::DmLinear.\n\nBug: none\nTest: dm_linear_fuzzer\nChange-Id: I052144c6eb0db4fa6a37b5e54fbcb8193e5dc88f\nSigned-off-by: Alessio Balsini \u003cbalsini@google.com\u003e\n"
    },
    {
      "commit": "5e6dc03fd5fa6db51c09a34f3c9963ff58d7c204",
      "tree": "7d37eb4c6ad49236aaed9c2a62a7b9fb6467af93",
      "parents": [
        "cad2fc24292f12ad7671659863001ad29da50b42"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Thu Oct 10 20:47:29 2019 +0100"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Thu Oct 10 20:59:33 2019 +0100"
      },
      "message": "Move TempDevice to test_util.h\n\nTempDevice is useful class for tests, move it to test_util.h to improve\nits visibility and make it usable by other tests.\n\nBug: none\nTest: none\nChange-Id: Idad5667844b10559b24f8f5e657e47d99e14209e\nSigned-off-by: Alessio Balsini \u003cbalsini@google.com\u003e\n"
    },
    {
      "commit": "ad427b74c460470c1111645f55478090166ecb0d",
      "tree": "195ddfece12cb68dc76a3216b07d9380fd98be1a",
      "parents": [
        "cad2fc24292f12ad7671659863001ad29da50b42"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Oct 10 18:14:44 2019 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Oct 10 18:15:24 2019 +0100"
      },
      "message": "Remove useless goto.\n\nTest: build\n\nChange-Id: Ifb8d832de1115eefbf2e09c6d5c8f03244566933\n"
    },
    {
      "commit": "3f4b0d611338a772f63669bd12e792bbe43b1245",
      "tree": "d8efb7ccefa34881d7e2ab2021a7702149f5babd",
      "parents": [
        "d11c6f7fd8ab1cd747d48b086a008f653b77ca3f"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Wed Oct 09 15:23:02 2019 +0100"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Oct 10 18:13:42 2019 +0100"
      },
      "message": "userspace reboot: stop post-data services and wait for them to be killed\n\n* Refactored code around stopping services a little bit to reuse it\n  between full reboot and userspace reboot.\n* Add a scope_guard to fallback to full reboot in case userspace reboot\n  fails.\n* In case of userspace reboot init will also wait for services to be\n  terminated/killed and log the ones that didn\u0027t react to\n  SIGTERM/SIGKILL in time.\n* If some of the services didn\u0027t react to SIGKILL, fail userspace reboot.\n\nTest: adb reboot userspace\nBug: 135984674\nChange-Id: I820c7bc406169333b0f929f0eea028d8384eb2ac\n"
    },
    {
      "commit": "5670fabb94829abd041e75741e3955be1f3b8157",
      "tree": "a7ab82c1f7316044df12491fad202a9832cb605e",
      "parents": [
        "d11c6f7fd8ab1cd747d48b086a008f653b77ca3f"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Oct 10 06:52:23 2019 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Oct 10 06:52:23 2019 -0700"
      },
      "message": "lmkd: Remove unnecessary conditional\n\nWe want poll_handler to be handler_info, so it\u0027s more efficient\nto just unconditionally assign it.\n\nTest: TreeHugger\nChange-Id: I55b5164da1817ef77b5d455eb618f9a2471afc5c\n"
    },
    {
      "commit": "cad2fc24292f12ad7671659863001ad29da50b42",
      "tree": "da5dedc35b5b128914a893e1b269fce209e41790",
      "parents": [
        "d11c6f7fd8ab1cd747d48b086a008f653b77ca3f",
        "bbbf089137ed0ada7589606b392354d77e40f2df"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Oct 10 13:46:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 10 13:46:54 2019 +0000"
      },
      "message": "Merge \"liblog: use packed structs instead of raw unaligned reads\""
    },
    {
      "commit": "bbbf089137ed0ada7589606b392354d77e40f2df",
      "tree": "b85bfb5365ac451fd02444210e54460b4a1e28b0",
      "parents": [
        "b18dc5d287f1e71cb35d308a0229a4770ade9cf2"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Oct 09 10:53:37 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Oct 09 18:20:49 2019 -0700"
      },
      "message": "liblog: use packed structs instead of raw unaligned reads\n\nPer jmgao@, we still need to worry about unaligned integer accesses.\n\nIn any case, we already have the packed structs for all of the\nunaligned data that we\u0027re reading, so this change favors using those\npacked structs.\n\nBug: 142256213\nTest: x86,arm32,arm64 liblog-unit-tests\nChange-Id: I21fc629eac49895d03b5b31daa4cc494b0c4c230\n"
    },
    {
      "commit": "e8f1468b14b38b7968b38823e4760ffd7ce057c3",
      "tree": "77fa5e507479b3494357f897a35814024c0d016a",
      "parents": [
        "11dc734a06bd189de8cb6bccf4efd636fad68313"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Oct 09 16:18:04 2019 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Oct 09 16:18:18 2019 -0700"
      },
      "message": "libmeminfo: Report VMA flags in showmap report\n\nAdd VMA flags into showmap report so that we can distinguish different\nsections of an executable or a library.\n\nBug: 138148041\nTest: showmap -v \u003cPID\u003e\nChange-Id: Ic1a13accbea447548c75a0c54d750280e40c6de8\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "d11c6f7fd8ab1cd747d48b086a008f653b77ca3f",
      "tree": "cf002265c6f29e5351e2f7b1a28f8f62e8ee11a5",
      "parents": [
        "524dc3f8ef8e127893cb3508ef0cb67c66f8b77b",
        "11dc734a06bd189de8cb6bccf4efd636fad68313"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Oct 09 17:46:14 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 17:46:14 2019 +0000"
      },
      "message": "Merge \"lmkd: Track processes using pidfds\""
    },
    {
      "commit": "524dc3f8ef8e127893cb3508ef0cb67c66f8b77b",
      "tree": "37b54b1807da3ab6958e4b89a771c93416ed8243",
      "parents": [
        "530098cebc91136944c20bce9926d94ed4080486",
        "f142c4dd415f06efd546823cb8c89d423cef8cdc"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Wed Oct 09 16:58:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 16:58:32 2019 +0000"
      },
      "message": "Merge \"Export ion_4.12.h and ion_4.19.h\""
    },
    {
      "commit": "530098cebc91136944c20bce9926d94ed4080486",
      "tree": "4faf91af532cad11e15cd0a36d4d0eab5fa6f3c5",
      "parents": [
        "b18dc5d287f1e71cb35d308a0229a4770ade9cf2",
        "f2081a96be37bde84f27f00585d664d3db675da2"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Oct 09 16:18:40 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 16:18:40 2019 +0000"
      },
      "message": "Merge \"lmkd: Add support for process death notifications\""
    },
    {
      "commit": "b18dc5d287f1e71cb35d308a0229a4770ade9cf2",
      "tree": "e0a920095453488e9ce3614f1d3e98440121e94e",
      "parents": [
        "e3fc9ac7e319a6695c19e37a5be6e64ea46116c4",
        "e76c0d281660f04aa0f3b8778bea351f87dc81fc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 09 15:20:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 15:20:03 2019 +0000"
      },
      "message": "Merge \"Add a link from runtime ns to the neuralnetworks ns\""
    },
    {
      "commit": "e3fc9ac7e319a6695c19e37a5be6e64ea46116c4",
      "tree": "5e41e17d3c786f365b5947087af6423c6059c7e8",
      "parents": [
        "58ee7e3ae10bb6c151468fa723c7c273bbaf3bf5",
        "5398021b9e55207c56e1465827e03eafb2726145"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Oct 09 14:48:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 14:48:38 2019 +0000"
      },
      "message": "Merge \"liblog: remove alarm in logd_reader.cpp\""
    },
    {
      "commit": "60239d20690e4c070bd189e51d9c6eff0a93868e",
      "tree": "5585b8d35b4b5fd8221367bfd8c8165cf9bd053c",
      "parents": [
        "2a46301b488e69541c4b0f759fd4c3b1cfe88311"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 09 13:32:35 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 09 13:32:35 2019 +0100"
      },
      "message": "Move libnative{bridge,loader} to art/\n\nBug: 137364733\nTest: m\nChange-Id: I8fc0796745f7310f477fe9f8b0821586742dd9c0\n"
    },
    {
      "commit": "58ee7e3ae10bb6c151468fa723c7c273bbaf3bf5",
      "tree": "3504cbb4f8e3c8924dbe730d0fd0164cdaa2685e",
      "parents": [
        "2a46301b488e69541c4b0f759fd4c3b1cfe88311",
        "9062bb42691918ba4b55f780f14431c50673d154"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Oct 09 12:06:07 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 12:06:07 2019 +0000"
      },
      "message": "Merge \"Continue without DEX support if libdexfile_external.so fails to load.\""
    },
    {
      "commit": "e76c0d281660f04aa0f3b8778bea351f87dc81fc",
      "tree": "56cea2c7c5b402648498179e0c587460ff9bd099",
      "parents": [
        "5d7969b58a8e1d34af28f32829164f3571fb9378"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Oct 09 16:40:15 2019 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Oct 09 07:43:52 2019 +0000"
      },
      "message": "Add a link from runtime ns to the neuralnetworks ns\n\nlibneuralnetworks.so could be preloaded. In that case, it should be\naccessible from libnativeloader which runs in the art namespace.\n\nBug: 141847343\nBug: 142089311\nTest: m, cheets2 boots\nChange-Id: I8710b624dff131f5cb797d53915f6597e3017c34\n"
    },
    {
      "commit": "2a46301b488e69541c4b0f759fd4c3b1cfe88311",
      "tree": "9d6a43768961297342416b2c77de11eb3da258d7",
      "parents": [
        "5d7969b58a8e1d34af28f32829164f3571fb9378",
        "a65f314e176dd5386e67cf9fb655dae7d7e84bf1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 09 07:43:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 07:43:46 2019 +0000"
      },
      "message": "Merge \"Prepare for libnative{bridge,loader} moving to art/\""
    },
    {
      "commit": "f142c4dd415f06efd546823cb8c89d423cef8cdc",
      "tree": "d567d911baeaa0969de51eb04ec1aaa83034ceeb",
      "parents": [
        "dbc80cc7efa2d816f8c3257f41138663516d4407"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Tue Oct 08 12:54:13 2019 -0700"
      },
      "committer": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Tue Oct 08 21:36:03 2019 -0700"
      },
      "message": "Export ion_4.12.h and ion_4.19.h\n\nAlso, clean-up duplicate copies of the header files.\n\nBug: 140916230\nTest: make, ./ion-unit-tests\nChange-Id: Iab06ba622ab1d50e902ae20411bae73d0b00bbc7\n"
    },
    {
      "commit": "11dc734a06bd189de8cb6bccf4efd636fad68313",
      "tree": "9d56990c654d1439c06b4f81a9c9c67578966309",
      "parents": [
        "f2081a96be37bde84f27f00585d664d3db675da2"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jul 19 10:55:39 2019 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Oct 08 18:15:34 2019 -0700"
      },
      "message": "lmkd: Track processes using pidfds\n\nlmkd uses PIDs to track processes, however occasionally a PID of a process\nmight be reused without lmkd detecting that. This can happen if originally\nregistered process crashes, PID numbers wrap around and the same PID gets\nreused for a different process. In this situation lmkd might kill a wrong\nprocess. To prevent this issue from occurring lmkd will track processes\nusing their pidfd. During process registration lmkd calls sys_pidfd_open\nand stores returned pidfd with the process record. Returned pidfd will not\nbe reused until lmkd closes it which happens only after the process is\nunregistered. This way lmkd ensures that process identification is unique\nand can\u0027t be reused.\n\nBug: 135608568\nTest: lmkd_unit_test with and without pidfd kernel support\nChange-Id: Ida10ea13905c250e47f792cdd6bd2e65aeaa3709\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "f2081a96be37bde84f27f00585d664d3db675da2",
      "tree": "64988265948ff2768c6fda10ea1a2fb6201909ec",
      "parents": [
        "5d7969b58a8e1d34af28f32829164f3571fb9378"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jun 26 17:56:01 2019 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Oct 08 18:15:12 2019 -0700"
      },
      "message": "lmkd: Add support for process death notifications\n\nWith pidfd polling support lmkd can detect process death without periodic\npolling. Implement mechanism to detect kernel pidfd support using\npidfd_open syscall existence as an indicator. Implement the logic to use\npidfd to wait for process death.\n\nBug: 135608568\nTest: lmkd_unit_test with and without pidfd kernel support\nChange-Id: Ic6db7e50893534467f5130a7f998b66fb4451272\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "5398021b9e55207c56e1465827e03eafb2726145",
      "tree": "f5d1b7a3bf214e3c5d2556e1ab3d97839f51e269",
      "parents": [
        "c5f8b3925b4ecd1b61caaf4a72d1a0bbc0fc0193"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 09:05:26 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 13:05:55 2019 -0700"
      },
      "message": "liblog: remove alarm in logd_reader.cpp\n\nThere is an alarm() call that provides a 30 second timeout in case\nlogd is unavailable.  The main reason for this is in the case that logd\nis crashing, debuggerd is ptrace\u0027ing logd, and tombstoned is\nattempting to dump log messages.  In this case, with no other checks\nand without this alarm, tombstoned will deadlock when dumping log\nmessages.\n\nHowever, tombstoned already has two mechanisms to prevent the above\nsituation from happening:\n1) It checks that the thread name that is is dumping is either logd or\n   starts with \"logd.\" and skips dumping logs in this case.\n2) It does not dump logs if it is running in process for any process.\n\nCalling alarm() or modifying signal handlers from general purpose\nlibraries is not recommended either, so without a strong reason to\nkeep this, this change removes it.\n\nThis also shortens the liblog.wrap_mode_blocks test time, since the 30\nsecond issue that it ensures does not happen has been fundamentally\nremoved.\n\nTest: `kill -8 `pidof logd`` succeeds without delay\nTest: liblog, logd unit tests\nChange-Id: Id8a40544645d220e49f7ba299201af80a0c44de9\n"
    },
    {
      "commit": "5d7969b58a8e1d34af28f32829164f3571fb9378",
      "tree": "8a01d0a3e67960c53469a90b5da20a8244811ffa",
      "parents": [
        "c48c2afa1ec76c187b81cd677c0afc7392efd4f2",
        "29d0e8936431479617b9576b8d741bf83f500702"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 19:24:02 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 19:24:02 2019 +0000"
      },
      "message": "Merge \"liblog: remove code checking for fd \u003d 0\""
    },
    {
      "commit": "9062bb42691918ba4b55f780f14431c50673d154",
      "tree": "135793557fa8cdf791b4cd3ddf96bfacfc9e9562",
      "parents": [
        "4d7d903e2b3191f4a3688f3631bfb2db11ec8088"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Fri Oct 04 01:28:43 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 08 19:21:45 2019 +0100"
      },
      "message": "Continue without DEX support if libdexfile_external.so fails to load.\n\nlibunwindstack may be used in situations where we cannot guarantee that\nlibdexfile_external.so is available, e.g. from libc_malloc_debug.so in the\nbootstrap Bionic, or in APEXes with incomplete linker configs.\n\nTest: atest libunwindstack_unit_test\nTest: atest --host libunwindstack_unit_test\nTest: rm -f out/host/linux-x86/lib*/libdexfile_external.so \u0026\u0026 \\\n  out/host/linux-x86/nativetest64/libunwindstack_unit_test/libunwindstack_unit_test\n  (check that DexFile(s)Test tests fail without abort)\nBug; 139408016\nChange-Id: I7eeee77ab363d9d39412ece2038ce786394bb34f\n"
    },
    {
      "commit": "c48c2afa1ec76c187b81cd677c0afc7392efd4f2",
      "tree": "27bb77501583efe4b9aad0210f7b8184c7243f85",
      "parents": [
        "4d7d903e2b3191f4a3688f3631bfb2db11ec8088",
        "819f13116e25c2724a7daeed9afb3adb2d027f5b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 08 17:41:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 17:41:25 2019 +0000"
      },
      "message": "Merge \"Handle when bias is different in elf headers.\""
    },
    {
      "commit": "819f13116e25c2724a7daeed9afb3adb2d027f5b",
      "tree": "85e5d2e80bb63bf0bdaef49823079b9323268572",
      "parents": [
        "6c1668d6600da00aefabd245430d68c395e4b207"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 03 13:35:48 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 08 17:36:06 2019 +0000"
      },
      "message": "Handle when bias is different in elf headers.\n\nThe original code assumed that the load bias in the program headers\nwould be exactly the same as in eh_frame/eh_frame_hdr/debug_frame.\n\nThis isn\u0027t guaranteed, so add a section bias for use when creating\na DwarfSection. In addtion, make the load bias and section bias\na signed value. There is no reason that this value needs to be positive,\nso don\u0027t force it to be.\n\nAdd a new offline test that has a different load bias in eh_frame than\nin the executable load.\n\nAdd additional unit tests to verify the load bias values are set properly.\n\nClean up the tests in ElfInterfaceTest, making all tests names follow the\nsame convention.\n\nBug: 141888859\nBug: 142094469\n\nTest: New units and old unit tests pass on host and taimen.\nChange-Id: Ib878123ab5545f0f315c749cfe0d27b012d873ee\n"
    },
    {
      "commit": "29d0e8936431479617b9576b8d741bf83f500702",
      "tree": "11c5b6a0e7e2cad282126aa27d8ddead6ccfd4f9",
      "parents": [
        "c5f8b3925b4ecd1b61caaf4a72d1a0bbc0fc0193"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 10:18:20 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 08 10:18:20 2019 -0700"
      },
      "message": "liblog: remove code checking for fd \u003d 0\n\nFix a typo where I check socket()\u0027s return value for 0 instead of -1\nas an error.\n\nRemove code that checks if socket() returns 0 as the actual fd that it\nreturns.  This should not happen in any well formed program.\n\nTest: liblog unit tests\nChange-Id: I1d878e85d9a39155d68c6c84e9cf9b0db8d1b3a4\n"
    },
    {
      "commit": "4d7d903e2b3191f4a3688f3631bfb2db11ec8088",
      "tree": "86208667f86d72b22903d0c51e20fc9c70ad9eb0",
      "parents": [
        "f1933c910dc4bb305ceb4d96ab2f56f099d24a95",
        "636ebc9b3b2ecbfd4bb56714d04f2526dc0251fa"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 08 17:13:59 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 17:13:59 2019 +0000"
      },
      "message": "Merge \"init: actually report which signal is causing the reboot.\""
    },
    {
      "commit": "a65f314e176dd5386e67cf9fb655dae7d7e84bf1",
      "tree": "b525341f82b3724d4331898a0827bf83c6e70959",
      "parents": [
        "f1933c910dc4bb305ceb4d96ab2f56f099d24a95"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 08 16:42:58 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Oct 08 16:44:44 2019 +0100"
      },
      "message": "Prepare for libnative{bridge,loader} moving to art/\n\nAdd temporary public visibility for libraries.\n\nUpdate bpfmt for ART\u0027s repohooks.\n\nBug: 137364733\nTest: m nothing\nTest: copy libs to art/, create a CL, run repohooks, m nothing.\n\nChange-Id: Ib9a280136e4b992fe17b8943cf404c9c803efb8d\n"
    },
    {
      "commit": "f1933c910dc4bb305ceb4d96ab2f56f099d24a95",
      "tree": "d76820f1a7c2f6e3ee31ed93096c1f8284852b7b",
      "parents": [
        "5bbe4a1b2639d053a6a73dcce488d19ff44377fc",
        "ba6968e63618ab5e37d3fb163e9ea27dc0aa3247"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Tue Oct 08 14:42:36 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 14:42:36 2019 +0000"
      },
      "message": "Merge \"Add a skeleton of userspace reboot\""
    },
    {
      "commit": "5bbe4a1b2639d053a6a73dcce488d19ff44377fc",
      "tree": "78b9a7b4b5cece92c99e3960d36412724e8491c0",
      "parents": [
        "c14b27f22d5263d049b31c18007d7c8f57cbde3d",
        "34282df8bb6b82a2db06b3ac0652256e25ed839b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 08 14:24:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 14:24:41 2019 +0000"
      },
      "message": "Merge \"[liblog] fix -Wreorder-init-list\""
    },
    {
      "commit": "ba6968e63618ab5e37d3fb163e9ea27dc0aa3247",
      "tree": "76b1ee0d67fbc509eec1ff62f4f6fc264f4c3a7f",
      "parents": [
        "f2098870c11249aee09ba8d52b23cca6b864dc1b"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Oct 07 16:26:33 2019 +0100"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Tue Oct 08 12:16:06 2019 +0100"
      },
      "message": "Add a skeleton of userspace reboot\n\nThis CL only draws boundaries between userspace and full reboots, and\nadds some functionality that will be required for userspace reboot:\n\n* Whenever device is shutting down is now controlled in reboot.cpp,\n  since during userspace reboot this state can change.\n* Now it\u0027s also possible to restart handling of control messages inside\n  property service. In case of userspace reboot, init will restart it\n  after stopping post-data services.\n* New userspace-reboot-requested trigger is added similar to shutdown\n  one for full reboot.\n\nTest: adb reboot\nTest: adb reboot userspace\nBug: 135984674\nChange-Id: Id55a53ba781d2b90ce40449037b6d8d47e72c476\n"
    },
    {
      "commit": "c14b27f22d5263d049b31c18007d7c8f57cbde3d",
      "tree": "e5d6766f45f5e9f282b59050e8d239be185e411e",
      "parents": [
        "6c1668d6600da00aefabd245430d68c395e4b207",
        "39e65d5b05a321776458e862d098f680b94d44e2"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 08 11:06:05 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 11:06:05 2019 +0000"
      },
      "message": "Merge \"Ensure all namespaces have links to /system/lib(64) for the sanitizer libs.\""
    },
    {
      "commit": "6c1668d6600da00aefabd245430d68c395e4b207",
      "tree": "3d4661638822e5acc55e87214475e14bf3c67fe0",
      "parents": [
        "b7dee5d14879377f16236c26815ae495b5411727",
        "ae9749a29aae67897c22174bc15d2bf36700fbab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 08 04:44:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 04:44:58 2019 +0000"
      },
      "message": "Merge \"libutils: flattenable deprecation comment\""
    },
    {
      "commit": "34282df8bb6b82a2db06b3ac0652256e25ed839b",
      "tree": "bbccceb3913730820c92aa5d5b3d19bce73b665c",
      "parents": [
        "b7dee5d14879377f16236c26815ae495b5411727"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Oct 07 17:31:18 2019 -0700"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Oct 07 21:28:43 2019 -0700"
      },
      "message": "[liblog] fix -Wreorder-init-list\n\nBug: 139945549\nTest: mm\nChange-Id: I57de1a650d2c85dfb4f8817bbc80eb2296eaf568\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "b7dee5d14879377f16236c26815ae495b5411727",
      "tree": "f56868484091ab7136e67c2df6231571ffa35d00",
      "parents": [
        "59a9cef6a06c24e5d60b7505c4b9932cd170640e",
        "752a1e040820e74b6f1b8e998656656bc6a35448"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 08 03:33:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 03:33:29 2019 +0000"
      },
      "message": "Merge \"Rename the runtime linker namespace following ART/Runtime APEX split.\""
    },
    {
      "commit": "636ebc9b3b2ecbfd4bb56714d04f2526dc0251fa",
      "tree": "9b10ba5d43e968d599a8260484c48fd0994a2017",
      "parents": [
        "d0accefc0529873ea5d1724330ad995b26f372c0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 07 18:16:23 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 07 18:16:23 2019 -0700"
      },
      "message": "init: actually report which signal is causing the reboot.\n\nIt wasn\u0027t clear to me why init was rebooting until I saw that it was\nSIGABRT, which then made me read through earlier log spam to work out\nwhat was actually unhappy (the SELinux compiler, in my case).\n\nTest: worked out why init was rebooting my device\nChange-Id: I605d8956213c4c23711073fd4b0ff99562b7f351\n"
    },
    {
      "commit": "ae9749a29aae67897c22174bc15d2bf36700fbab",
      "tree": "82782120cefb8a14743a208613ec7faecc9ac385",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Oct 07 17:37:22 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Oct 07 18:14:14 2019 -0700"
      },
      "message": "libutils: flattenable deprecation comment\n\nThis class isn\u0027t used very much and it isn\u0027t supported by AIDL. In order\nto recommend new users against this and recommend an alternative, added\na comment here.\n\nBug: 142282873\nTest: N/A\n\nChange-Id: If7c6c9fac6c868ed6a515e658de752092d25d5f9\n"
    },
    {
      "commit": "59a9cef6a06c24e5d60b7505c4b9932cd170640e",
      "tree": "e50cc402df623b371abd7b180e87c35026d7a1d4",
      "parents": [
        "4ad0da974e6a9045adbec0ff752188237f1b1670",
        "7f5ec44dbc67fa69066f17b656de5b4edd772d5c"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Tue Oct 08 00:57:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 08 00:57:41 2019 +0000"
      },
      "message": "Merge \"Disable to build ld.config.txt with previous vndk version\""
    },
    {
      "commit": "4ad0da974e6a9045adbec0ff752188237f1b1670",
      "tree": "3cfebc1d8ae83fc184eadb2f76b36844f3f18cf0",
      "parents": [
        "d72d846754b11c13d6aa7b6024176bc834d0b5d5",
        "1be2a2ce8d3eb0a9face6f8d289778cbedf74641"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 07 23:12:56 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 23:12:56 2019 +0000"
      },
      "message": "Merge \"init: drop unused direct dependency on libcrypto.so\""
    },
    {
      "commit": "d72d846754b11c13d6aa7b6024176bc834d0b5d5",
      "tree": "4e803f8fb3498ba84ca070b9dab7e305297fab6f",
      "parents": [
        "69627e52b9cd071bc07e490f77ae9860b452cd9c",
        "ca0790d3f70b0a101c95760021ea235c44cacbf4"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Oct 07 22:53:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 22:53:49 2019 +0000"
      },
      "message": "Merge \"lmkd: Fix string null termination in proc_get_size and proc_get_name\""
    },
    {
      "commit": "69627e52b9cd071bc07e490f77ae9860b452cd9c",
      "tree": "e96134cea2d04ac303cf1ce483feb0b82db9e94e",
      "parents": [
        "07577e3778d73af4b111cee3260c09f7193f3276",
        "7fb14071252d7fcaab028dc3cbbe2bbc0a4f6c51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 07 22:29:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 22:29:32 2019 +0000"
      },
      "message": "Merge \"adb: log more detail on failure to read keys.\""
    },
    {
      "commit": "07577e3778d73af4b111cee3260c09f7193f3276",
      "tree": "2d6019f84b5493055b7346e93bbdab1d912fa031",
      "parents": [
        "736557c5105c2bc338917ff4b3b668bceeb86c0d",
        "1384e7a7063f080288d3bcf3a14e77fda19109b0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 07 21:47:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 21:47:26 2019 +0000"
      },
      "message": "Merge \"Fix explicit constructor warning from cpplint\""
    },
    {
      "commit": "ca0790d3f70b0a101c95760021ea235c44cacbf4",
      "tree": "9e31e54d89bba11c0f964ecd168eb1d4d30526f7",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Oct 04 16:06:55 2019 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Oct 07 12:50:38 2019 -0700"
      },
      "message": "lmkd: Fix string null termination in proc_get_size and proc_get_name\n\nFix string null termination and cleanup proc_get_size and proc_get_name\nfunctions.\n\nBug: 74119935\nTest: lmkd_unit_test\nChange-Id: Ied176b8d347b672b91866ac59a813d4ff349930a\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "1be2a2ce8d3eb0a9face6f8d289778cbedf74641",
      "tree": "86a6be820c889ffff3ac9bda97c3696be494f66e",
      "parents": [
        "baca43b3d87dcf5db4ba35473dbd80a90425184b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Oct 07 20:30:58 2019 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Oct 07 19:34:16 2019 +0000"
      },
      "message": "init: drop unused direct dependency on libcrypto.so\n\nWhen I previously tried this in https://r.android.com/1108553 , it broke on\nsome targets but I think that may have been fixed. I\u0027m trying it again now\nto see if this now passes treehugger and sticks.\n\nNote: There is still an indirect dependency via libfs_mgr.\n\nBug: 137267623\nTest: Treehugger\nChange-Id: I2d8b909e451bb64a1eb0719a145dfd74da1dcbad\n"
    },
    {
      "commit": "736557c5105c2bc338917ff4b3b668bceeb86c0d",
      "tree": "b911a386d7dfd48a6c9a027f728a7b905adbbfb8",
      "parents": [
        "d0accefc0529873ea5d1724330ad995b26f372c0",
        "eaadc9d4266c2c20274d9d4f4a8ad55c48e155f5"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Oct 07 19:09:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 19:09:43 2019 +0000"
      },
      "message": "Merge changes from topic \"fscrypt-key-mgmt-improvements\"\n\n* changes:\n  init/fscrypt_init_extensions: support setting v2 encryption policies\n  fs_mgr_fstab: support specifying encryption policy version in fstab\n"
    },
    {
      "commit": "d0accefc0529873ea5d1724330ad995b26f372c0",
      "tree": "0f9f01ad251e724aa33deced95bf105265b9c2d3",
      "parents": [
        "c5f8b3925b4ecd1b61caaf4a72d1a0bbc0fc0193",
        "a726e460aa9ddbd9896042692936fe447d991fd9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 07 17:47:45 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 17:47:45 2019 +0000"
      },
      "message": "Merge \"Change logpersist.start to sh_binary\""
    },
    {
      "commit": "c5f8b3925b4ecd1b61caaf4a72d1a0bbc0fc0193",
      "tree": "e840edbaf973de99f1866f2053b5e17bbb59589e",
      "parents": [
        "dfc6ea334ab582fbb08d33c6e2b6263ca6ab869b",
        "ff2723e647dc7992286907f37811d08659512ec0"
      ],
      "author": {
        "name": "Ashwini Oruganti",
        "email": "ashfall@google.com",
        "time": "Mon Oct 07 16:37:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 16:37:35 2019 +0000"
      },
      "message": "Merge \"Show bug_map links on user builds\""
    },
    {
      "commit": "dfc6ea334ab582fbb08d33c6e2b6263ca6ab869b",
      "tree": "2134c84c93c323ee03b9309c3cf69085cd9ec5b4",
      "parents": [
        "baca43b3d87dcf5db4ba35473dbd80a90425184b",
        "7e99b225276a25b6c9b54f804d46388f4dc89d1f"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Oct 07 16:36:09 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 16:36:09 2019 +0000"
      },
      "message": "Merge \"liblog: run in isolated mode, disable flaky tests\""
    },
    {
      "commit": "7fb14071252d7fcaab028dc3cbbe2bbc0a4f6c51",
      "tree": "45d4fd19fa6804ce168fb9cf9a0c7ac463b041ae",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 07 08:21:58 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Oct 07 08:25:42 2019 -0700"
      },
      "message": "adb: log more detail on failure to read keys.\n\nBefore we just got \"Failed to read key\". After:\n\n  adb E 10-07 08:20:14 258249 258249 auth.cpp:176] Failed to read key \\\n    from \u0027/usr/local/google/home/enh/.android/adbkey\u0027\n  94390117965240:error:0900006e:PEM routines:OPENSSL_internal:NO_START_LINE:\\\n    external/boringssl/src/crypto/pem/pem_lib.c:622:Expecting: ANY PRIVATE KEY\n\nAlso fix the misleading \"Failed to generate\" message from adb_auth_init.\n\nBug: http://b/141715453\nTest: manually corrupted key; see above\nChange-Id: I6732ee6b683c8548d596d7c22eeddab8ce9a3cea\n"
    },
    {
      "commit": "1384e7a7063f080288d3bcf3a14e77fda19109b0",
      "tree": "29d8bce0e582f30fb056af13ab61ca868f91f8f9",
      "parents": [
        "baca43b3d87dcf5db4ba35473dbd80a90425184b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 07 15:28:45 2019 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 07 15:28:45 2019 +0100"
      },
      "message": "Fix explicit constructor warning from cpplint\n\nBug: 137364733\nTest: m\nChange-Id: Ia3badccda5e6ca139d889c3c7b5aa8a9ab79ef38\n"
    },
    {
      "commit": "baca43b3d87dcf5db4ba35473dbd80a90425184b",
      "tree": "182590277742e3c3adacc9c46569220528fca45e",
      "parents": [
        "f2098870c11249aee09ba8d52b23cca6b864dc1b",
        "72d249143de1b878606f334ba9ad2e52024a746f"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Oct 07 13:51:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 13:51:25 2019 +0000"
      },
      "message": "Merge \"Make init.updatable_crashing a read/write property\""
    },
    {
      "commit": "39e65d5b05a321776458e862d098f680b94d44e2",
      "tree": "50796e380fc4e188dc33c91d5fe0e24dbef78060",
      "parents": [
        "752a1e040820e74b6f1b8e998656656bc6a35448"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Sep 30 23:15:56 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Oct 07 12:14:57 2019 +0100"
      },
      "message": "Ensure all namespaces have links to /system/lib(64) for the sanitizer libs.\n\nThis CL updates ld.config.vndk_lite.txt, which still is not handled by\nlinkerconfig.\n\nTest: presubmits\nBug: 140790209\nChange-Id: Ia822f86aa0b853656555ade0bed191e07c07d09d\n"
    },
    {
      "commit": "752a1e040820e74b6f1b8e998656656bc6a35448",
      "tree": "0a9a60b51600dfd9f3d9eb4bf2f666cf2956f54b",
      "parents": [
        "f2098870c11249aee09ba8d52b23cca6b864dc1b"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Tue Oct 01 00:41:21 2019 +0100"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Mon Oct 07 12:14:57 2019 +0100"
      },
      "message": "Rename the runtime linker namespace following ART/Runtime APEX split.\n\nRemove the kludge in libnativeloader to deal with the inconsistency wrt the\nname of the APEX package.\n\nTest: Build \u0026 boot\nTest: atest system/core/libnativeloader (on cf_x86_phone)\nBug: 139408016\nChange-Id: I6115b49237c78c2ea4aa943ca4fe0b296b5a2b62\n"
    },
    {
      "commit": "7f5ec44dbc67fa69066f17b656de5b4edd772d5c",
      "tree": "0eaf72d295c4a9287b4d97a0cc82b784cca7bd69",
      "parents": [
        "2e7b3df6860291aaf2ee7fb71d3061e1998b5d46"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 17:30:42 2019 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 17:30:42 2019 +0900"
      },
      "message": "Disable to build ld.config.txt with previous vndk version\n\nAs generic ld.config.txt will be covered with linker config generator,\nld.config.txt with previous vndk build is no longer required. This\nchange removes this part so there will be no unnecessary build step for\nmultiple vndk version build. Also vndk snapshot will have vndkcore and\nvndkprivate files with version number, update_and_install_ld_config.mk\nhas been updated temporary for vndk_lite build.\n\nBug: 142072719\nTest: m -j passed with aosp_arm64 build\nChange-Id: Ia7529c80b179dc262c6e7646a34c2a05a0d9be84\n"
    },
    {
      "commit": "f2098870c11249aee09ba8d52b23cca6b864dc1b",
      "tree": "789b5465329f3de2b72db5beee3f0a462f472975",
      "parents": [
        "71f124dc546a14aa07ed329c6634352e7910140d",
        "2e7b3df6860291aaf2ee7fb71d3061e1998b5d46"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 05:48:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 05:48:03 2019 +0000"
      },
      "message": "Merge \"Temporary add ld.config.txt build\""
    },
    {
      "commit": "71f124dc546a14aa07ed329c6634352e7910140d",
      "tree": "12f1c5b4cee5996e947ec1c287f7e60b60d43293",
      "parents": [
        "e5013de9acd0e5e306d260294b998f840ed7fc1e",
        "8ec6f59e624802732b59139630e877a9e15b1b73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 07 03:36:14 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 03:36:14 2019 +0000"
      },
      "message": "Merge \"Add a link from runtime ns to the neuralnetworks ns\""
    },
    {
      "commit": "2e7b3df6860291aaf2ee7fb71d3061e1998b5d46",
      "tree": "044382d83b3bbfe9f9625a2fdee3e3ea8c68903f",
      "parents": [
        "e5013de9acd0e5e306d260294b998f840ed7fc1e"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 11:10:37 2019 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 11:10:37 2019 +0900"
      },
      "message": "Temporary add ld.config.txt build\n\nLast generic ld.config.txt deprecation caused build error from\nbuild_test build because of invalid ld.config.txt build target. To fix\nthis ld.config.txt build target should be enabled until\nld.config.vndklite.txt and ld.config.legacy.txt also become deprecated.\n\nBug: 138920271\nTest: m ld.config.txt passed\nTest: build_test passed\nChange-Id: I7f45ee66d3ed70a1a698261e1e801a30729f592f\n"
    },
    {
      "commit": "e5013de9acd0e5e306d260294b998f840ed7fc1e",
      "tree": "dc9e51c76394f61c791f0912ae6c1949d7ecfd63",
      "parents": [
        "ac6672d49f677de1d21644f91664179a294ed713",
        "f064a1dd8c829571c504c99475a14255d66ff5a7"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Oct 07 01:07:58 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 07 01:07:58 2019 +0000"
      },
      "message": "Merge \"Deprecate ld.config.txt for fully treblelized devices\""
    },
    {
      "commit": "8ec6f59e624802732b59139630e877a9e15b1b73",
      "tree": "63a02bb816a4ce295753fedad2ba90d255c8cddc",
      "parents": [
        "ac6672d49f677de1d21644f91664179a294ed713"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Oct 07 09:30:51 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Oct 07 09:34:41 2019 +0900"
      },
      "message": "Add a link from runtime ns to the neuralnetworks ns\n\nlibneuralnetworks.so could be preloaded. In that case, it should be\naccessible from libnativeloader which runs in the runtime namespace.\n\nBug: 141847343\nBug: 142111172\nTest: m, marlin/sailfish boots\nChange-Id: I5b2f3073d0711d6049b4e1e1bd0bcc403949fe14\n"
    },
    {
      "commit": "a726e460aa9ddbd9896042692936fe447d991fd9",
      "tree": "04432d27daa28f4f0886d0632dbf8c0b28cff9c6",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Fri Oct 04 20:42:39 2019 -0700"
      },
      "committer": {
        "name": "Rashed Abdel-Tawab",
        "email": "rashed@linux.com",
        "time": "Fri Oct 04 20:42:39 2019 -0700"
      },
      "message": "Change logpersist.start to sh_binary\n\nThis is a script, should be sh_binary\n\nTest: m -j logpersist.start, check symlinks\nChange-Id: I724abab898285c308291091ea8c76f5b93e4aaa5\n"
    },
    {
      "commit": "ac6672d49f677de1d21644f91664179a294ed713",
      "tree": "5332dc94192c1705b4664be4a73729de686726bc",
      "parents": [
        "59942d7e521fe8d796aedcbe4538479067f74ab1",
        "dea8c9c1ac3f42e60df19f51f60cc9712b1fb341"
      ],
      "author": {
        "name": "Bill Peckham",
        "email": "bpeckham@google.com",
        "time": "Sat Oct 05 03:14:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 05 03:14:12 2019 +0000"
      },
      "message": "Merge \"Moving recovery resources from /system to /vendor\""
    },
    {
      "commit": "59942d7e521fe8d796aedcbe4538479067f74ab1",
      "tree": "38f27da7a730bf47917d4dd324f8ff18c6567456",
      "parents": [
        "db11fdcca3484573b72f63bea5fa0abb32d20fc9",
        "dbc80cc7efa2d816f8c3257f41138663516d4407"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Fri Oct 04 22:52:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 22:52:48 2019 +0000"
      },
      "message": "Merge changes from topic \"b/140916230\"\n\n* changes:\n  Update ion_4.19.h with heap IDs\n  Add a test to invoke ion_is_using_modular_heaps()\n  Add libion API to check if modular heaps are being used\n  create ion_4.19.h\n"
    },
    {
      "commit": "7e99b225276a25b6c9b54f804d46388f4dc89d1f",
      "tree": "109ec1d3a41a193a5a1e15bebad550368cbb302f",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 04 13:05:50 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Oct 04 13:05:50 2019 -0700"
      },
      "message": "liblog: run in isolated mode, disable flaky tests\n\nWe disabled then re-enabled a set of tests believing that they were\nstable; they were not, so we disable them again while we investigate\ntheir stability.\n\nA majority of tests filter the logs from logd based on pid, so running\nin isolation helps them not see unexpected information from other test\nruns.\n\nBug: 138876729\nBug: 142041379\n\nTest: run via gtest with gtest_repeat\u003d10 without failure\nTest: run via atest 5x times without failure\nTest: observe that isolated applies to both gtest and atest\nChange-Id: I757d52dd3233323be9519625868b2fd2aaa41aeb\n"
    },
    {
      "commit": "dbc80cc7efa2d816f8c3257f41138663516d4407",
      "tree": "ba77aa62cceefc6ab21231136c05cc4d85388be2",
      "parents": [
        "25060535fac5ec166cd35a76a6a470ea8f7c492f"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Fri Oct 04 10:34:05 2019 -0700"
      },
      "committer": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Fri Oct 04 10:37:43 2019 -0700"
      },
      "message": "Update ion_4.19.h with heap IDs\n\nsystem/core/libion/original-kernel-headers/linux/ion_4.19.h was\nedited manually and the following command was run to generate\nsystem/core/libion/ion_4.19.h\n\nbionic/libc/kernel/tools/clean_header.py\n-ksystem/core/libion/original-kernel-headers/linux ion_4.19.h\n\u003e system/core/libion/ion_4.19.h\n\nBug: 140916230\nTest: make, ion-unit-tests\nChange-Id: I6b66bed7e3b11c5b7e80bb0b937d620510f0e172\n"
    },
    {
      "commit": "ff2723e647dc7992286907f37811d08659512ec0",
      "tree": "73b8bfbc3d2b49ea383855ee3268e2255dd7261d",
      "parents": [
        "db11fdcca3484573b72f63bea5fa0abb32d20fc9"
      ],
      "author": {
        "name": "Ashwini Oruganti",
        "email": "ashfall@google.com",
        "time": "Fri Oct 04 10:36:23 2019 -0700"
      },
      "committer": {
        "name": "Ashwini Oruganti",
        "email": "ashfall@google.com",
        "time": "Fri Oct 04 10:36:23 2019 -0700"
      },
      "message": "Show bug_map links on user builds\n\nbug_map data is now included on user builds.\n\nBug: 141695494\nTest: Generated a tracked denial on a user build and verified that the\nbug number shows up in the logs.\n\nChange-Id: If2afa861acece63573973fe42d504d1d41964a4f\n"
    },
    {
      "commit": "db11fdcca3484573b72f63bea5fa0abb32d20fc9",
      "tree": "c5bd26cf2b545440c72d096fd9518a7add6e517b",
      "parents": [
        "36749bd6d08e55b46cc65f35ee8dc0f83f3c508c",
        "63f97b6f49b8ccb52a687847bff30d6edcab57e3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 04 16:13:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 16:13:06 2019 +0000"
      },
      "message": "Merge \"fs_mgr: overlayfs: fsck scratch filesystem\""
    },
    {
      "commit": "72d249143de1b878606f334ba9ad2e52024a746f",
      "tree": "68746a548d9be5ab7bb9159d3e19dff5e0d8e4c7",
      "parents": [
        "36749bd6d08e55b46cc65f35ee8dc0f83f3c508c"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Fri Oct 04 16:45:56 2019 +0100"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Fri Oct 04 16:45:56 2019 +0100"
      },
      "message": "Make init.updatable_crashing a read/write property\n\nThis property will need to be reset during userspace reboot, so it can\u0027t\nbe a read-only property anymore.\n\nTest: builds\nBug: 135984674\nChange-Id: I4e079b537cb5c725ac0b652804fdc801a6facfcf\n"
    },
    {
      "commit": "36749bd6d08e55b46cc65f35ee8dc0f83f3c508c",
      "tree": "23686d40249c966f9cb85e1a561f9dd2c151ac0b",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4",
        "5fcc2b5d71adf428c28bbfe570d467ee7984120f"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Oct 04 01:59:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 04 01:59:23 2019 +0000"
      },
      "message": "Merge \"Convert SnapshotStatus to proto\""
    },
    {
      "commit": "dea8c9c1ac3f42e60df19f51f60cc9712b1fb341",
      "tree": "2b72a023de96c3435052ba0bdb42d7f060cad32c",
      "parents": [
        "58ae8d47801e17882b24231b241f9496952a28b4"
      ],
      "author": {
        "name": "Bill Peckham",
        "email": "bpeckham@google.com",
        "time": "Tue Sep 17 16:30:37 2019 -0700"
      },
      "committer": {
        "name": "Bill Peckham",
        "email": "bpeckham@google.com",
        "time": "Fri Oct 04 00:04:08 2019 +0000"
      },
      "message": "Moving recovery resources from /system to /vendor\n\nThis change is part of a topic that moves the recovery resources from the\nsystem partition to the vendor partition, if it exists, or the vendor directory\non the system partition otherwise. The recovery resources are moving from the\nsystem image to the vendor partition so that a single system image may be used\nwith either an A/B or a non-A/B vendor image. The topic removes a delta in the\nsystem image that prevented such reuse in the past.\n\nThe recovery resources that are moving are involved with updating the recovery\npartition after an update. In a non-A/B configuration, the system boots from\nthe recovery partition, updates the other partitions (system, vendor, etc.)\nThen, the next time the system boots normally, a script updates the recovery\npartition (if necessary). This script, the executables it invokes, and the data\nfiles that it uses were previously on the system partition. The resources that\nare moving include the following.\n\n* install-recovery.sh\n* applypatch\n* recovery-resource.dat (if present)\n* recovery-from-boot.p (if present)\n\nThis change moves the recovery resources to vendor in libcutils/fs_config.cpp\nand removes the flash_recovery service from rootdir/init.rc. This service moved\nto a vendor init.rc file in bootable/recovery/applypatch.\n\nBug: 68319577\nTest: Ensure that recovery partition is updated correctly.\nChange-Id: I492f7989ea8042912e9d0e0eadeaa351affbee13\n"
    },
    {
      "commit": "25060535fac5ec166cd35a76a6a470ea8f7c492f",
      "tree": "2cff2568865123d0f121ae056f564a8f80e88bd0",
      "parents": [
        "d43e79855301e3039a88bace941c66b02645f451"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Thu Oct 03 10:51:21 2019 -0700"
      },
      "committer": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Thu Oct 03 15:05:13 2019 -0700"
      },
      "message": "Add a test to invoke ion_is_using_modular_heaps()\n\nBug: 140916230\nTest: ./ion-unit-tests\n\nChange-Id: I0204b72e49f34d99df96b46229dda2e958a59bee\n"
    },
    {
      "commit": "d43e79855301e3039a88bace941c66b02645f451",
      "tree": "0a1e03234588b97194be920d24b13465544b19d4",
      "parents": [
        "45d4da355cbe5064ab2f60a007c022f15d30ae02"
      ],
      "author": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Fri Sep 06 12:20:32 2019 -0700"
      },
      "committer": {
        "name": "Hridya Valsaraju",
        "email": "hridya@google.com",
        "time": "Thu Oct 03 15:05:13 2019 -0700"
      },
      "message": "Add libion API to check if modular heaps are being used\n\nBug: 140916230\nTest: ./ion-unit-tests\n\nChange-Id: Iabb050a70d9a838f2720c509df4017d6031ce1fe\n"
    }
  ],
  "next": "45d4da355cbe5064ab2f60a007c022f15d30ae02"
}
