)]}'
{
  "log": [
    {
      "commit": "d07d694175ceb9eeba1d8faaedc91c7716889a5a",
      "tree": "ac77408f8217aec7b626c24b4bbfa89fb3ed093b",
      "parents": [
        "40080208c138eccb62ff9476104bf358bd2a2c96",
        "8b83ce6186b6a0a94a18a15066201de508a1fb4e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 04 01:40:37 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 04 01:40:37 2022 +0000"
      },
      "message": "Merge \"Define AIDs for Weaver, Keymint and IdentityCredential applets.\""
    },
    {
      "commit": "40080208c138eccb62ff9476104bf358bd2a2c96",
      "tree": "4a650cea47051463e329b36f0090384de724209a",
      "parents": [
        "242ed1bb20fe31bb3cac183e3fcd13606d653cf6",
        "095c944b48d7a3770d591e37b6422ee12bb86148"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Mar 03 21:18:17 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 21:18:17 2022 +0000"
      },
      "message": "Merge changes I4b9b76c9,I6f329491,I9c783193,I0798cc94\n\n* changes:\n  healthd: Convert multiple private methods into static nonmember functions\n  healthd: Fix readFromFile()\n  healthd: Make initHealthInfo() easier to read\n  healthd: Improve readability of BatteryMonitor::init()\n"
    },
    {
      "commit": "095c944b48d7a3770d591e37b6422ee12bb86148",
      "tree": "4a650cea47051463e329b36f0090384de724209a",
      "parents": [
        "5a7e5083e60b6ce2037edf8e2b90632fb2ebddab"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Wed Mar 02 17:36:34 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Mar 03 18:46:12 2022 +0000"
      },
      "message": "healthd: Convert multiple private methods into static nonmember functions\n\nThe private methods in class BatteryMonitor do not use the \u0027this\u0027\npointer. Hence convert these into static nonmember functions.\n\nTest: Compile-tested only.\nChange-Id: I4b9b76c9697f1db894ba9fb939ce096ee6b7ff3b\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "5a7e5083e60b6ce2037edf8e2b90632fb2ebddab",
      "tree": "bc8a818533a6d9d1cad941046c16d5f22d151810",
      "parents": [
        "024e18f06032583c3e9ba36a376a444ef745080c"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Feb 24 21:40:15 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Mar 03 18:46:12 2022 +0000"
      },
      "message": "healthd: Fix readFromFile()\n\nNot all readFromFile() callers pass an empty string. Make sure that\nreadFromFile() returns 0 (failure) if the *buf argument is not empty and\nif reading fails.\n\nFixes: 3217c5c7d961 (\"batterymonitor: simplify readFromFile and use std::string buffers\")\nTest: Compile-tested only.\nChange-Id: I6f329491f8aa4a6d378eb7c3cbc17038eb6aa64d\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "024e18f06032583c3e9ba36a376a444ef745080c",
      "tree": "a8a7c63272da34f10890c24d1645998b5f3ec72c",
      "parents": [
        "25b2a8de532b632892e6ea70cf8e53277f4a0015"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Feb 24 21:22:07 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Mar 03 18:46:12 2022 +0000"
      },
      "message": "healthd: Make initHealthInfo() easier to read\n\nUse aggregate initialization instead of memberwise initialization. This\npatch does not change any functionality.\n\nTest: Compile-tested only.\nChange-Id: I9c7831936e449aec8a48336b1ee76d26638e4f72\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "25b2a8de532b632892e6ea70cf8e53277f4a0015",
      "tree": "68cb533f96261a8260c8f5efced2ed62c8f12839",
      "parents": [
        "242ed1bb20fe31bb3cac183e3fcd13606d653cf6"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Feb 24 21:51:34 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Mar 03 18:46:12 2022 +0000"
      },
      "message": "healthd: Improve readability of BatteryMonitor::init()\n\nDeclare and assign in a single statement instead of in two separate\nstatements. This patch does not change any functionality.\n\nTest: Compile-tested only.\nChange-Id: I0798cc940f5f2ca329548568ab68e96891521dd8\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "242ed1bb20fe31bb3cac183e3fcd13606d653cf6",
      "tree": "74c47c4c7c063b5689be0378090ed2f8673152a6",
      "parents": [
        "fb81cf765a8b6b2deb03fa6634fd1314788d94cc",
        "45f8837c90a0c63befb848f0427dccade5e41666"
      ],
      "author": {
        "name": "Samiul Islam",
        "email": "samiul@google.com",
        "time": "Thu Mar 03 09:06:28 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 09:06:28 2022 +0000"
      },
      "message": "Merge changes I310feb08,I2b6d6b08\n\n* changes:\n  Rename SupplementalProcess to SdkSandbox\n  Create utility method for calculating supplemental_uid from app_uid\n"
    },
    {
      "commit": "fb81cf765a8b6b2deb03fa6634fd1314788d94cc",
      "tree": "8627b949a0b3cfc859b9bb603f5a5f703c453c5a",
      "parents": [
        "1f2ea5504f86a06ee74e786ff2a2bea9e8540679",
        "8f73f02e43559f353436a499a6401195265b56e9"
      ],
      "author": {
        "name": "Yi-yo Chiang",
        "email": "yochiang@google.com",
        "time": "Thu Mar 03 06:23:14 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 06:23:14 2022 +0000"
      },
      "message": "Merge \"fs_mgr: Fix misleading comment text regarding __ANDROID_RECOVERY__\""
    },
    {
      "commit": "1f2ea5504f86a06ee74e786ff2a2bea9e8540679",
      "tree": "43df41b081398ddd42d36467d9e1cab4fcc1d9f0",
      "parents": [
        "390851dd2919f20ea303561a430e4e4c028d9366",
        "87050874bd616f81bb6bb07fee07c2307f66b301"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Mar 03 05:17:21 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 05:17:21 2022 +0000"
      },
      "message": "Merge \"Document firmware_class.path\""
    },
    {
      "commit": "390851dd2919f20ea303561a430e4e4c028d9366",
      "tree": "feeabc022680995e4ff6bf4b9589a9cf00c5299e",
      "parents": [
        "412eacb7e18ac148ae0275d896310c22db2af9f5",
        "05ffcf2d9ced79ceab787a68fb479dafde7fec30"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Mar 03 05:05:19 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 05:05:19 2022 +0000"
      },
      "message": "Merge \"fs_mgr: Restrict dt fstabs to \u003c Q devices.\""
    },
    {
      "commit": "412eacb7e18ac148ae0275d896310c22db2af9f5",
      "tree": "88811220b3d70f4f1db0217bc5bab3f08d7ab387",
      "parents": [
        "d297b88e3e59695e23387c4634e9febe5c1fc632",
        "e2d9fb2116277be895592afa300eb1598a14bed5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 03 04:25:15 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 04:25:15 2022 +0000"
      },
      "message": "Merge \"Invert history.\""
    },
    {
      "commit": "d297b88e3e59695e23387c4634e9febe5c1fc632",
      "tree": "07e277aa85f259ff22c9c393a5253019ce46fc4f",
      "parents": [
        "4618fa3e2a312563f37dc9e2a8486717732b59f1",
        "d494442f9017cf79f34544941983789a40f430b0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 03 03:35:04 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 03:35:04 2022 +0000"
      },
      "message": "Merge \"inspect_cow: Print OTA ops for debugging\""
    },
    {
      "commit": "4618fa3e2a312563f37dc9e2a8486717732b59f1",
      "tree": "e8e590ba5c4b66a3f9165e237b49ecc4c09cab44",
      "parents": [
        "0326984c426f5ffc5c3af0a6241f9edb468e8482",
        "d49321a6fca33f6015cca12e69a4a5502b276ae5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 03 03:15:04 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 03 03:15:04 2022 +0000"
      },
      "message": "Merge \"libsnapshot: Edit OWNERS file\""
    },
    {
      "commit": "87050874bd616f81bb6bb07fee07c2307f66b301",
      "tree": "6395dd2b6d8c8343a5e1f97634ad901184c0c85b",
      "parents": [
        "0326984c426f5ffc5c3af0a6241f9edb468e8482"
      ],
      "author": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Mar 03 12:13:47 2022 +1100"
      },
      "committer": {
        "name": "Thiébaud Weksteen",
        "email": "tweek@google.com",
        "time": "Thu Mar 03 13:00:20 2022 +1100"
      },
      "message": "Document firmware_class.path\n\nThis kernel command-line parameter may be used to alter the loading of\nfirmware.\n\nBug: 222166126\nTest: n/a\nChange-Id: I6dc1ae92694cf08b11ab6c3c41aa3d62c992a72a\n"
    },
    {
      "commit": "e2d9fb2116277be895592afa300eb1598a14bed5",
      "tree": "1a98b1f783a2efe1c6a4bf56f476992324413c94",
      "parents": [
        "0326984c426f5ffc5c3af0a6241f9edb468e8482"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 03 01:52:13 2022 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 03 01:52:15 2022 +0000"
      },
      "message": "Invert history.\n\nChange logs are usually easier to read when the newest stuff is at the top...\n\nChange-Id: I6ec76e96a6def88e3594949567b4afb397835d7d\n"
    },
    {
      "commit": "d49321a6fca33f6015cca12e69a4a5502b276ae5",
      "tree": "8491622adb9d454fbd088c06d6d27df8c4f2c2e8",
      "parents": [
        "192b5569b004fc54a6f92e45ff5e7d732ec880fa"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Mar 03 01:18:07 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Mar 03 01:18:07 2022 +0000"
      },
      "message": "libsnapshot: Edit OWNERS file\n\nBug: 220991038\nTest: Presubmit\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: If1f3529b731fb19193857e4009de42dc081edbf9\n"
    },
    {
      "commit": "0326984c426f5ffc5c3af0a6241f9edb468e8482",
      "tree": "fece44ffceb73aed36c5d4561ba43ee7ab6f6538",
      "parents": [
        "1e80f2d47db6d568241e85aa13c881e8ebe86c0c",
        "b99d15c529a2d5d6900ed7d82621244a2f512834"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 02 19:20:31 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 19:20:31 2022 +0000"
      },
      "message": "Merge \"healthd: batterymonitor uses AIDL HealthInfo.\""
    },
    {
      "commit": "45f8837c90a0c63befb848f0427dccade5e41666",
      "tree": "42134d9eadd5c0eea61866b28b454e55b13be8bb",
      "parents": [
        "b18fea1abb8cf4fe99b0045c05b651dfb9df47ce"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Mon Feb 21 18:50:23 2022 +0000"
      },
      "committer": {
        "name": "Samiul Islam",
        "email": "samiul@google.com",
        "time": "Wed Mar 02 16:12:41 2022 +0000"
      },
      "message": "Rename SupplementalProcess to SdkSandbox\n\nIgnore-AOSP-First: code is not in AOSP yet\nBug: 220320098\nTest: presubmit\nChange-Id: I310feb08a903c2ee9cd544e3b9751c2e02ce5951\nMerged-In: I310feb08a903c2ee9cd544e3b9751c2e02ce5951\n(cherry picked from commit 6e124aac7c0e76a83040bcda8f1a63df20e3d421)\n"
    },
    {
      "commit": "b18fea1abb8cf4fe99b0045c05b651dfb9df47ce",
      "tree": "f27d46ebab89ee2814bac4d58f2736b8dbd71556",
      "parents": [
        "1e80f2d47db6d568241e85aa13c881e8ebe86c0c"
      ],
      "author": {
        "name": "Samiul Islam",
        "email": "samiul@google.com",
        "time": "Sat Jan 15 18:59:14 2022 +0000"
      },
      "committer": {
        "name": "Samiul Islam",
        "email": "samiul@google.com",
        "time": "Wed Mar 02 13:29:40 2022 +0000"
      },
      "message": "Create utility method for calculating supplemental_uid from app_uid\n\nEvery app will now have a corresponding supplemental process associated\nwith it. We need an utility method to map one to the other.\n\nImplementation details: supplemental process uid will be between range\n20k-30k. As such, it will be a 10k offset from app id. See ag/16621743.\n\nBug: 211763739\nTest: atest installd_service_test\nIgnore-AOSP-First: Feature is being developed in internal branch\nChange-Id: I2b6d6b086985bcb24c837eaa95a937d429d6a583\nMerged-In: I2b6d6b086985bcb24c837eaa95a937d429d6a583\n(cherry picked from commit 1c7acfdb671c7edc4432bc8542df54c49736963d)\n"
    },
    {
      "commit": "b99d15c529a2d5d6900ed7d82621244a2f512834",
      "tree": "fece44ffceb73aed36c5d4561ba43ee7ab6f6538",
      "parents": [
        "1e80f2d47db6d568241e85aa13c881e8ebe86c0c"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Mar 01 12:12:34 2022 -0800"
      },
      "committer": {
        "name": "Jack Wu",
        "email": "wjack@google.com",
        "time": "Wed Mar 02 16:20:35 2022 +0800"
      },
      "message": "healthd: batterymonitor uses AIDL HealthInfo.\n\nThis change cleans up technical debt. As a side\neffect, this change also exposes chargerDockOnline\nproperly to health HAL implementations.\n\nTest: TH\nBug: 222120465\nChange-Id: I306bd0538d94b310a69befb93b5862dd7208447f\n"
    },
    {
      "commit": "8b83ce6186b6a0a94a18a15066201de508a1fb4e",
      "tree": "4a0b09b23d4014c3e291d5482472129dad4c5319",
      "parents": [
        "806c29721a470844c54525299a46c2c7d8df5a74"
      ],
      "author": {
        "name": "subrahmanyaman",
        "email": "subrahmanyaman@google.com",
        "time": "Mon Feb 28 17:57:40 2022 +0000"
      },
      "committer": {
        "name": "Subrahmanya Manikanta Venkateswarlu Bhamidipati Kameswara Sri",
        "email": "subrahmanyaman@google.com",
        "time": "Wed Mar 02 02:35:24 2022 +0000"
      },
      "message": "Define AIDs for Weaver, Keymint and IdentityCredential applets.\n\nBug: b/222112165\nTest: Run vts/cts tests\nChange-Id: I2fc9144fe4a2d55bf091d8371ba2b78486b1b9c7\n"
    },
    {
      "commit": "1e80f2d47db6d568241e85aa13c881e8ebe86c0c",
      "tree": "c1f0fa2fdd634c32e545f8f7a84e1e40550a0bf0",
      "parents": [
        "8b162ac936356c531d27bcd09ef7209909855730",
        "0a9c083b87e53471e85ec3481d0aa28c120aa842"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 02 02:29:44 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 02 02:29:44 2022 +0000"
      },
      "message": "Merge \"vts_fs_test: Statically link libfs_mgr.\""
    },
    {
      "commit": "0a9c083b87e53471e85ec3481d0aa28c120aa842",
      "tree": "894c20483460dcaa5f9bb3b8b0d9cf92d385093a",
      "parents": [
        "a323e0233df417dbc81f4eee6aa65573173a1d3d"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Mar 01 14:11:53 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Mar 01 14:12:26 2022 -0800"
      },
      "message": "vts_fs_test: Statically link libfs_mgr.\n\nBug: 222065493\nTest: builds\nChange-Id: I9ce4aa2594a4e946c79a51f0ed3d2121c7eaee36\n"
    },
    {
      "commit": "8b162ac936356c531d27bcd09ef7209909855730",
      "tree": "b9aa27a252ca6e8bb0cfe5b5df637e7ea999ac43",
      "parents": [
        "b99ace4af1423912865fdd565570ee63e0cb01fa",
        "bd73665e6831d185027738d51a9204dd2b8cb263"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Mar 01 15:20:03 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 15:20:03 2022 +0000"
      },
      "message": "Merge changes I5a6f587e,I972f4e60,Ib8e1e87f\n\n* changes:\n  Introduce the RunService() method\n  Introduce the ConfigureMemcg() method\n  Introduce the Service::CheckConsole() method\n"
    },
    {
      "commit": "bd73665e6831d185027738d51a9204dd2b8cb263",
      "tree": "b9aa27a252ca6e8bb0cfe5b5df637e7ea999ac43",
      "parents": [
        "f2222aab6a00941d621b18d01e4c6c3ee2cfc60d"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Fri Feb 25 22:52:52 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Mar 01 15:17:33 2022 +0000"
      },
      "message": "Introduce the RunService() method\n\nThe Service::Start() method is so long that its length negatively\naffects readability of the code. Hence this patch that splits\nService::Start().\n\nTest: Booted Android in Cuttlefish.\nChange-Id: I5a6f587ecc5e6470137de6cceda7e685bce28ced\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "f2222aab6a00941d621b18d01e4c6c3ee2cfc60d",
      "tree": "5e698c450a49190bc70c0d403252d71b28989048",
      "parents": [
        "847b80a1124a084a309a7c3dee7aba023b899eff"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Fri Feb 25 22:44:40 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Mar 01 15:17:33 2022 +0000"
      },
      "message": "Introduce the ConfigureMemcg() method\n\nThe Service::Start() method is so long that its length negatively\naffects readability of the code. Hence this patch that splits\nService::Start().\n\nTest: Booted Android in Cuttlefish.\nChange-Id: I972f4e60844bb0d133b1cca1fd4e06bb89fc5f37\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "847b80a1124a084a309a7c3dee7aba023b899eff",
      "tree": "3d42a0b241c0dfd0b5d11e8c89802e57464a6d34",
      "parents": [
        "b99ace4af1423912865fdd565570ee63e0cb01fa"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Fri Feb 25 23:28:59 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Mar 01 15:17:33 2022 +0000"
      },
      "message": "Introduce the Service::CheckConsole() method\n\nThe Service::Start() method is so long that its length negatively\naffects readability of the code. Hence this patch that splits\nService::Start().\n\nTest: Booted Android in Cuttlefish.\nChange-Id: Ib8e1e87fbd335520cbe3aac2a88d250fcf3b4ff0\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "b99ace4af1423912865fdd565570ee63e0cb01fa",
      "tree": "a959fc1a478e00d24f6bc83370e6d090b6f78eb8",
      "parents": [
        "a323e0233df417dbc81f4eee6aa65573173a1d3d",
        "74f763961ac43b547e4677a6a06b85ee2aa8a0d5"
      ],
      "author": {
        "name": "David Drysdale",
        "email": "drysdale@google.com",
        "time": "Tue Mar 01 10:31:26 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 10:31:26 2022 +0000"
      },
      "message": "Merge \"Include correct authorization_set.h header\""
    },
    {
      "commit": "a323e0233df417dbc81f4eee6aa65573173a1d3d",
      "tree": "1b3f53d6cb3f719999d4e4c40377cf7df010ade4",
      "parents": [
        "8e4b2bfd5be4196908661ef2ff7ed491f14e1874",
        "9221b1eeaeb80aa76b487bb5a5b19f3b915066f9"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Tue Mar 01 00:06:57 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 01 00:06:57 2022 +0000"
      },
      "message": "Merge \"Support process path for WriteFileAction\""
    },
    {
      "commit": "d494442f9017cf79f34544941983789a40f430b0",
      "tree": "318c4ad86596a2e3c8dc25cf3da652b6fd2c478f",
      "parents": [
        "192b5569b004fc54a6f92e45ff5e7d732ec880fa"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Mon Feb 28 22:03:47 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Mon Feb 28 22:05:21 2022 +0000"
      },
      "message": "inspect_cow: Print OTA ops for debugging\n\nBug: 220991038\nTest: inspect_cow\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: Id77518c7c102aca4979e6eccf45c7cc822f9ccd1\n"
    },
    {
      "commit": "8e4b2bfd5be4196908661ef2ff7ed491f14e1874",
      "tree": "d34d1b77c285ef7d82e340b346959c6e675782ce",
      "parents": [
        "192b5569b004fc54a6f92e45ff5e7d732ec880fa",
        "048571214150989aa03db9078eb09cd86a895e7c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 28 21:46:00 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 28 21:46:00 2022 +0000"
      },
      "message": "Merge \"Update to KeyMint \u0026 iRPC v2\""
    },
    {
      "commit": "048571214150989aa03db9078eb09cd86a895e7c",
      "tree": "3b3a3b5f595a568e941383602a51a6eda6840798",
      "parents": [
        "df62d41eebdb05522e82dcb80bbae1ed5320dffd"
      ],
      "author": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Mon Feb 28 09:11:20 2022 -0700"
      },
      "committer": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Mon Feb 28 09:35:43 2022 -0700"
      },
      "message": "Update to KeyMint \u0026 iRPC v2\n\nBug: 221390931\nTest: run vts -m vts_treble_vintf_vendor_test\nChange-Id: I1749439700f78433d31b52067edb32a031cc8777\n"
    },
    {
      "commit": "9221b1eeaeb80aa76b487bb5a5b19f3b915066f9",
      "tree": "95cebe4c0161988ba6f5806e2941ced84e2a3f8c",
      "parents": [
        "86b6db0b0f5211c87dfb001455637675a9c981bd"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Thu Feb 10 16:44:43 2022 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Sat Feb 26 12:38:03 2022 +0000"
      },
      "message": "Support process path for WriteFileAction\n\nCurrently, there is no distinguish between SetTaskProfiles and\nSetProcessProfiles in WriteFileAction because they use the same task\npath. Add ProcFilePath attribute so that WriteFileAction could use\na separate path for process in SetProcessProfiles.\n\nBug: 218684257\nTest: function works\nChange-Id: I004b8c8799240c54f1ef1fed0566fa5057341cf4\n"
    },
    {
      "commit": "192b5569b004fc54a6f92e45ff5e7d732ec880fa",
      "tree": "e8d54805d47b62835f8f0bdc84743364451234fe",
      "parents": [
        "5a1f51b070e3e3a29e0518a62992e17d96fa4c88",
        "07ec259a54f3ad39be004d4e6f353a0f8639ac4f"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Fri Feb 25 23:00:17 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 25 23:00:17 2022 +0000"
      },
      "message": "Merge \"Update init/README.md to mention bootconfig for androidboot argument\""
    },
    {
      "commit": "5a1f51b070e3e3a29e0518a62992e17d96fa4c88",
      "tree": "c9fdf4f763e9747090cc4ffa5ab0d7c3a9d2f6cd",
      "parents": [
        "96686aaf607eeb19f78437b57a7e28f54cb1429c",
        "dde6034eac99789c4c23c5cd9f6419db02d9a649"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 25 21:15:57 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 25 21:15:57 2022 +0000"
      },
      "message": "Merge \"Fix OkOrFail\u003cstatus_t\u003e conversion ambiguities\""
    },
    {
      "commit": "dde6034eac99789c4c23c5cd9f6419db02d9a649",
      "tree": "66f05321983f57462aef737352784c058989790b",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6"
      ],
      "author": {
        "name": "Atneya Nair",
        "email": "atneya@google.com",
        "time": "Fri Feb 11 17:26:28 2022 -0500"
      },
      "committer": {
        "name": "Atneya Nair",
        "email": "atneya@google.com",
        "time": "Fri Feb 25 14:27:41 2022 -0500"
      },
      "message": "Fix OkOrFail\u003cstatus_t\u003e conversion ambiguities\n\nOkOrFail\u003cstatus_t\u003e has specialized conversions for Result\u003cint, StatusT\u003e\nto avoid ambiguous implicit conversion sequences. Since user conversion\noperators sequences can be followed by integral promotion, specializing\nfor integral types is necessary.\n\nSpecialize ResultError\u003cStatusT\u003e so calling code() returns a status_t\ninstead of a StatusT and message() is implemented even when not carrying\na string.\nEventually, these classes should be combined.\n\nAdd equality operators for ResultError\u003cStatusT\u003e.\n\nBug: 219580167\nTest: atest Errors_test.cpp\nMerged-In: I14acecfd2aef33c40e79ddb091e2f4af9291d837\nChange-Id: Ifb5ed3c2d3452b10901e4aeb19368d873225d9ce\n"
    },
    {
      "commit": "96686aaf607eeb19f78437b57a7e28f54cb1429c",
      "tree": "7e37bbb2fadfcf0b0cb7cce968f904bde60e9844",
      "parents": [
        "806c29721a470844c54525299a46c2c7d8df5a74",
        "b6179f25be4485e7a30066b12991843f959496ac"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Fri Feb 25 18:03:20 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 25 18:03:20 2022 +0000"
      },
      "message": "Merge \"Bumping the HAL client version.\""
    },
    {
      "commit": "07ec259a54f3ad39be004d4e6f353a0f8639ac4f",
      "tree": "bb535f8f3360a62739d74e4a82f61bad9139845d",
      "parents": [
        "7a7c8e4607fdfb58dce4551c13d984e1650df008"
      ],
      "author": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Fri Feb 25 17:04:45 2022 +0000"
      },
      "committer": {
        "name": "Devin Moore",
        "email": "devinmoore@google.com",
        "time": "Fri Feb 25 17:04:45 2022 +0000"
      },
      "message": "Update init/README.md to mention bootconfig for androidboot argument\n\nIn Android S and later, androidboot.* kernel cmdline parameters are\nmoved to bootconfig instead the kernel cmdline. This includes the\nandroidboot.force_normal_boot.\n\nBug: 219951268\nTest: N/A\nChange-Id: Id0328ad09a34d654de9936e37a576a8a9f44de6c\n"
    },
    {
      "commit": "806c29721a470844c54525299a46c2c7d8df5a74",
      "tree": "f58fffda934a789f8464fbfa9ff76feceb2fefef",
      "parents": [
        "7a7c8e4607fdfb58dce4551c13d984e1650df008",
        "325e2acbb9e19cdbe49fee7a33af2f0cb45df068"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Feb 25 00:58:19 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 25 00:58:19 2022 +0000"
      },
      "message": "Merge \"snapuserd: Fallback to synchronous I/O if any errors observed during async merge.\""
    },
    {
      "commit": "325e2acbb9e19cdbe49fee7a33af2f0cb45df068",
      "tree": "f58fffda934a789f8464fbfa9ff76feceb2fefef",
      "parents": [
        "7a7c8e4607fdfb58dce4551c13d984e1650df008"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Feb 24 02:08:51 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Feb 24 06:08:26 2022 +0000"
      },
      "message": "snapuserd: Fallback to synchronous I/O if any errors observed during\nasync merge.\n\nIf there are any I/O errors during async merge, we will\nretry the I/O in synchronous I/O path. For this to happen,\nwe have to reset the iterator so that we replay the blocks\nwhich were partially completed during async merge. Furthermore,\nwe will disable the async merge and continue to do the I/O\nin synchronous path.\n\nAdditionally, cut down the queue depth to 8 so that\nit will decerease the number of the async offload. We don\u0027t\nwant to have a big queue depth with async offload.\n\nBug: 220991038\nTest: Instrument the code to fail the Async I/O\u0027s\nrandomly and make sure merge is completed. Instrumentation\nwas done both on readahead and merge code path.\n\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I0db6d0f46054ca5b8423201a598c726b2c3d21ac\n"
    },
    {
      "commit": "7a7c8e4607fdfb58dce4551c13d984e1650df008",
      "tree": "26555fe25372a989168f5855fba3e570b86c3b30",
      "parents": [
        "df62d41eebdb05522e82dcb80bbae1ed5320dffd",
        "f096bd2d24ec67e58fa230332ee784eac1ef0feb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 24 02:27:55 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 24 02:27:55 2022 +0000"
      },
      "message": "Merge \"Make task profiles easier to debug\""
    },
    {
      "commit": "df62d41eebdb05522e82dcb80bbae1ed5320dffd",
      "tree": "d4aa51549534b1826f813a351839e2d0ef35c50e",
      "parents": [
        "7da30bd9f898921d16ac3d1e09ac32bdf0c0a9fd",
        "0f89bc1270dc08ebdeea2c4ce5456d8a5e0c34c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 23 18:13:01 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 23 18:13:01 2022 +0000"
      },
      "message": "Merge \"Provide alternate SE RoT provisioning path.\""
    },
    {
      "commit": "7da30bd9f898921d16ac3d1e09ac32bdf0c0a9fd",
      "tree": "691b9a3f9254d79c636969913894f31f1bcc6338",
      "parents": [
        "ae0f4d5e4510eff3f54986a7b9252d2b9ded7b66",
        "ccc11f49695f90ecc2953ed9dbff870715032078"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Wed Feb 23 17:58:06 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 23 17:58:06 2022 +0000"
      },
      "message": "Merge \"trusty: Convert Trusty driver tests to python_test\""
    },
    {
      "commit": "8f73f02e43559f353436a499a6401195265b56e9",
      "tree": "377c040c04057a457e3b76dd33e9446fde42bea5",
      "parents": [
        "ae0f4d5e4510eff3f54986a7b9252d2b9ded7b66"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Feb 23 16:20:09 2022 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Feb 23 16:33:24 2022 +0800"
      },
      "message": "fs_mgr: Fix misleading comment text regarding __ANDROID_RECOVERY__\n\nThis piece of comment was misleading because it only applies to\nBOARD_USES_RECOVERY_AS_BOOT devices. Update the text to give a more\naccurate description.\n\nIf BOARD_USES_RECOVERY_AS_BOOT is true,\n* Recovery ramdisk IS boot ramdisk.\n* init_first_stage is actually a symbolic link to\n  init_second_stage.recovery, which links libfs_mgr.recovery.\n\nIf BOARD_USES_RECOVERY_AS_BOOT is not true,\n* init_first_stage is a real binary in the generic ramdisk.\n* init_first_stage links libfs_mgr.ramdisk.\n* During recovery boot, the \u0027/init\u0027 binary could be the\n  init_first_stage from the generic ramdisk (A/B), or\n  init_second_stage.recovery from the recovery ramdisk (non-A/B;\n  standalone recovery partition).\n\nBug: 219811240\nTest: None\nChange-Id: Ib395a796f61869c13f1a5f1735ef17c224c26c8c\n"
    },
    {
      "commit": "0f89bc1270dc08ebdeea2c4ce5456d8a5e0c34c5",
      "tree": "4496cd62bfd0dbff4d42e34525d4326182073520",
      "parents": [
        "78b86ae2973623f2905289ca6ad5e726e535c59e"
      ],
      "author": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Thu Feb 17 15:49:27 2022 -0700"
      },
      "committer": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Tue Feb 22 23:51:15 2022 -0700"
      },
      "message": "Provide alternate SE RoT provisioning path.\n\nOn some devices it is infeasible to provision the KeyMint RoT bits in\nthe Android Bootloader.  This provides an alternate path to provision\nthem from the TEE during early boot.\n\nBug: 219076736\nTest: VtsAidlKeyMintTargetTest\nChange-Id: Ibae9050b9a102dad3710f9495d3dfa43fa1d1b3f\nMerged-In: Ibae9050b9a102dad3710f9495d3dfa43fa1d1b3f\n"
    },
    {
      "commit": "74f763961ac43b547e4677a6a06b85ee2aa8a0d5",
      "tree": "321091a7d313c2f2afea55ed571953d4061d860c",
      "parents": [
        "ae0f4d5e4510eff3f54986a7b9252d2b9ded7b66"
      ],
      "author": {
        "name": "David Drysdale",
        "email": "drysdale@google.com",
        "time": "Mon Feb 21 14:49:07 2022 +0000"
      },
      "committer": {
        "name": "David Drysdale",
        "email": "drysdale@google.com",
        "time": "Wed Feb 23 06:27:16 2022 +0000"
      },
      "message": "Include correct authorization_set.h header\n\nBug: 206470603\nTest: TreeHugger\nChange-Id: I748660d45a539c9e2c2e13605d1d4f61b1b2fb5e\n"
    },
    {
      "commit": "ccc11f49695f90ecc2953ed9dbff870715032078",
      "tree": "5d7bd5e4052742114e4bb303086b0eea4f058787",
      "parents": [
        "0663b07f864de7349da123f6438fdb4eb286fe8f"
      ],
      "author": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Tue Feb 15 11:22:33 2022 -0800"
      },
      "committer": {
        "name": "Tri Vo",
        "email": "trong@google.com",
        "time": "Tue Feb 22 17:40:29 2022 -0800"
      },
      "message": "trusty: Convert Trusty driver tests to python_test\n\nOriginal tests are implemented as shell scripts here:\nhttps://android.googlesource.com/trusty/vendor/google/aosp/+/refs/heads/master/scripts/test-map#100\n\nBug: 219992178\nTest: trusty_driver_test\nChange-Id: I8a55cb660bb0cb27bb4ef32aaa0658d0c17c36e3\n"
    },
    {
      "commit": "ae0f4d5e4510eff3f54986a7b9252d2b9ded7b66",
      "tree": "8336e6612fd652e63997e25201035b3548420f08",
      "parents": [
        "692c6d0f745d37f6d4ebe6cbe3bd4accd33cae9c",
        "6bcabc03d3f16bf267963758552bfcb648107b6a"
      ],
      "author": {
        "name": "Yi-yo Chiang",
        "email": "yochiang@google.com",
        "time": "Sun Feb 20 05:33:41 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Feb 20 05:33:41 2022 +0000"
      },
      "message": "Merge \"TransformFstabForDsu: Insert synthesised entry at end of mount group\""
    },
    {
      "commit": "692c6d0f745d37f6d4ebe6cbe3bd4accd33cae9c",
      "tree": "3d0fa2de96e69234bc8ae53df6ab23000da34ba3",
      "parents": [
        "7a5379d0e12bc1d780a1fbe51d8dcdf9a53388d3",
        "36a4784681d5173e2c29074ddcf17f7958f6c45b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sat Feb 19 01:28:59 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 19 01:28:59 2022 +0000"
      },
      "message": "Merge \"Add a VTS test for Virtual A/B.\""
    },
    {
      "commit": "7a5379d0e12bc1d780a1fbe51d8dcdf9a53388d3",
      "tree": "b3e7a7a7db3c7ac295ed08319a8edac2c0143e3d",
      "parents": [
        "1889a41c88473384a5f4e46838bbd53f5bd9c9f9",
        "fb921468ab79d40c498844f68b60a802f7742c54"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 23:29:27 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 18 23:29:27 2022 +0000"
      },
      "message": "Merge \"fs_mgr: Fix __ANDROID_RECOVERY__ usage in libfiemap.\""
    },
    {
      "commit": "05ffcf2d9ced79ceab787a68fb479dafde7fec30",
      "tree": "0a8a2961bf842e87c5f65a3a655b6db46fc99197",
      "parents": [
        "1889a41c88473384a5f4e46838bbd53f5bd9c9f9"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 15:13:58 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 15:22:02 2022 -0800"
      },
      "message": "fs_mgr: Restrict dt fstabs to \u003c Q devices.\n\nBug: 214857162\nTest: vts_fs_test\nChange-Id: Iee3c657297fa76b1131d03a638ff7f5620cea414\n"
    },
    {
      "commit": "36a4784681d5173e2c29074ddcf17f7958f6c45b",
      "tree": "b7a8c31f73f6438dd563971a9bac1d6d27525597",
      "parents": [
        "15a20e390661f19e202a0ebf207b417fefb8fc9a"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 14:15:46 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 14:16:44 2022 -0800"
      },
      "message": "Add a VTS test for Virtual A/B.\n\nBug: N/A\nTest: vts_ota_config_test\nChange-Id: Ibcee72dcbd9b8d157c3cc989d46fba6277115207\n"
    },
    {
      "commit": "1889a41c88473384a5f4e46838bbd53f5bd9c9f9",
      "tree": "80251dc79d4a80f70028e8fbf5f65ebc96a9bd2d",
      "parents": [
        "86b6db0b0f5211c87dfb001455637675a9c981bd",
        "5ad0a9f8641d4f7781614e82aafd7fe2d48b637c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 18 16:54:53 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 18 16:54:53 2022 +0000"
      },
      "message": "Merge \"Add systrace tag for thermal\""
    },
    {
      "commit": "6bcabc03d3f16bf267963758552bfcb648107b6a",
      "tree": "bd42eb7026434ce99359e5e025b6f7f12bd36d63",
      "parents": [
        "6236db23cad502f966a7deeaaefde3e489cad3f9"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Feb 18 22:54:50 2022 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Feb 18 23:00:25 2022 +0800"
      },
      "message": "TransformFstabForDsu: Insert synthesised entry at end of mount group\n\nThe intention of inserting this synthesised mount entry is for the\nFirstStageMount() procedure to eventually fallback to this entry if all\nprevious mount lines failed.\nIn order for FirstStageMount() to retry mount, the mount lines have to\nbe grouped together.\nThis change ensures that would happen and add test.\n\nBug: 220074274\nTest: atest CtsFsMgrTestCases\nChange-Id: Id042a6a6738d27c06a397ef7f4e0977907371c05\n"
    },
    {
      "commit": "86b6db0b0f5211c87dfb001455637675a9c981bd",
      "tree": "db814d38e9bc2753dbe5031286dfff37dbed6689",
      "parents": [
        "c2b2bf3539906eb68ecbc0e97b751b0f6f54bfdf",
        "21527e979447a30186da3aeaaa3bbd6a6629f48d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 18 03:39:26 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 18 03:39:26 2022 +0000"
      },
      "message": "Merge \"Use sanitizer paths exported by make\""
    },
    {
      "commit": "f096bd2d24ec67e58fa230332ee784eac1ef0feb",
      "tree": "3b22a9da8a53262f9ebe8db4503f86437b562002",
      "parents": [
        "c2b2bf3539906eb68ecbc0e97b751b0f6f54bfdf"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Mon Jan 24 19:59:13 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Fri Feb 18 03:06:30 2022 +0000"
      },
      "message": "Make task profiles easier to debug\n\nAdd support for querying the task profile and action names at runtime.\nLog more information with verbose logging enabled. The additional\nlogging statements make it easier to verify whether changes in\ntask_profiles.json work as expected.\n\nBug: 213617178\nTest: Booted Android in Cuttlefish.\nChange-Id: I175e46d142bb015732b135952fdbeb9986f20ee3\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "c2b2bf3539906eb68ecbc0e97b751b0f6f54bfdf",
      "tree": "78a82d694957b263d90d5414cddf91bf79abd4e4",
      "parents": [
        "460886c1756c85f31f1e54c9eb6157bde6ecf432",
        "c1c05daac12349736587b75669b0d2db06c7f2c7"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 01:56:27 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 18 01:56:27 2022 +0000"
      },
      "message": "Merge \"remount: Create a bigger scratch partition on /data.\""
    },
    {
      "commit": "460886c1756c85f31f1e54c9eb6157bde6ecf432",
      "tree": "b5a360e5198a381a6d17a1617dd952832d7911b1",
      "parents": [
        "15a20e390661f19e202a0ebf207b417fefb8fc9a",
        "18c6157902391d9db5f1b3f8f89f40af9ae09ae3"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Feb 18 01:56:09 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 18 01:56:09 2022 +0000"
      },
      "message": "Merge \"fs_mgr: Don\u0027t allow dt fstabs in new devices.\""
    },
    {
      "commit": "fb921468ab79d40c498844f68b60a802f7742c54",
      "tree": "bbe8651ab305c49811e1a9b45e7e5554cbb23f71",
      "parents": [
        "15a20e390661f19e202a0ebf207b417fefb8fc9a"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 13:05:19 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 13:06:13 2022 -0800"
      },
      "message": "fs_mgr: Fix __ANDROID_RECOVERY__ usage in libfiemap.\n\nCertain code in libfiemap should be unreachable in recovery/ramdisk\nbuilds, but whether intentionally or not, __ANDROID_RECOVERY__ is not\nworking in vendor_boot.\n\nTo make sure this is doing exactly what we want, use __ANDROID_RAMDISK__\ninstead.\n\nBug: 205987817\nTest: build boot, vendor_boot, recovery\nChange-Id: Id419f7d9068e791427a896c22569ae4543548df7\n"
    },
    {
      "commit": "21527e979447a30186da3aeaaa3bbd6a6629f48d",
      "tree": "8ca0ce59c1b5692d1c8479003f4da7f46cb4ed47",
      "parents": [
        "1aad41c3e724d3cde90739f0bda6cff0e96c4d6c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 17 11:19:48 2022 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 17 11:19:48 2022 -0800"
      },
      "message": "Use sanitizer paths exported by make\n\nThe clang prebuilts now provide a single module with per-architecture\nvariants instead of a module per architecture, which means the module\nname doesn\u0027t match the installed file name.  Use the file names\nexported from Soong instead of the module names.\n\nBug: 220019988\nTest: m out/target/produuct/coral/system/etc/sanitizer.libraries.txt\nChange-Id: I12e7e988ce60d928987db8611883e67f2ecdee87\n"
    },
    {
      "commit": "c1c05daac12349736587b75669b0d2db06c7f2c7",
      "tree": "62409f1f7355d1d68e34c546b99674df43133079",
      "parents": [
        "15a20e390661f19e202a0ebf207b417fefb8fc9a"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 16 18:57:41 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 11:11:07 2022 -0800"
      },
      "message": "remount: Create a bigger scratch partition on /data.\n\nWhen creating a scratch partition on /data, use either the size of\nsuper, or half the free space on /data - whichever is smaller.\n\nBug: 213617068\nTest: adb remount\nChange-Id: If42fe9e1dc53d5a0137ace917a440232f70947fa\n"
    },
    {
      "commit": "15a20e390661f19e202a0ebf207b417fefb8fc9a",
      "tree": "3e315a7ed8fab84973ea2ce21eb266c735e13995",
      "parents": [
        "035921dd1771a44862061fd599007a958641a1e5",
        "d22ff8a93ab28f8fb52f9f9e017c6651025d7282"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Feb 17 18:37:21 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 17 18:37:21 2022 +0000"
      },
      "message": "Merge \"Reland \"Add a core configuration that disables the zygote.\"\""
    },
    {
      "commit": "18c6157902391d9db5f1b3f8f89f40af9ae09ae3",
      "tree": "f3dc5a1c97f2a3eaa8eae738ebbe57c19bdc4824",
      "parents": [
        "4a39ba316f775c77b69b438f42352319c64688fe"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Feb 16 21:05:36 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 10:30:59 2022 -0800"
      },
      "message": "fs_mgr: Don\u0027t allow dt fstabs in new devices.\n\nBug: 214857162\nTest: vts_fs_test\nChange-Id: I69870fa632b01fdb411371cbb8c5b17271631395\n"
    },
    {
      "commit": "035921dd1771a44862061fd599007a958641a1e5",
      "tree": "623cdc804297e3e8cf0df7490928f1b385166bb8",
      "parents": [
        "f3a800b1ccb58aa935fdd37a48abd2df332badb6",
        "982c3410c7ac63b51567a97ccde421eae745537d"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 18:24:19 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 17 18:24:19 2022 +0000"
      },
      "message": "Merge \"fastbootd: Remove all scratch partitions on update-super.\""
    },
    {
      "commit": "f3a800b1ccb58aa935fdd37a48abd2df332badb6",
      "tree": "c884ae861f8957c93be36d845626358dfdab6d26",
      "parents": [
        "78b86ae2973623f2905289ca6ad5e726e535c59e",
        "b999b82eb79b6b8aaabcca2a65028158fcb246f3"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 17 17:04:55 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 17 17:04:55 2022 +0000"
      },
      "message": "Merge \"Dump threads in tombstone fallback path.\""
    },
    {
      "commit": "982c3410c7ac63b51567a97ccde421eae745537d",
      "tree": "773c78a7150dc7a3b0d81bbbff062d852409bf3c",
      "parents": [
        "78b86ae2973623f2905289ca6ad5e726e535c59e"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Feb 08 22:06:44 2022 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Feb 17 04:16:53 2022 +0000"
      },
      "message": "fastbootd: Remove all scratch partitions on update-super.\n\nThis ensures that the dynamic \"scratch\" partition is removed when doing\na flashall operation.\n\nIf \"scratch\" is on /data, disable the partition. Add IsImageDisabled to\nImageManager so EnsureScratchMapped can skip mapping it. Also, fix\n\"scratch\" not getting unmapped if on /data.\n\nBug: 205987817\nTest: adb remount\n      adb sync\n      adb reboot fastboot\n      fastboot flashall --skip-reboot # no errors\nTest: adb-remount-test.sh\nChange-Id: I4b9702e1dac15fb663635506fb50a8274e1e10d1\n"
    },
    {
      "commit": "b999b82eb79b6b8aaabcca2a65028158fcb246f3",
      "tree": "95944216b66afbf7899f7348ceffcdd6f323e523",
      "parents": [
        "efc9366188f2e80af4de4a4e960f121236930903"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 09 17:57:21 2022 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 16 15:02:38 2022 -0800"
      },
      "message": "Dump threads in tombstone fallback path.\n\nWhen dumping a tombstone using the fallback path, only the main\nthread was showing up. Modify the code to dump the threads using\na slightly different path for the tombstone generation code.\n\nIn addition, while looking at this code, two MTE variables were\nnot set in the tombstone fallback code. Added those variables\nso MTE devices will work properly in this fallback path.\n\nModified the tombstone unit tests for seccomp to have\nmultiple threads and verify those threads show up in the tombstone.\n\nBug: 208933016\n\nTest: Ran unit tests.\nTest: Ran debuggerd \u003cPID\u003e on a privileged process and verified\nTest: all threads dumped. Also verified that the tagged_addr_ctrl\nTest: variable is present on the raven device.\nChange-Id: I16eadb0cc2c37a7dbc5cac16af9b5051008b5127\n"
    },
    {
      "commit": "78b86ae2973623f2905289ca6ad5e726e535c59e",
      "tree": "2117a0ba029be2cef4f5ce9c814e2967e343a100",
      "parents": [
        "79aedde9b502051ee53a35a80ffff79006fec734",
        "ccc18d7f110aa0085a19a9fc408e999f5c8b7432"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Feb 16 19:59:14 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 16 19:59:14 2022 +0000"
      },
      "message": "Merge \"Remove setCounterSet and deleteTagData support from libcutils\""
    },
    {
      "commit": "79aedde9b502051ee53a35a80ffff79006fec734",
      "tree": "cc4df184e422eed3187921dbe427a6fd22305d43",
      "parents": [
        "7c63034fc055ec43432fd324f433a7718804c209",
        "0cc213be8748d33d186f670995624332053a27ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 16 08:50:36 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 16 08:50:36 2022 +0000"
      },
      "message": "Merge \"Disable Async merge. I/O failures seen on one specific device intermittently.\""
    },
    {
      "commit": "0cc213be8748d33d186f670995624332053a27ac",
      "tree": "cc4df184e422eed3187921dbe427a6fd22305d43",
      "parents": [
        "7c63034fc055ec43432fd324f433a7718804c209"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 16 04:16:26 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 16 04:20:54 2022 +0000"
      },
      "message": "Disable Async merge.\nI/O failures seen on one specific device intermittently.\n\nBug: 219642530\nTest: OTA\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I5b6fbfb13e40b15b25324b70efef11aede916596\n"
    },
    {
      "commit": "7c63034fc055ec43432fd324f433a7718804c209",
      "tree": "4b2d1ca77e03ca7e72d0d9ddc896e54a21faacd4",
      "parents": [
        "5d1a87171f0d0a5a425726c90a74f047ddb8b186",
        "1a74a82d2326bd55b85b8e10fab4df404c6ecd9e"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 16 01:47:39 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 16 01:47:39 2022 +0000"
      },
      "message": "Merge \"Disable async merge writes until we figure out the intermittent I/O errors.\""
    },
    {
      "commit": "5d1a87171f0d0a5a425726c90a74f047ddb8b186",
      "tree": "4fcf6e1f78f3c9a1d97e780730e4d1314b26d377",
      "parents": [
        "efc9366188f2e80af4de4a4e960f121236930903",
        "4c99e96e2bb2c6de2ac8c184a1e7d866579713ea"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 16 00:11:56 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 16 00:11:56 2022 +0000"
      },
      "message": "Merge changes I6fbbb329,I80a7c0a3\n\n* changes:\n  Introduce interface class IProfileAttribute\n  Fix a race condition in Service::Start()\n"
    },
    {
      "commit": "d22ff8a93ab28f8fb52f9f9e017c6651025d7282",
      "tree": "5f7148aaf086cb62632abd55eec8318896f3bb5a",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 27 18:21:21 2022 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Feb 15 16:03:35 2022 -0800"
      },
      "message": "Reland \"Add a core configuration that disables the zygote.\"\n\nIn targets that do not include a zygote binary, attempting to start the\nzygote service will result in repeated service restarts. Avoid this by\nproviding a way for targets to opt out of declaring a zygote service.\n\nThe fvp_mini target does not have a zygote, so apply this opt-out to\nthat target.\n\nRelanding after fixing breakage on an internal branch.\n\nBug: 217455793\nChange-Id: Ic26f76142afb5f700bd7b12359d62feb2652b617\n"
    },
    {
      "commit": "1a74a82d2326bd55b85b8e10fab4df404c6ecd9e",
      "tree": "3f1a27c42e0ac991df7a0a46f39e64dbb7b1ec71",
      "parents": [
        "efc9366188f2e80af4de4a4e960f121236930903"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Feb 15 23:22:04 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Feb 15 23:22:04 2022 +0000"
      },
      "message": "Disable async merge writes until we figure out the intermittent\nI/O errors.\n\nBug: 219642530\nTest: OTA\n\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: Ica8e95394b92e6893c944676d28e05af2bde9a83\n"
    },
    {
      "commit": "4c99e96e2bb2c6de2ac8c184a1e7d866579713ea",
      "tree": "4fcf6e1f78f3c9a1d97e780730e4d1314b26d377",
      "parents": [
        "ee36ba39f9733b609bd5ebd5b6fa91c7522d994d"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Feb 03 19:50:16 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 22:31:11 2022 +0000"
      },
      "message": "Introduce interface class IProfileAttribute\n\nThis patch does not change any functionality but makes it easier to add\nunit tests in a later patch.\n\nBug: 213617178\nTest: Compile-tested only.\nChange-Id: I6fbbb3297795c9d7ece8fb3263b3a9b0e5115b18\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "ee36ba39f9733b609bd5ebd5b6fa91c7522d994d",
      "tree": "ca3fcc8e1c88343c4112894a345a29bde96d3f6f",
      "parents": [
        "efc9366188f2e80af4de4a4e960f121236930903"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Wed Jan 26 20:52:52 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 22:31:09 2022 +0000"
      },
      "message": "Fix a race condition in Service::Start()\n\nThe SetTaskProfiles() call modifies cgroup attributes. Modifying cgroup\nattributes can only succeed after the cgroups and cgroup attributes have\nbeen created. Hence this patch that makes the child process wait until\nthe parent has finished creating cgroups and activating cgroup\ncontrollers.\n\nBug: 213617178\nTest: Without this patch the migration to the v2 hierarchy does not work reliably. With this patch applied, the migration to the v2 hierarchy works reliably.\nChange-Id: I80a7c0a35453d8fd89ed798d077086aa8ba9ea17\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "efc9366188f2e80af4de4a4e960f121236930903",
      "tree": "cf44183b223dc14f004c8b1df59941647bdae03f",
      "parents": [
        "6236db23cad502f966a7deeaaefde3e489cad3f9",
        "a2739dae4e889986d522eaa6d28db08315fefb49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 15 20:57:56 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 15 20:57:56 2022 +0000"
      },
      "message": "Merge \"Make crash_dump.policy a dependency of crash_dump.\""
    },
    {
      "commit": "6236db23cad502f966a7deeaaefde3e489cad3f9",
      "tree": "54b96aaee1f09c80741ab9a480142512c4165e76",
      "parents": [
        "e2616239069d90aef618f21791e955fd90394f2d",
        "3332e2127a19cfbf6fd07d9c9880963508c2dbdf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 15 06:57:45 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 15 06:57:45 2022 +0000"
      },
      "message": "Merge \"Declare license metadata for copied files.\""
    },
    {
      "commit": "e2616239069d90aef618f21791e955fd90394f2d",
      "tree": "1f086d53e33a06984044e118f97ed4e94d304020",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6",
        "6e814b0eb2b7d2fe852c36ab8e6ef49a5e343f45"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 15 02:55:48 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 15 02:55:48 2022 +0000"
      },
      "message": "Merge changes I22e6d914,Iabe7ecd9,I79bdb89e,I6a3cedc7\n\n* changes:\n  Make two error messages more detailed\n  Use the \u0027override\u0027 keyword where appropriate\n  Micro-optimize CgroupMap::ActivateControllers()\n  Make class SetTimerSlackAction easier to maintain\n"
    },
    {
      "commit": "b6179f25be4485e7a30066b12991843f959496ac",
      "tree": "46ebbbce589cc428cd7d1f5b2197da2726797862",
      "parents": [
        "848fe8abeac464f1f57f34c363198f22f3b46a1b"
      ],
      "author": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Thu Feb 03 18:17:59 2022 -0800"
      },
      "committer": {
        "name": "Max Bires",
        "email": "jbires@google.com",
        "time": "Tue Feb 15 02:24:04 2022 +0000"
      },
      "message": "Bumping the HAL client version.\n\nThis CL bumps the reported version for Trusty\u0027s\nIRemotelyProvisionedComponent HAL interface for KeyMint. It also adds\nthe uniqueId field added to the RpcHardwareInfo in version 2.\n\nTest: atest VtsHalRemotelyProvisionedComponentTargetTest\nChange-Id: I336ec7cd12ca2ea3b836601ebe0ca400524b8ca4\n"
    },
    {
      "commit": "6e814b0eb2b7d2fe852c36ab8e6ef49a5e343f45",
      "tree": "1f086d53e33a06984044e118f97ed4e94d304020",
      "parents": [
        "6856cfcb210ab2297e82c0077287c5a3a00d8df1"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Thu Feb 03 19:24:42 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 00:09:34 2022 +0000"
      },
      "message": "Make two error messages more detailed\n\nProvide context information to make it easier to map error messages to\nthe source code that reported these error messages.\n\nBug: 213617178\nTest: Booted Android in Cuttlefish and verified the error messages in logcat.\nChange-Id: I22e6d91476d91dcf32bafe5ead922e5652136584\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "6856cfcb210ab2297e82c0077287c5a3a00d8df1",
      "tree": "210616ba1afb24408a0795c8dca52f202b9364d7",
      "parents": [
        "8923d72252f30c1b9d6a5224aa78fe2837525392"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Mon Jan 24 20:52:51 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 00:09:34 2022 +0000"
      },
      "message": "Use the \u0027override\u0027 keyword where appropriate\n\nThis patch implements the following advice from the Google C++ Style\nGuide: \"Explicitly annotate overrides of virtual functions or virtual\ndestructors with exactly one of an override or (less frequently) final\nspecifier. Do not use virtual when declaring an override. Rationale: A\nfunction or destructor marked override or final that is not an override\nof a base class virtual function will not compile, and this helps catch\ncommon errors. The specifiers serve as documentation; if no specifier is\npresent, the reader has to check all ancestors of the class in question\nto determine if the function or destructor is virtual or not.\"\n\nBug: 213617178\nTest: Booted Android in Cuttlefish.\nChange-Id: Iabe7ecd91a2c09a77922c60ff4a00314da509d4a\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "8923d72252f30c1b9d6a5224aa78fe2837525392",
      "tree": "5e2983381e3106b5a973dd47598919e42f1b24a9",
      "parents": [
        "20d59bd21b454405f19ca8d5b485197766ce586e"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Jan 25 23:49:48 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 00:09:34 2022 +0000"
      },
      "message": "Micro-optimize CgroupMap::ActivateControllers()\n\nThe C++ string concatenation operator is inefficient because it always\nallocates a new string, even in cases where std::string::apppend() does\nnot allocate a new string. Hence this patch that replaces string\nconcatenation with a call to std::string::append().\n\nBug: 213617178\nTest: Booted Android in Cuttlefish.\nChange-Id: I79bdb89e957d3cfb40e48ef00c3e5576b4f533a5\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "20d59bd21b454405f19ca8d5b485197766ce586e",
      "tree": "5f972b5543d60385b34b58eead7ed2f999655566",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6"
      ],
      "author": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Mon Jan 24 19:45:59 2022 +0000"
      },
      "committer": {
        "name": "Bart Van Assche",
        "email": "bvanassche@google.com",
        "time": "Tue Feb 15 00:09:34 2022 +0000"
      },
      "message": "Make class SetTimerSlackAction easier to maintain\n\nUnify the Darwin and Linux class declarations. Move all #ifdefs for this\nclass into the .cpp file. This patch does not change any functionality.\n\nBug: 213617178\nTest: Booted Android in Cuttlefish.\nChange-Id: I6a3cedc75c2dbf8aa062edda76cae9959767a763\nSigned-off-by: Bart Van Assche \u003cbvanassche@google.com\u003e\n"
    },
    {
      "commit": "5ad0a9f8641d4f7781614e82aafd7fe2d48b637c",
      "tree": "86954de1089a8bcd204427099659bf50ebf50db4",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6"
      ],
      "author": {
        "name": "TeYuan Wang",
        "email": "kamewang@google.com",
        "time": "Fri Feb 11 20:55:31 2022 +0800"
      },
      "committer": {
        "name": "TeYuan Wang",
        "email": "kamewang@google.com",
        "time": "Mon Feb 14 15:13:45 2022 +0800"
      },
      "message": "Add systrace tag for thermal\n\nBug: 218939123\nTest: build\nChange-Id: Id899df349e83fa7bf4d962e88d683488632df702\n"
    },
    {
      "commit": "3332e2127a19cfbf6fd07d9c9880963508c2dbdf",
      "tree": "757766f56ae008e078d4825bd53f83a808985958",
      "parents": [
        "075b6d725ee0b8278abce3b04801de03753e7fd6"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Sat Feb 12 21:20:41 2022 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Sat Feb 12 21:20:41 2022 -0800"
      },
      "message": "Declare license metadata for copied files.\n\nBug: 151177513\n\nTest: m nothing reportmissinglicenses\nChange-Id: I2d06c042e41eda55930ea3b49efd9f27e35bc520\n"
    },
    {
      "commit": "075b6d725ee0b8278abce3b04801de03753e7fd6",
      "tree": "00d9aa73cdf3bf7ab54f3a05aa0b4780b6c7e294",
      "parents": [
        "25bffff0cdead33a4479d0c41d21b3b53de5e461",
        "d1e4f7d1571e1b1efe2219ec4752968ed04c7da6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 11 05:50:15 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 11 05:50:15 2022 +0000"
      },
      "message": "Merge \"Update ro.vendor.api_level for non-GRF devices\""
    },
    {
      "commit": "d1e4f7d1571e1b1efe2219ec4752968ed04c7da6",
      "tree": "00d9aa73cdf3bf7ab54f3a05aa0b4780b6c7e294",
      "parents": [
        "25bffff0cdead33a4479d0c41d21b3b53de5e461"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Feb 11 09:44:31 2022 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Fri Feb 11 09:44:31 2022 +0900"
      },
      "message": "Update ro.vendor.api_level for non-GRF devices\n\nNon-GRF devices must read only the `ro.product.first_api_level` but\nnot the vendor build version because `ro.product.first_api_level` is\nalways less than or equal to `ro.vendor.build.version.sdk` for\nnon-GRF devices.\n\nBug: 218610653\nTest: getprop ro.vendor.api_level\nChange-Id: Ib98c33ae052daa949208c43bd441f98cf442da49\n"
    },
    {
      "commit": "25bffff0cdead33a4479d0c41d21b3b53de5e461",
      "tree": "db6e7006438f085fa21dacfbe40c9149cc568e93",
      "parents": [
        "1aad41c3e724d3cde90739f0bda6cff0e96c4d6c",
        "c9605e6ae1ad7b5472cfed8975e72c35036a820c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 10 22:45:41 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 10 22:45:41 2022 +0000"
      },
      "message": "Merge \"Add LOCAL_LICENSE_KINDS to system/core\""
    },
    {
      "commit": "c9605e6ae1ad7b5472cfed8975e72c35036a820c",
      "tree": "db6e7006438f085fa21dacfbe40c9149cc568e93",
      "parents": [
        "1aad41c3e724d3cde90739f0bda6cff0e96c4d6c"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 10 11:10:18 2022 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 10 11:12:20 2022 -0800"
      },
      "message": "Add LOCAL_LICENSE_KINDS to system/core\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  fastboot/fuzzer/Android.bp\n  fs_mgr/fuzz/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nChange-Id: I3bb21e1af846d175a345c2a3a632dc47ecdd62de\n"
    },
    {
      "commit": "1aad41c3e724d3cde90739f0bda6cff0e96c4d6c",
      "tree": "abbd34338e4558df9e41ca738a3b1812002166c5",
      "parents": [
        "2d0281307e1311b7015e7f46346b4c97e409be91",
        "a0049a122d6221ed6052e965cd178172977733a0"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Feb 10 07:34:48 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 10 07:34:48 2022 +0000"
      },
      "message": "Merge changes I5458127b,Ib36bf44c,I481548e8,I449de193\n\n* changes:\n  libsnapshot: Propagate io_uring enablement to daemon\n  snapuserd: Cut down worker threads\n  snapuserd: Terminate daemon spin up during first stage init\n  snapuserd: Avoid checking system properties when daemon launched from fist stage init and during selinux transition\n"
    },
    {
      "commit": "2d0281307e1311b7015e7f46346b4c97e409be91",
      "tree": "7f2c34cdb487a56b1856f4c34818717f897206e3",
      "parents": [
        "a08ebb3086153e764e91b924a72bdfd83f70ba64",
        "94b8a000e4aa77333d860f4d20b46d1ab1eda331"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 10 06:13:13 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 10 06:13:13 2022 +0000"
      },
      "message": "Merge \"Make apex_available explicit\""
    },
    {
      "commit": "a0049a122d6221ed6052e965cd178172977733a0",
      "tree": "ef4199f8dce010ca46412c8f0ea863feb9fee4b4",
      "parents": [
        "1ab17cc2a146e6a0a87f0c384fb320e9a85e8678"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 09 21:28:03 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 09 22:46:49 2022 +0000"
      },
      "message": "libsnapshot: Propagate io_uring enablement to daemon\n\nDuring selinux init transition, system properties\nare not yet enabled. Hence, store the io_uring feature\nin snapshot.proto and propagate the same snapuserd\ndaemon\n\nBug: 214340811\nTest: OTA\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I5458127b00946b5254d5c68d407ab525a0075cb9\n"
    },
    {
      "commit": "1ab17cc2a146e6a0a87f0c384fb320e9a85e8678",
      "tree": "9f62fe9e124074fa5e2ce8a3a8b87ae02a49a487",
      "parents": [
        "b7f0a0420134d7d65a6286845c05a30eb8243c80"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Tue Feb 01 08:07:20 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 09 21:26:27 2022 +0000"
      },
      "message": "snapuserd: Cut down worker threads\n\nWe don\u0027t need 4 threads per partition all the time.\nCut down to 1 thread for all purposes except during boot time.\n\nDuring boot, we need multiple worker threads to serve\nI/O\u0027s to speed up the booting process. For all other\npurposes, single thread is sufficient. It will cut\ndown memory usage ~25MB.\n\nBug: 214340811\nTest: OTA\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: Ib36bf44c63676d3f3169fbda04b7fc3d1760cfbf\n"
    },
    {
      "commit": "b7f0a0420134d7d65a6286845c05a30eb8243c80",
      "tree": "2e03b3134f0b734f60bcadb41835fa6f55dd7f99",
      "parents": [
        "d5f320193c9d46f916a4ad3aead06b0f17666852"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Mon Jan 31 23:04:47 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 09 21:26:11 2022 +0000"
      },
      "message": "snapuserd: Terminate daemon spin up during first stage init\n\nBug: 214340811\nTest: OTA\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I481548e878ff7ee5fdf7343fab961a1ded391634\n"
    },
    {
      "commit": "d5f320193c9d46f916a4ad3aead06b0f17666852",
      "tree": "0294bf76951199f3b7e3d714320b150827671023",
      "parents": [
        "4b7400756ca0c9e7fe20f93d97d203b187d1eca8"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Jan 19 07:49:03 2022 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Feb 09 21:25:59 2022 +0000"
      },
      "message": "snapuserd: Avoid checking system properties when daemon launched\nfrom fist stage init and during selinux transition\n\nBug: 207298357\nTest: OTA\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I449de1939531dbf3cc35e05c80e51237c4dc2b99\n"
    },
    {
      "commit": "a08ebb3086153e764e91b924a72bdfd83f70ba64",
      "tree": "40b5e2b7e726f9f4b36f82a74bedee9c0c0611c5",
      "parents": [
        "4a39ba316f775c77b69b438f42352319c64688fe",
        "ff9cfac08e11aa58ae470f991a8de298afb45e5b"
      ],
      "author": {
        "name": "Kamaljeet Maini",
        "email": "kamaljeet@google.com",
        "time": "Wed Feb 09 19:58:56 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 09 19:58:56 2022 +0000"
      },
      "message": "Merge \"Allow disabling AVB on special vbmeta partitions\""
    },
    {
      "commit": "94b8a000e4aa77333d860f4d20b46d1ab1eda331",
      "tree": "d114c6cc1c77118e43f0a7ebfb2fe355fe68fcca",
      "parents": [
        "c89fed4b59a4151c8e2c245de46971f63376b847"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 09 11:37:19 2022 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 09 11:37:19 2022 -0800"
      },
      "message": "Make apex_available explicit\n\nMove the implicit allowing by modules from a list in the build\ntools to explicit lines in the relevant module\u0027s Android.bp\n\nBug: 215589022\nTest: build\nChange-Id: Ifb93c0a6c4a1bd53a3ad505d27a83c513a98cad8\n"
    },
    {
      "commit": "4a39ba316f775c77b69b438f42352319c64688fe",
      "tree": "813277699e6ca11b7ecc4a62baa7ac666236226c",
      "parents": [
        "a0542fb15f50020037b36e7b4c9730e0b09e8a2c",
        "044be6bceb1bfd706a550805e10d8e208ecfa903"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 08 23:12:39 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 08 23:12:39 2022 +0000"
      },
      "message": "Merge \"libutils: Remove a little dead code\""
    },
    {
      "commit": "a0542fb15f50020037b36e7b4c9730e0b09e8a2c",
      "tree": "6e5c05eaa8242625596715b81c5d000cf8d604ca",
      "parents": [
        "eb710bfa72ad6461ab147f77d8873c561efa1010",
        "39fc18b0cdbaec21b0d6a86ae51a991ba0dd540b"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Feb 08 23:03:06 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 08 23:03:06 2022 +0000"
      },
      "message": "Merge \"libutils -\u003d libprocessgroup dep\""
    }
  ],
  "next": "ff9cfac08e11aa58ae470f991a8de298afb45e5b"
}
