)]}'
{
  "log": [
    {
      "commit": "e8474c2a10be7ca9c8ff1be672017bb55462387b",
      "tree": "94758c83bb5ab1195d5722e8d42b13dde05dd5e8",
      "parents": [
        "6c31ab7a13ec673e038cd2cc93c988098bd6cb7b"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Dec 06 22:44:35 2021 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon Dec 06 23:09:37 2021 -0800"
      },
      "message": "storaged: test do not crash on cuttlefish.\n\nIf device does not have disk stats, do not crash the\ntest. Check for null C strings before converting it\nto std::string.\n\nTest: storaged-unit-tests\nChange-Id: I46c87b6b6876fb0fbdb403c0015886d6d4cca0c6\n"
    },
    {
      "commit": "6c31ab7a13ec673e038cd2cc93c988098bd6cb7b",
      "tree": "5b595db460a773f27ab0b1460d4d45480ec93fa9",
      "parents": [
        "4bf3c13dc5438e88f22c03eb271bdf26c95bd35e",
        "d2f8d51444d2f9843b38ebe3d84870aa0fd4f2bb"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Dec 07 02:58:45 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 07 02:58:45 2021 +0000"
      },
      "message": "Merge changes I350c8c88,I1e462fad\n\n* changes:\n  libsnapshot: Fix unmapping getting skipped for userspace snapshots.\n  libsnapshot: Don\u0027t map \"b\" partitions during testing.\n"
    },
    {
      "commit": "d2f8d51444d2f9843b38ebe3d84870aa0fd4f2bb",
      "tree": "5b595db460a773f27ab0b1460d4d45480ec93fa9",
      "parents": [
        "266f57d672a2c414a2690f1a4fed7e7e5911e85c"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sun Dec 05 19:36:50 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sun Dec 05 22:39:50 2021 -0800"
      },
      "message": "libsnapshot: Fix unmapping getting skipped for userspace snapshots.\n\nWhen the dm-user device isn\u0027t shut down, COW files cannot be deleted.\n\nBug: 208944665\nTest: vts_libsnapshot_test\nChange-Id: I350c8c88c69f9b151032635b0229d281a4bb47ce\n"
    },
    {
      "commit": "266f57d672a2c414a2690f1a4fed7e7e5911e85c",
      "tree": "4fd3c217007f393b48c6b31d162cc71e88a10abc",
      "parents": [
        "4bf3c13dc5438e88f22c03eb271bdf26c95bd35e"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sun Dec 05 21:58:39 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sun Dec 05 22:39:49 2021 -0800"
      },
      "message": "libsnapshot: Don\u0027t map \"b\" partitions during testing.\n\nThis is testing behavior that no longer exists. We never perform an OTA\nwhile system_other is mapped, since it would collide with the snapshot\nfor system.\n\nBug: 208944665\nTest: vts_libsnapshot_test\nChange-Id: I1e462fad3fd59b8b881d98da982a7c22408b837b\n"
    },
    {
      "commit": "4bf3c13dc5438e88f22c03eb271bdf26c95bd35e",
      "tree": "ad9afc5fe9b8aa9db0c793584e96a8b71d1bd62b",
      "parents": [
        "f7da22dfe5849db5ee51f9bf05b8825ea2cde2f9",
        "17572ca9e72aebae7f1ca5b8b4adf549a749333b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 03 23:54:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 03 23:54:20 2021 +0000"
      },
      "message": "Merge \"Explain why snapuserd is a static binary.\""
    },
    {
      "commit": "17572ca9e72aebae7f1ca5b8b4adf549a749333b",
      "tree": "3fdac298235701c5870343edf660682bb2520f2f",
      "parents": [
        "aa6964861a2891758cc6612df37dac7175163d3f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 03 13:57:10 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 03 13:57:10 2021 -0800"
      },
      "message": "Explain why snapuserd is a static binary.\n\nStatic binaries are pretty rare (and usually a bad idea) but there\u0027s a\nrationale for this one, so we should record it.\n\nTest: treehugger\nChange-Id: I7fc5c32bbbec1ccf195d94eaedfb1bd718a364e1\n"
    },
    {
      "commit": "f7da22dfe5849db5ee51f9bf05b8825ea2cde2f9",
      "tree": "2c2efed8860c3a70e7257fe58c19ce1b0bd3c665",
      "parents": [
        "35cbd4d472ab4b9c6a9b774bedf9fbe8eacf3272",
        "ce474ea501aa15fb8b76baf6967d84930461fea0"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Dec 03 20:02:09 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 03 20:02:09 2021 +0000"
      },
      "message": "Merge \"libsnapshot: Fix test failure in CancelOnTargetSlot.\""
    },
    {
      "commit": "35cbd4d472ab4b9c6a9b774bedf9fbe8eacf3272",
      "tree": "0d049e09373c2ba0d7990b9daa316498ded65690",
      "parents": [
        "e8e5b5bb28a80cdfd296fe86f38dd7b089ef1f30",
        "8875abd9ab191a8cc49d3620c64d1dbead2ccdac"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Dec 03 19:28:41 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 03 19:28:41 2021 +0000"
      },
      "message": "Merge \"libsnapshot: Fix crash in MakeXorBlockString test.\""
    },
    {
      "commit": "ce474ea501aa15fb8b76baf6967d84930461fea0",
      "tree": "2c2efed8860c3a70e7257fe58c19ce1b0bd3c665",
      "parents": [
        "8875abd9ab191a8cc49d3620c64d1dbead2ccdac"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Dec 02 21:47:33 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Dec 02 23:51:40 2021 -0800"
      },
      "message": "libsnapshot: Fix test failure in CancelOnTargetSlot.\n\nThis test fails because CreateLogicalPartitions is effectively called\ntwice without unmapping anything.\n\nBug: 208944665\nTest: run_snapshot_tests.sh\nChange-Id: I7e79f43e8de2f79bb72888c4198a95d9bd76bcdd\n"
    },
    {
      "commit": "8875abd9ab191a8cc49d3620c64d1dbead2ccdac",
      "tree": "0d049e09373c2ba0d7990b9daa316498ded65690",
      "parents": [
        "e8e5b5bb28a80cdfd296fe86f38dd7b089ef1f30"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Dec 01 18:31:56 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Thu Dec 02 23:51:39 2021 -0800"
      },
      "message": "libsnapshot: Fix crash in MakeXorBlockString test.\n\nstd::string doesn\u0027t like being initialized with negative values, so use\nmemset() instead.\n\nBug: 208944665\nTest: vts_libsnapshot_test\nChange-Id: I42a1a01fd9e59ffc9913c9df9f4bb8ab85113356\n"
    },
    {
      "commit": "e8e5b5bb28a80cdfd296fe86f38dd7b089ef1f30",
      "tree": "f87d001046d5b4f1b7b68a358e97067a420e1d19",
      "parents": [
        "cddf0f75cf9ffd3fe4a3ab10bd421fac4d135af3",
        "b1ac9b427533d181ea3bc0309c1392553c858500"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Dec 02 02:27:20 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 02 02:27:20 2021 +0000"
      },
      "message": "Merge \"Set min_sdk_version\""
    },
    {
      "commit": "b1ac9b427533d181ea3bc0309c1392553c858500",
      "tree": "f584578060da2d218d40d21904ded69283cdddf5",
      "parents": [
        "904cae37ce9858700bce511dc17d9dd386d06748"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Nov 23 11:11:36 2021 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Dec 02 09:23:42 2021 +0900"
      },
      "message": "Set min_sdk_version\n\nMany modules requiring min_sdk_version have been used without setting\nit, but hard-coded as \"30\" in allowlist.\n\nBug: 158059172\nTest: m\nChange-Id: I0b461c28077584f2db2d2f688423f2227c0a2d1a\n"
    },
    {
      "commit": "cddf0f75cf9ffd3fe4a3ab10bd421fac4d135af3",
      "tree": "4eaaa2dc3d0ed0cfe88fdb6230f8d323ac472877",
      "parents": [
        "904cae37ce9858700bce511dc17d9dd386d06748",
        "14e9504d2ea495a93dae9ccb9bf9bfba73691165"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Dec 01 20:36:24 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 01 20:36:24 2021 +0000"
      },
      "message": "Merge \"snapuserd: Address alignment fault on 32-bit systems\""
    },
    {
      "commit": "14e9504d2ea495a93dae9ccb9bf9bfba73691165",
      "tree": "4eaaa2dc3d0ed0cfe88fdb6230f8d323ac472877",
      "parents": [
        "904cae37ce9858700bce511dc17d9dd386d06748"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Dec 01 12:06:51 2021 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Dec 01 20:23:58 2021 +0000"
      },
      "message": "snapuserd: Address alignment fault on 32-bit systems\n\nWhen the scratch space is mmap\u0027ed, the metadata buffer\nwill be un-aligned. This may lead to alignment fault\non 32-bit systems. Address this by temporarily copying\nit to buffer.\n\nNo perf impact as this code path is not in I/O path\nand the copy is a for the size of metadata buffer which\nis 8k.\n\nBug: 206426215\nTest: Full and Incremental OTA on pixel\n1: Compile snapuserd as 32 bit and reproduced the bug on pixel.\n2: With fix - OTA applied successfully.\n3: Reboot the device when merge was in-flight as the fix is primarily\nin that path.\n4: Verify merge completion and data integrity post merge.\n\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I63c0d862057ebf138c9d1696a942030e30598739\n"
    },
    {
      "commit": "904cae37ce9858700bce511dc17d9dd386d06748",
      "tree": "a932a47e3482a555b3622f8469d79d8029244688",
      "parents": [
        "437fb62cf6333abdd1321edce2060856d7bc0285",
        "c2cc120d600ae3cc1656a8048de1dfcce6dfc085"
      ],
      "author": {
        "name": "Armelle Laine",
        "email": "armellel@google.com",
        "time": "Tue Nov 30 23:41:46 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 30 23:41:46 2021 +0000"
      },
      "message": "Merge \"trusty: update default_applicable_licenses \"Android-Apache-2.0\"\""
    },
    {
      "commit": "437fb62cf6333abdd1321edce2060856d7bc0285",
      "tree": "bea237e3701122cfc12a15078e621d13ded5c46d",
      "parents": [
        "aa6964861a2891758cc6612df37dac7175163d3f",
        "36ba349e8fbe400fb9ddace00401c57fef6e2f41"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Nov 30 23:03:14 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 30 23:03:14 2021 +0000"
      },
      "message": "Merge \"init: Remove first_stage_mount support for AVB 1.0.\""
    },
    {
      "commit": "36ba349e8fbe400fb9ddace00401c57fef6e2f41",
      "tree": "e648e3279864c3b82d52d0d2c8c140baa7c37b44",
      "parents": [
        "e33c0e547d1f93546bf2db3392f1459210cf6056"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Oct 29 15:39:50 2021 -0700"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Nov 30 00:57:48 2021 -0800"
      },
      "message": "init: Remove first_stage_mount support for AVB 1.0.\n\nBug: 204598884\nTest: treehugger\nChange-Id: I6927198b706136de9721df86e24e5828c9f4f1c2\n"
    },
    {
      "commit": "aa6964861a2891758cc6612df37dac7175163d3f",
      "tree": "fb597a190732a3c9c9b5e75001b02ec7a86d2ad8",
      "parents": [
        "4bbf1c9d24c9d0ed230fbcbfa6906c37caa7505a",
        "820da6589770efed923dd1dcb9b20e576ab32772"
      ],
      "author": {
        "name": "Christopher Parsons",
        "email": "cparsons@google.com",
        "time": "Mon Nov 29 22:48:53 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 29 22:48:53 2021 +0000"
      },
      "message": "Merge \"Remove libdl from shared_libs\""
    },
    {
      "commit": "820da6589770efed923dd1dcb9b20e576ab32772",
      "tree": "fb597a190732a3c9c9b5e75001b02ec7a86d2ad8",
      "parents": [
        "4bbf1c9d24c9d0ed230fbcbfa6906c37caa7505a"
      ],
      "author": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Tue Nov 23 12:29:15 2021 -0500"
      },
      "committer": {
        "name": "Chris Parsons",
        "email": "cparsons@google.com",
        "time": "Mon Nov 29 17:43:04 2021 -0500"
      },
      "message": "Remove libdl from shared_libs\n\nThis entry is redundant, as system_shared_libs by default includes\nlibdl.\n\nThis should be a no-op change for the current build system, but avoids\nan issue on the alternative (experimantal) build system, Bazel.\n\nTest: md5sum libutils.so before/after on aosp_flame, verified no changes\nChange-Id: I18f6e67c3e23299a0f1e0ef530a0a809b068dc03\n"
    },
    {
      "commit": "c2cc120d600ae3cc1656a8048de1dfcce6dfc085",
      "tree": "dc5c7dcba8b615dcf5cb39da38d511cc195aba10",
      "parents": [
        "d0a4e710e9241fbf427fbebf107648841663e0a4"
      ],
      "author": {
        "name": "Armelle Laine",
        "email": "armellel@google.com",
        "time": "Mon Nov 08 04:28:31 2021 +0000"
      },
      "committer": {
        "name": "Armelle Laine",
        "email": "armellel@google.com",
        "time": "Mon Nov 29 19:53:54 2021 +0000"
      },
      "message": "trusty: update default_applicable_licenses \"Android-Apache-2.0\"\n\nrpmb_dev is a rpmb device stub used in emulation\nas well as platform early bringup so we don\u0027t expect\nany open source developer to be impacted by the migration\nfrom MIT to Apache 2.0.\nNote that with such a migration to Apache 2.0, recipients\nwon\u0027t receive lesser permissions, they just have updated\nrequirements for which license text to share along with the code.\n\nBug: 191508826\nTest: None\nSigned-off-by: Armelle Laine \u003carmellel@google.com\u003e\nChange-Id: I0ae2bc66901344f8f9227e929a98946e52c50355\n"
    },
    {
      "commit": "4bbf1c9d24c9d0ed230fbcbfa6906c37caa7505a",
      "tree": "a32026c9810654d42e8cae2492125fd43fefe72c",
      "parents": [
        "a927f51846dd31e4a0346293a5158d3128321979",
        "3bada5cbcd9990411fc7a25070236f6a52c4d5c8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 23 17:54:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 23 17:54:31 2021 +0000"
      },
      "message": "Merge \"Make libmini_keyctl_static available in recovery\""
    },
    {
      "commit": "a927f51846dd31e4a0346293a5158d3128321979",
      "tree": "47e93ddaadad181ef88bdd8b461f36a601463004",
      "parents": [
        "e33c0e547d1f93546bf2db3392f1459210cf6056",
        "26083e88e5680607d8c40a1b3d7e2994a65bb213"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 23 12:23:49 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 23 12:23:49 2021 +0000"
      },
      "message": "Merge \"mini_keyctl: add OWNERS\""
    },
    {
      "commit": "26083e88e5680607d8c40a1b3d7e2994a65bb213",
      "tree": "47e93ddaadad181ef88bdd8b461f36a601463004",
      "parents": [
        "e33c0e547d1f93546bf2db3392f1459210cf6056"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue Nov 23 11:52:31 2021 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Nov 23 11:16:05 2021 +0000"
      },
      "message": "mini_keyctl: add OWNERS\n\nTest: n/a\nChange-Id: Ib068ec6658779b2baa0772b5ae3a2e4665caa260\n"
    },
    {
      "commit": "3bada5cbcd9990411fc7a25070236f6a52c4d5c8",
      "tree": "e86491cb9cc23840ef9612302d853b28ced4454b",
      "parents": [
        "eb749382694834c2f82c2aa91475c78658206971"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 22 21:35:04 2021 +0100"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 22 21:35:04 2021 +0100"
      },
      "message": "Make libmini_keyctl_static available in recovery\n\nSo libfsverity_init can be used in init to load fsverity keys in\nearly boot.\n\nBug: 199914227\nTest: build\nChange-Id: I514ab602ef03f4528cb013bd268fa6dfcb7eb5b2\n"
    },
    {
      "commit": "e33c0e547d1f93546bf2db3392f1459210cf6056",
      "tree": "1599ede677ea1662d0957a348b61dc24ef8fd7b8",
      "parents": [
        "04eecd441c3af684a41e88bf56669b85141f995c",
        "eb749382694834c2f82c2aa91475c78658206971"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 22 20:23:44 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 22 20:23:44 2021 +0000"
      },
      "message": "Merge \"Mark fs-verity support for /metadata if first_api_level \u003e\u003d R\""
    },
    {
      "commit": "04eecd441c3af684a41e88bf56669b85141f995c",
      "tree": "d05d82951d366c2c6a06cf39436bd81524ce4a25",
      "parents": [
        "1d02ce9ad4f7a93c4a28a2e8fc992af62d56e621",
        "a781512188dd1a975a40f29a5d1aa52ea42fb8f7"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Mon Nov 22 20:16:06 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 22 20:16:06 2021 +0000"
      },
      "message": "Merge changes from topic \"vabc-user-snapshots\"\n\n* changes:\n  snapuserd: Add unit test for test merge code path\n  libsnapshot: Add vts_userspace_snapshot_test\n  libsnapshot: Integrate userspace snapshots APIs\n"
    },
    {
      "commit": "1d02ce9ad4f7a93c4a28a2e8fc992af62d56e621",
      "tree": "ceb20753ef65d31e849ad6c7acd43857abaf839e",
      "parents": [
        "92b3b3fff6fe42048336483c3855b46cb692d10e",
        "b440e0c0774b603e01536532fe5721116b1c7681"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 22 18:21:09 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 22 18:21:09 2021 +0000"
      },
      "message": "Merge \"Configure Trusty KeyMint devices to use attest_keys.\""
    },
    {
      "commit": "92b3b3fff6fe42048336483c3855b46cb692d10e",
      "tree": "3984c4564b01f34bfd2de9cc9815b9b4b5b8239d",
      "parents": [
        "ba3ae06a15dd79453017288e129c4100b8bdcaf1",
        "70d057448d774907f96eb5ccc8dbe40cbcbef709"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Mon Nov 22 18:16:10 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 22 18:16:10 2021 +0000"
      },
      "message": "Merge \"overlayfs: Use userxattrs on supporting kernels.\""
    },
    {
      "commit": "b440e0c0774b603e01536532fe5721116b1c7681",
      "tree": "523236df0fc80478ebd48a142d03ccf90f82128e",
      "parents": [
        "a3359bb3c916fdfd4c217d87e759b551138508a2"
      ],
      "author": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Fri Oct 29 09:44:01 2021 -0600"
      },
      "committer": {
        "name": "Shawn Willden",
        "email": "swillden@google.com",
        "time": "Mon Nov 22 16:52:30 2021 +0000"
      },
      "message": "Configure Trusty KeyMint devices to use attest_keys.\n\nChange-Id: If86133e7648b601a4a61ea5614e6971a2bb8d264\nBug: 197096139\nTest: Manual\n"
    },
    {
      "commit": "eb749382694834c2f82c2aa91475c78658206971",
      "tree": "95c026adb11a9d486de96d37ed57a5316f4239e9",
      "parents": [
        "e2316bb11cf76d0825e525738743ded74c26d2f9"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 22 10:22:09 2021 +0100"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 22 10:26:51 2021 +0100"
      },
      "message": "Mark fs-verity support for /metadata if first_api_level \u003e\u003d R\n\nfs-verity is required for new devices launched with R.\n\nThis allows files stored on /metadata to be protected by fsverity.\n\nBug: 199914227\nTest: mini-keyctl padd asymmetric fsv-sepolicy .fs-verity \\\n\u003c /system/etc/security/com.android.sepolicy.cert.der\ncp /apex/com.android.sepolicy.apex/app/SEPolicy-33/SEPolicy-33.apk \\\n/metadata/sepolicy/\nfsverity enable /metadata/sepolicy/SEPolicy-33.apk \\\n--signature\u003d/apex/com.android.sepolicy.apex/etc/SEPolicy-33.apk.fsv_sig\n\nChange-Id: I44434e3d026f1dbe6e261c365b3c70d3556a80b1\n"
    },
    {
      "commit": "ba3ae06a15dd79453017288e129c4100b8bdcaf1",
      "tree": "51c704e7c9f705360c30a53863888513e9da43a6",
      "parents": [
        "4993168f9c6db7539e820fa5761c74373e27330b",
        "b77377e62f21f77983fa14c210487bd8794181ca"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 22 08:47:18 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 22 08:47:18 2021 +0000"
      },
      "message": "Merge \"Check vendor namespace for SPHAL namespace\""
    },
    {
      "commit": "b77377e62f21f77983fa14c210487bd8794181ca",
      "tree": "51c704e7c9f705360c30a53863888513e9da43a6",
      "parents": [
        "4993168f9c6db7539e820fa5761c74373e27330b"
      ],
      "author": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Nov 22 10:57:44 2021 +0900"
      },
      "committer": {
        "name": "Kiyoung Kim",
        "email": "kiyoungkim@google.com",
        "time": "Mon Nov 22 10:57:44 2021 +0900"
      },
      "message": "Check vendor namespace for SPHAL namespace\n\nVendor APEX section should not separate SPHAL in generic, and also\ndefault namespace does not contain vendor libs in the scope. This change\nupdates libvndksupport to check \u0027vendor\u0027 namespace when there is no\nsphal namespace for vendor APEX section case.\n\nBug: 193861508\nTest: AOSP CF x86_64 boot succeeded\nChange-Id: I04cefc12be4c8ec261efb1688a8307b7061bf068\n"
    },
    {
      "commit": "4993168f9c6db7539e820fa5761c74373e27330b",
      "tree": "7151aaa53f9aecad44848dc867e881f656d313e5",
      "parents": [
        "bad9f5fd89efd14edcedb244466c6bd95d78b90b",
        "2285b528de460e2100f6852522963e6ac8ca18b4"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Sat Nov 20 03:16:22 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Nov 20 03:16:22 2021 +0000"
      },
      "message": "Merge \"init: Add a way to class_restart only enabled services.\""
    },
    {
      "commit": "70d057448d774907f96eb5ccc8dbe40cbcbef709",
      "tree": "11b3d6c1c35b293c0de43d182ef0c995b1186cfc",
      "parents": [
        "bad9f5fd89efd14edcedb244466c6bd95d78b90b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Nov 19 16:00:27 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Nov 19 16:03:52 2021 -0800"
      },
      "message": "overlayfs: Use userxattrs on supporting kernels.\n\nIn previous kernels, overlayfs stored its xattrs with a \"trusted.\"\nprefix. This requires CAP_SYS_ADMIN. As a workaround, we carried\nout-of-tree kernel patches to bypass the security checks on these attrs.\n\nThe 5.15 kernel however has a new mount option \"userxattr\". When this is\nset, the \"trusted.\" prefix is replaced with \"user.\", which eliminates\nthe CAP_SYS_ADMIN requirement.\n\nOn kernels \u003e\u003d 5.15 we can use this feature and drop some of our\nout-of-tree patches.\n\nBug: 204981027\nTest: adb remount on cuttlefish with \u003e\u003d5.15\nChange-Id: I3f0ca637a62c949fe481eea84f2c682f1ff4517a\n"
    },
    {
      "commit": "a781512188dd1a975a40f29a5d1aa52ea42fb8f7",
      "tree": "b73b196ab2351360e5ae0f0c66d6712f6b57d5d5",
      "parents": [
        "6e35cb89ffeb6cf34e104e3aff331080248f7a02"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Aug 18 00:10:43 2021 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Nov 19 23:47:26 2021 +0000"
      },
      "message": "snapuserd: Add unit test for test merge code path\n\nMost of the test cases are similar to dm-snapshot-merge.\n\nAdditional test cases have been added primarily to test\nI/O\u0027s in parallel with merge.\n\nBug: 193863397\nTest: snapuserd_test\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I2764e6971989c121be873cc425cac464f31ce85f\n"
    },
    {
      "commit": "6e35cb89ffeb6cf34e104e3aff331080248f7a02",
      "tree": "eceafdab062ff3c767b6f0e721344fee4bee5f64",
      "parents": [
        "3b874456fc75e388d7e0c35b401b841a8372161b"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Nov 18 23:00:29 2021 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Nov 19 23:47:04 2021 +0000"
      },
      "message": "libsnapshot: Add vts_userspace_snapshot_test\n\nToggle virtual_ab.userspace.snapshots.enabled to test\nboth:\n\n1: vts_libsnapshot_test - testing kernel dm-snapshot\n2: vts_userspace_snapshot_test - testing user-space snapshot\n\nBug: 193863443\nTest: vts_userspace_snapshot_test\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I873e7476d71feb9a2e12054e968443bd22ee817c\n"
    },
    {
      "commit": "3b874456fc75e388d7e0c35b401b841a8372161b",
      "tree": "4b5fe802df2d696e96775d1faed0b8cf8fe573bf",
      "parents": [
        "adae76698657a6b513825aecfdc2201dd1774fb1"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Sun Oct 03 09:41:13 2021 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Nov 19 23:45:43 2021 +0000"
      },
      "message": "libsnapshot: Integrate userspace snapshots APIs\n\ndm-user block device will be the snapshot device; thus, no\nmore explicit call to MapSnapshot(). Additionally, block device\nname for dm-user will be the snapshot name so that mount works\nseamlessly.\n\nAPI\u0027s to query the snapshot status, merge progress has been\nintegrated. Since daemon requires base device for merge, we pass\nadditional parameter during initialization.\n\nAdd a new virtual a/b property flag to enable/disable\nuser-snapshots feature. Propagate this flag to init layer\nfor first stage mount during boot process.\n\nSome minor cleanup and renaming of variables.\n\nBug: 193863443\nTest: 1: Full OTA on CF and pixel and verify the merge completion.\nTested merge-resume path by rebooting device during merge.\n2: Incremental OTA on CF and pixel\n\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\nChange-Id: I5088f40a55807946cd044b3987678ead3696d996\n"
    },
    {
      "commit": "bad9f5fd89efd14edcedb244466c6bd95d78b90b",
      "tree": "a31f388bd7bcf5d5ce375dd0c69027e8fe4d1064",
      "parents": [
        "adae76698657a6b513825aecfdc2201dd1774fb1",
        "bdea3bb56b8088196b2ada3c4bee92a7858cf232"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 19 18:22:46 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 19 18:22:46 2021 +0000"
      },
      "message": "Merge \"Remove non-protobuf path.\""
    },
    {
      "commit": "bdea3bb56b8088196b2ada3c4bee92a7858cf232",
      "tree": "ba72c2da4225676f92d1102eae81b18624c34956",
      "parents": [
        "5f77edac5b0c8bd2e9aa1d0363f892f294d494cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 17 01:09:22 2021 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 19 02:07:30 2021 +0000"
      },
      "message": "Remove non-protobuf path.\n\nIt is expensive to keep the non-protobuf path around and it hasn\u0027t\nbeen used for an entire release without anyone noticing, so remove it.\n\nCreate new end-to-end unit tests that cover tests of the non-proto\ncode paths that are being deleted.\n\nBug: 197981919\n\nTest: Unit tests pass.\nChange-Id: Ia1c45572300bd63e5f196ad61e5e5386830c8ece\n"
    },
    {
      "commit": "adae76698657a6b513825aecfdc2201dd1774fb1",
      "tree": "593fad5842ab003af597367346aa025b201d0762",
      "parents": [
        "9eeffa42e6508664475e86956d04a585aff9deaf",
        "97f2fdff68cd647202610f6c973a2f80f7ef1238"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Thu Nov 18 08:24:41 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 18 08:24:41 2021 +0000"
      },
      "message": "Merge changes I3f56a83e,Icce8c1b5\n\n* changes:\n  Reland \"Add ParseFstabFromString(), remove ReadFstabFromFp()\"\n  Reland \"Replace strtok_r() with C++-style android::base::Tokenize()\"\n"
    },
    {
      "commit": "9eeffa42e6508664475e86956d04a585aff9deaf",
      "tree": "e83a20d158819b92e9b0ec4d873fc3c0fc786f9f",
      "parents": [
        "fec41dda670fdd1b468d88244dbe9eaf283618b6",
        "ebaa3e51460e41e18d8b5fb13a1382c6ba39ce8f"
      ],
      "author": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Wed Nov 17 21:24:28 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 17 21:24:28 2021 +0000"
      },
      "message": "Merge \"Revert^2 \"Load persist props before starting apexd.\"\""
    },
    {
      "commit": "97f2fdff68cd647202610f6c973a2f80f7ef1238",
      "tree": "8b467e89d33e30f342bc7bc9df6ac35a8cc22480",
      "parents": [
        "b8837396df7cc422a3a76ee6cebed1182c030b65"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Nov 12 19:19:29 2021 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Nov 17 16:52:17 2021 +0000"
      },
      "message": "Reland \"Add ParseFstabFromString(), remove ReadFstabFromFp()\"\n\nReadFstabFromFp() have two callers right now, ReadFstabFromFile() and\nReadFstabFromDt(). ReadFstabFromFile() opens a FILE* and pass it to\nReadFstabFromFp(), and ReadFstabFromDt() wraps a std::string::c_str()\nbuffer in a FILE* adaptor with fmemopen().\n\nThere\u0027s no need for such adaptor, just change ReadFstabFromFp() to\naccept std::string and we\u0027re good.\n\nBug: 206740783\nBug: 204056804\nTest: atest CtsFsMgrTestCases\nTest: m libfstab_fuzzer\nChange-Id: I3f56a83ec5baf7b0d97a618a2c2bb6e31b67b5d9\n"
    },
    {
      "commit": "b8837396df7cc422a3a76ee6cebed1182c030b65",
      "tree": "8d947c17b01c7dfb8ba075810fee712bece92233",
      "parents": [
        "fec41dda670fdd1b468d88244dbe9eaf283618b6"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Thu Nov 11 22:17:35 2021 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Nov 17 16:40:01 2021 +0000"
      },
      "message": "Reland \"Replace strtok_r() with C++-style android::base::Tokenize()\"\n\nandroid::base::Tokenize() is like android::base::Split() but ignores\nempty tokens. Think strtok_r() and strsep().\nC++-ify parsing code by replacing strtok_r() with Tokenize(), which\nresults in more concise and readable code.\n\nBug: 204056804\nTest: atest CtsFsMgrTestCases\n(cherry picked from commit 3c1b581fd5f67487c67ccf3f7ab6fd3beb0b29ef)\n\nChange-Id: Icce8c1b5ad074421052f68fa138d90adb85cca27\n"
    },
    {
      "commit": "fec41dda670fdd1b468d88244dbe9eaf283618b6",
      "tree": "ee043143371a67dc511d26a4d57f0326513b6cfc",
      "parents": [
        "82d6d124f38d328a95bd0be4a509800029457ce6",
        "867916e8b528952b1530360f995e7d4dc3ef3fc0"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 17 16:22:28 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 17 16:22:28 2021 +0000"
      },
      "message": "Merge changes from topic \"revert-1890098-KOOTTLPTTT\"\n\n* changes:\n  Revert \"Replace strtok_r() with C++-style android::base::Tokenize()\"\n  Revert \"Add ParseFstabFromString(), remove ReadFstabFromFp()\"\n"
    },
    {
      "commit": "867916e8b528952b1530360f995e7d4dc3ef3fc0",
      "tree": "9a714c2e8a2458e00a65c4f29d1cc68426fab9b7",
      "parents": [
        "62291bfd5c5d431b409e4142c1882952b8fe6070"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 17 15:51:01 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 17 15:51:01 2021 +0000"
      },
      "message": "Revert \"Replace strtok_r() with C++-style android::base::Tokenize()\"\n\nRevert submission 1890098\n\nReason for revert: Breaks tests, b/206740783\nReverted Changes:\nI71190c735:Add ParseFstabFromString(), remove ReadFstabFromFp...\nIc1dd0eb97:Replace strtok_r() with C++-style android::base::T...\n\nChange-Id: I1eecdc43d504385b00caec17db626eb1d623c8ef\n"
    },
    {
      "commit": "62291bfd5c5d431b409e4142c1882952b8fe6070",
      "tree": "c35396bad3c5ed007c6243280139d121a3b35cfe",
      "parents": [
        "c811d139aa71bcbe84fec87218b066e7f32f5ac3"
      ],
      "author": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 17 15:51:01 2021 +0000"
      },
      "committer": {
        "name": "Martin Stjernholm",
        "email": "mast@google.com",
        "time": "Wed Nov 17 15:51:01 2021 +0000"
      },
      "message": "Revert \"Add ParseFstabFromString(), remove ReadFstabFromFp()\"\n\nRevert submission 1890098\n\nReason for revert: Breaks tests, b/206740783\nReverted Changes:\nI71190c735:Add ParseFstabFromString(), remove ReadFstabFromFp...\nIc1dd0eb97:Replace strtok_r() with C++-style android::base::T...\n\nChange-Id: I1ded0217670a9bf3f2485120ee0dddf3e854a6fb\n"
    },
    {
      "commit": "82d6d124f38d328a95bd0be4a509800029457ce6",
      "tree": "c8c03cbdfee125b74ded3f431d50062b782bdb11",
      "parents": [
        "e2316bb11cf76d0825e525738743ded74c26d2f9",
        "75d0b33d0fd8a1ca3746a641c144f185598da9b3"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Nov 17 14:11:14 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 17 14:11:14 2021 +0000"
      },
      "message": "Merge \"mkdir /metadata/sepolicy\""
    },
    {
      "commit": "75d0b33d0fd8a1ca3746a641c144f185598da9b3",
      "tree": "e8b05de9d2d31c8edebd373937e5d2f966c38cc1",
      "parents": [
        "9ac28517a35771f686998766384bdec5ae15f757"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Nov 17 08:55:35 2021 +0100"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Nov 17 10:45:34 2021 +0000"
      },
      "message": "mkdir /metadata/sepolicy\n\nTest: make -j; launch_cvd; adb shell ls -laZ /metadata/sepolicy\nBug: 199914227\nChange-Id: I005d3eee0e047da9a7f671e87a0274fedaf59447\n"
    },
    {
      "commit": "e2316bb11cf76d0825e525738743ded74c26d2f9",
      "tree": "6fada2b9b9bd151341c8eb3f0619e2292da61233",
      "parents": [
        "5f77edac5b0c8bd2e9aa1d0363f892f294d494cc",
        "c811d139aa71bcbe84fec87218b066e7f32f5ac3"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Nov 17 04:21:55 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 17 04:21:55 2021 +0000"
      },
      "message": "Merge changes I71190c73,Ic1dd0eb9\n\n* changes:\n  Add ParseFstabFromString(), remove ReadFstabFromFp()\n  Replace strtok_r() with C++-style android::base::Tokenize()\n"
    },
    {
      "commit": "ebaa3e51460e41e18d8b5fb13a1382c6ba39ce8f",
      "tree": "2fc7afd393ffb3ac177862cef535c1fe6cf417d7",
      "parents": [
        "f106650b04706705683f60ca4fc4cbfad0f8fb05"
      ],
      "author": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Tue Nov 16 20:28:29 2021 +0000"
      },
      "committer": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Tue Nov 16 20:28:29 2021 +0000"
      },
      "message": "Revert^2 \"Load persist props before starting apexd.\"\n\nf106650b04706705683f60ca4fc4cbfad0f8fb05\n\nChange-Id: I8a774130d178dbf56ba23d152c82a57751de4b6b\n"
    },
    {
      "commit": "5f77edac5b0c8bd2e9aa1d0363f892f294d494cc",
      "tree": "34077c5798c4fdab3b713b7d34ac5f0578700865",
      "parents": [
        "469e830cfd1d04a19abe883ed545844a6a3ed2b8",
        "f106650b04706705683f60ca4fc4cbfad0f8fb05"
      ],
      "author": {
        "name": "Owen Kim",
        "email": "owenkmg@google.com",
        "time": "Tue Nov 16 08:39:27 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 16 08:39:27 2021 +0000"
      },
      "message": "Merge \"Revert \"Load persist props before starting apexd.\"\""
    },
    {
      "commit": "f106650b04706705683f60ca4fc4cbfad0f8fb05",
      "tree": "0dce929ae94bfd7c9b5424189c840d19d1993e92",
      "parents": [
        "4b09b5e20220ce0d549fe0c163ceb48f03671c4d"
      ],
      "author": {
        "name": "Owen Kim",
        "email": "owenkmg@google.com",
        "time": "Tue Nov 16 07:08:15 2021 +0000"
      },
      "committer": {
        "name": "Owen Kim",
        "email": "owenkmg@google.com",
        "time": "Tue Nov 16 07:08:15 2021 +0000"
      },
      "message": "Revert \"Load persist props before starting apexd.\"\n\nRevert \"Demonstrate multi-installed APEXes.\"\n\nRevert \"Adds a new prop context for choosing between multi-insta...\"\n\nRevert \"Adds multi_install_skip_symbol_files field (default fals...\"\n\nRevert submission 1869814-vapex-multi-config\n\nBug: 206551398\nReason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/tests/view?invocationId\u003dI55600009996329947\u0026testResultId\u003dTR93527797572038984, bug b/206551398\nReverted Changes:\nI0cd9d748d:Adds multi_install_skip_symbol_files field (defaul...\nI5912a18e3:Demonstrate multi-installed APEXes.\nI0e6881e3a:Load persist props before starting apexd.\nI932442ade:Adds a new prop context for choosing between multi...\nI754ecc3f7:Allow users to choose between multi-installed vend...\n\nChange-Id: I27a4985061b112af7d0e9b95b6d42ccd9b846471\n"
    },
    {
      "commit": "469e830cfd1d04a19abe883ed545844a6a3ed2b8",
      "tree": "40a43f25a51d2d95cbed0fa0c5ff2f2e53d95568",
      "parents": [
        "833adaf250ecefe4c64785bde663bf4718a7b333",
        "8d8d9d853a257b27a82497fe0eeb03fd6aad8db0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 16 06:06:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 16 06:06:31 2021 +0000"
      },
      "message": "Merge \"Restart media.tuner when zygote is restarted.\""
    },
    {
      "commit": "833adaf250ecefe4c64785bde663bf4718a7b333",
      "tree": "6efb10b8b8b1bf4b2a9bc4ad42a192be14c8864d",
      "parents": [
        "2df049ff269e5ed934818deca4f8968f0f7ec425",
        "eee9fe4777d1483ed5b0dad81df2d60f8ec826aa"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Tue Nov 16 05:13:59 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 16 05:13:59 2021 +0000"
      },
      "message": "Merge \"Remove std::move() around const variable\""
    },
    {
      "commit": "8d8d9d853a257b27a82497fe0eeb03fd6aad8db0",
      "tree": "e583b56c188805059e71b9bcd7bae9cf9e153990",
      "parents": [
        "d0ed71dcb7cb98868eec8fdd217a52330da4366e"
      ],
      "author": {
        "name": "Hongguang",
        "email": "hgchen@google.com",
        "time": "Fri Nov 12 16:08:35 2021 -0800"
      },
      "committer": {
        "name": "Hongguang Chen",
        "email": "hgchen@google.com",
        "time": "Tue Nov 16 04:51:49 2021 +0000"
      },
      "message": "Restart media.tuner when zygote is restarted.\n\nBug: 206042321\nTest: Kill system_server and dumpsys tv_tuner_resource_mgr\nChange-Id: Icc83453ef8852a07329757fecd10e8898a9dbdcd\n"
    },
    {
      "commit": "2df049ff269e5ed934818deca4f8968f0f7ec425",
      "tree": "e0bf8febb79970afcf27009bfab96104f62c324e",
      "parents": [
        "b3aa2c46918383ef70a03eadd902746034da3071",
        "4321017c3213d12a0cc09ecd90860c1bedca4df4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 16 03:29:56 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 16 03:29:56 2021 +0000"
      },
      "message": "Merge \"remove \u0027net.qtaguid_enabled\u0027 property\""
    },
    {
      "commit": "b3aa2c46918383ef70a03eadd902746034da3071",
      "tree": "fea21efe3fbc36ca74dcb123d6ce7fcc90544d97",
      "parents": [
        "d0ed71dcb7cb98868eec8fdd217a52330da4366e",
        "4b09b5e20220ce0d549fe0c163ceb48f03671c4d"
      ],
      "author": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Tue Nov 16 00:45:32 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 16 00:45:32 2021 +0000"
      },
      "message": "Merge \"Load persist props before starting apexd.\""
    },
    {
      "commit": "c811d139aa71bcbe84fec87218b066e7f32f5ac3",
      "tree": "e47c266775b75346fcaf234127eb56d7a458a1bc",
      "parents": [
        "3c1b581fd5f67487c67ccf3f7ab6fd3beb0b29ef"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Nov 12 19:19:29 2021 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Mon Nov 15 14:27:19 2021 +0800"
      },
      "message": "Add ParseFstabFromString(), remove ReadFstabFromFp()\n\nReadFstabFromFp() have two callers right now, ReadFstabFromFile() and\nReadFstabFromDt(). ReadFstabFromFile() opens a FILE* and pass it to\nReadFstabFromFp(), and ReadFstabFromDt() wraps a std::string::c_str()\nbuffer in a FILE* adaptor with fmemopen().\n\nThere\u0027s no need for such adaptor, just change ReadFstabFromFp() to\naccept std::string and we\u0027re good.\n\nBug: 204056804\nTest: atest CtsFsMgrTestCases\nTest: m libfstab_fuzzer\nChange-Id: I71190c7356a354aa06d1be3fdc4ca76611b3896d\n"
    },
    {
      "commit": "eee9fe4777d1483ed5b0dad81df2d60f8ec826aa",
      "tree": "f4c9d90458ca4c3647d7502fbdf0042d253351c0",
      "parents": [
        "a44f269ebac08eba48d3b3c3a4320039beeaa3c8"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Nov 12 21:45:24 2021 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Mon Nov 15 13:36:02 2021 +0800"
      },
      "message": "Remove std::move() around const variable\n\nbecause const variable cannot be moved.\n\nBug: 204056804\nTest: Presubmit\nChange-Id: Iec13deb0f306976cfaee88da57a17f857ac35c8a\n"
    },
    {
      "commit": "d0ed71dcb7cb98868eec8fdd217a52330da4366e",
      "tree": "d55199f5b72848b05ec51c8867e5ff78e9ab1f91",
      "parents": [
        "2c74197cae51ea93f916dfa8c64d72ba1a40b20b",
        "efe209352edc4d5bf856d9de2bd1b0f382eba4c5"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 23:28:04 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 12 23:28:04 2021 +0000"
      },
      "message": "Merge \"fs_mgr: allow FDE options in recovery mode\""
    },
    {
      "commit": "2285b528de460e2100f6852522963e6ac8ca18b4",
      "tree": "e2a25df55de5fa5373e92b26207b0968c2e891ec",
      "parents": [
        "2c74197cae51ea93f916dfa8c64d72ba1a40b20b"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Tue Nov 09 18:26:39 2021 -0800"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Nov 12 22:31:12 2021 +0000"
      },
      "message": "init: Add a way to class_restart only enabled services.\n\nclass_restart accidentally restarts disabled services. Changing this\nbehavior is risky as it could break compatibility. Instead, add an\n\"--only-enabled\" argument to class_restart to opt-in to the new\nfunctionality. This syntax is backward compatible, as previously only a\n1-argument form was accepted.\n\nBug: 190065372\nBug: 198105685\nTest: add a class_restart action and a disabled service, make sure\n      service is not restarted.\nChange-Id: Idb08779de7ac7a21e23f8b8a3276bd5a66a43299\n"
    },
    {
      "commit": "2c74197cae51ea93f916dfa8c64d72ba1a40b20b",
      "tree": "bb4d56fbf652abc6aa081be3aede9f02b131b01d",
      "parents": [
        "e2b03b92c17d8f0172963e151787bf720a4848a8",
        "9e21700282e1ad6ad3c89177d6bfcf6e1bc2fcee"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 22:05:41 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 12 22:05:41 2021 +0000"
      },
      "message": "Merge \"fs_mgr: allow any argument to encryptable\""
    },
    {
      "commit": "efe209352edc4d5bf856d9de2bd1b0f382eba4c5",
      "tree": "d55199f5b72848b05ec51c8867e5ff78e9ab1f91",
      "parents": [
        "9e21700282e1ad6ad3c89177d6bfcf6e1bc2fcee"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 13:07:04 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 13:11:46 2021 -0800"
      },
      "message": "fs_mgr: allow FDE options in recovery mode\n\nUnfortunately, some recovery fstabs still specify the FDE options, where\nthey never really did anything anyway.  Allow them for now, since it\nseems preferable to restrict any breakage to the case that really\nmatters (devices actually configured to use FDE in their main fstab).\n\nBug: 191796797\nBug: 206025578\nChange-Id: I85e35af8f42d2aef91f08816a67a71bbf756b211\n"
    },
    {
      "commit": "9e21700282e1ad6ad3c89177d6bfcf6e1bc2fcee",
      "tree": "bb4d56fbf652abc6aa081be3aede9f02b131b01d",
      "parents": [
        "e2b03b92c17d8f0172963e151787bf720a4848a8"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 12:13:30 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 12:26:10 2021 -0800"
      },
      "message": "fs_mgr: allow any argument to encryptable\n\nThere are some fstab files that specify \"encryptable\u003dfooter\" for\nadoptable storage volumes, which contradicts the documentation which\nsays that it should be \"encryptable\u003duserdata\".  However, the argument\nwas previously being ignored anyway.  To avoid unnecessarily breaking\nsuch devices, ignore the argument to \"encryptable\".\n\nNote that we continue to only allow \"encryptable\" in combination with\n\"voldmanaged\".  So, fstabs that use \"encryptable\" for FDE (rather than\nfor adoptable storage) should continue to be rejected.\n\nBug: 191796797\nChange-Id: Idc4d5f9c01098f997e12be0022bea992439cec9c\n"
    },
    {
      "commit": "e2b03b92c17d8f0172963e151787bf720a4848a8",
      "tree": "a954532aab129063453230c83a6accd1cb64e8e1",
      "parents": [
        "a44f269ebac08eba48d3b3c3a4320039beeaa3c8",
        "dd41635cef9502d67d17f0b61ad9f9283e262503"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Fri Nov 12 18:43:31 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 12 18:43:31 2021 +0000"
      },
      "message": "Merge \"init: remove the class_{start,reset}_post_data commands\""
    },
    {
      "commit": "3c1b581fd5f67487c67ccf3f7ab6fd3beb0b29ef",
      "tree": "c35396bad3c5ed007c6243280139d121a3b35cfe",
      "parents": [
        "a44f269ebac08eba48d3b3c3a4320039beeaa3c8"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Thu Nov 11 22:17:35 2021 +0800"
      },
      "committer": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Fri Nov 12 19:29:29 2021 +0800"
      },
      "message": "Replace strtok_r() with C++-style android::base::Tokenize()\n\nandroid::base::Tokenize() is like android::base::Split() but ignores\nempty tokens. Think strtok_r() and strsep().\nC++-ify parsing code by replacing strtok_r() with Tokenize(), which\nresults in more concise and readable code.\n\nBug: 204056804\nTest: atest CtsFsMgrTestCases\nChange-Id: Ic1dd0eb97ef9ce6786dc2bf65cdee22a40d813e7\n"
    },
    {
      "commit": "a44f269ebac08eba48d3b3c3a4320039beeaa3c8",
      "tree": "9a714c2e8a2458e00a65c4f29d1cc68426fab9b7",
      "parents": [
        "8879f2723fd94f5138e192e89844dad7b47d566d",
        "773acaa18eef5140a1a23bb4fdfda15a2c37817e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 12 00:17:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 12 00:17:12 2021 +0000"
      },
      "message": "Merge \"Improvements to tombstone output.\""
    },
    {
      "commit": "773acaa18eef5140a1a23bb4fdfda15a2c37817e",
      "tree": "5c51ada8ce820dfca2694e7dab2f5b1868bb4fde",
      "parents": [
        "d0a4e710e9241fbf427fbebf107648841663e0a4"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 10 16:29:23 2021 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Nov 11 15:05:47 2021 -0800"
      },
      "message": "Improvements to tombstone output.\n\n- Use \"likelihood\" instead of \"probability\" since that has connotations\n  of being less precise, and our probability ordering isn\u0027t very precise\n  anyway.\n\n- Hide the fault address with SEGV_MTEAERR because it is not available.\n\n- Pad the fault address with leading zeroes to make it clearer which\n  bits of the top byte (and any following bytes such as PAC signature\n  bits) are set.\n\nBug: 206015287\nChange-Id: I5e1e99b7f3e967c44781d8550bbd7158eb421b64\n"
    },
    {
      "commit": "dd41635cef9502d67d17f0b61ad9f9283e262503",
      "tree": "d11616c6e3aad602bdab873643e9ca60b10f140e",
      "parents": [
        "8879f2723fd94f5138e192e89844dad7b47d566d"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Thu Nov 11 14:19:39 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Thu Nov 11 14:36:47 2021 -0800"
      },
      "message": "init: remove the class_{start,reset}_post_data commands\n\nRemove the class_start_post_data and class_reset_post_data commands,\nsince they aren\u0027t used anymore.  They were only used on devices that\nused FDE (Full Disk Encryption), via actions in rootdir/init.rc.  These\nactions have been removed, since support for FDE has been removed.\nThere is no use case for these commands in vendor init scripts either.\n\nKeep the mark_post_data command, since DoUserspaceReboot() uses the\npost-data service flag even on non-FDE devices.\n\nBug: 191796797\nChange-Id: Ibcd97543daa724feb610546b5fc2a0dd7f1e62e7\n"
    },
    {
      "commit": "4b09b5e20220ce0d549fe0c163ceb48f03671c4d",
      "tree": "2fc7afd393ffb3ac177862cef535c1fe6cf417d7",
      "parents": [
        "52a213518035d1c826395a6d01f3385088504e11"
      ],
      "author": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Wed Oct 27 13:54:08 2021 -0700"
      },
      "committer": {
        "name": "Daniel Norman",
        "email": "danielnorman@google.com",
        "time": "Thu Nov 11 19:08:51 2021 +0000"
      },
      "message": "Load persist props before starting apexd.\n\napexd now reads persist props to select between multi-installed APEXes\nfor debug builds.\n\nBug: 199290365\nTest: see https://r.android.com/1872018\nChange-Id: I0e6881e3a5a3775560b580556a7de2e2da043d34\n"
    },
    {
      "commit": "4321017c3213d12a0cc09ecd90860c1bedca4df4",
      "tree": "5a02e1eccc06173c208b52d6610fcd71ec31965f",
      "parents": [
        "8879f2723fd94f5138e192e89844dad7b47d566d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Apr 13 19:18:01 2021 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 10 15:52:38 2021 -0800"
      },
      "message": "remove \u0027net.qtaguid_enabled\u0027 property\n\nBug: 161325508\nTest: atest, TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I71248c600e520a3fb2bc40e59f7bf8daae6ad4ed\n"
    },
    {
      "commit": "8879f2723fd94f5138e192e89844dad7b47d566d",
      "tree": "1285b3b7fa208e90ca7120e139c87fa2ad9840aa",
      "parents": [
        "57e19ac46edd035d9b76c8e1cad0e77c75328400",
        "335cd1f4a3a34531a37e193a1aae928f5aa817e8"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Wed Nov 10 19:05:05 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 10 19:05:05 2021 +0000"
      },
      "message": "Merge changes from topic \"remove-fde\"\n\n* changes:\n  init.rc: remove handling of vold.decrypt property changes\n  fs_mgr: remove FDE-specific FS_MGR_MNTALL codes\n  init: remove FDE workaround from load_persist_props\n  init: stop handling FDE-specific fs_mgr return codes\n  fs_mgr: remove crypt_footer argument from fs_mgr_do_format()\n  fs_mgr: remove FDE fields from FstabEntry\n  fs_mgr: remove code that handles FDE\n  fs_mgr: stop allowing the FDE fstab options\n"
    },
    {
      "commit": "57e19ac46edd035d9b76c8e1cad0e77c75328400",
      "tree": "22cd6322c08f6f275e153e6c93b670a6f9545543",
      "parents": [
        "8e9beea947145e56cfcd57d43da6c5cd407eeb11",
        "47d784e9f2ffe128a5564b111698c0103e88d62b"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 10 18:56:59 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 10 18:56:59 2021 +0000"
      },
      "message": "Merge \"Add a human readable description of the tagged_addr_ctrl value to tombstones.\""
    },
    {
      "commit": "8e9beea947145e56cfcd57d43da6c5cd407eeb11",
      "tree": "b6ec8d9150b286cd18d0cd0c5bf9529c0ead23be",
      "parents": [
        "4a8f4548cbc546362716a7d043f6dfb8e9cf503a",
        "d48d7c8150872186b38c752bfc84656e3f95dae3"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Nov 10 17:18:41 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 10 17:18:41 2021 +0000"
      },
      "message": "Merge \"libprocessgroup/tools: Add settaskprofile command-line tool\""
    },
    {
      "commit": "4a8f4548cbc546362716a7d043f6dfb8e9cf503a",
      "tree": "be86d9c9025e7c20c492441690b0aa00e4ae7556",
      "parents": [
        "9ac28517a35771f686998766384bdec5ae15f757",
        "9e3ace52bba69b3fb9b6700e02c9380bd06b0351"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Nov 10 16:48:28 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 10 16:48:28 2021 +0000"
      },
      "message": "Merge \"libprocessgroup: Add CgroupGetControllerFromPath API function\""
    },
    {
      "commit": "335cd1f4a3a34531a37e193a1aae928f5aa817e8",
      "tree": "21dcef837fd3fbbfa5fec9d09a2742daaef432d2",
      "parents": [
        "89ba7775af00cf9032dc0c8542dfcb7c33194eb2"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:55 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "init.rc: remove handling of vold.decrypt property changes\n\nThese triggers were specific to FDE, which is no longer supported, so\nremove them.\n\nBug: 191796797\nChange-Id: Iab4f6bd3d0fa70ff959be2c27986c101c42e29d7\n"
    },
    {
      "commit": "89ba7775af00cf9032dc0c8542dfcb7c33194eb2",
      "tree": "59a86e434d1aedc58aac6f18d4f98dced026b98c",
      "parents": [
        "4aa4231a8e416d020e7e645f66f9649a9c8f7f4c"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:55 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "fs_mgr: remove FDE-specific FS_MGR_MNTALL codes\n\nRemove these codes, now that neither fs_mgr nor init uses them anymore.\n\nBug: 191796797\nChange-Id: I97451ed8b83043a4035fc8cf8bfbb95ee60afd83\n"
    },
    {
      "commit": "4aa4231a8e416d020e7e645f66f9649a9c8f7f4c",
      "tree": "b8057ba8584f6b106a2aa387c7504d33a7ba4fb9",
      "parents": [
        "e5b5e376f3d22ed5c4465f6964a3059e45c9c1e0"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:54 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "init: remove FDE workaround from load_persist_props\n\nFDE is no longer supported, so this workaround is no longer needed.\n\nBug: 191796797\nChange-Id: I059b07035b2158fe84e19544f03aab48de787e62\n"
    },
    {
      "commit": "e5b5e376f3d22ed5c4465f6964a3059e45c9c1e0",
      "tree": "7e6ce7a31644b006e0b5ee000f3c3152209ea864",
      "parents": [
        "4d0c5efac98903fac5be884cc28e15b6c0edd99d"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:54 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "init: stop handling FDE-specific fs_mgr return codes\n\nThese codes can\u0027t be returned anymore, so stop handling them.\n\nBug: 191796797\nChange-Id: I9bffd43db7c2f43e5f749e04e84154165dec279e\n"
    },
    {
      "commit": "4d0c5efac98903fac5be884cc28e15b6c0edd99d",
      "tree": "cd1a7b1cf3a3448bc9c38c2ae5ee9a9f6b9eed3a",
      "parents": [
        "c953d6eb5f0e80a39642e442d7dff06746910715"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:54 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "fs_mgr: remove crypt_footer argument from fs_mgr_do_format()\n\nFDE is no longer supported, so there\u0027s no longer any need to ever\nreserve a crypto footer.\n\nBug: 191796797\nChange-Id: I79121188b0bcb7b00c16fda03b68b20c40c1e240\n"
    },
    {
      "commit": "c953d6eb5f0e80a39642e442d7dff06746910715",
      "tree": "19bcec26385034873a67b2d7bc1d25940b8a5852",
      "parents": [
        "63fb19532ce726ac7887f071988459088f709e12"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:53 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "fs_mgr: remove FDE fields from FstabEntry\n\nRemove the now-unused FDE fields from struct FstabEntry.\n\nBug: 191796797\nChange-Id: Iab11a1fe86ac9d06beef68dc7e3c543f48ce0ac6\n"
    },
    {
      "commit": "63fb19532ce726ac7887f071988459088f709e12",
      "tree": "74f09dc47c0bee89a4ae5ea6044c5f814e6e3398",
      "parents": [
        "b662530677855b198e724dd94b9eb4ea4a32db2e"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:53 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "fs_mgr: remove code that handles FDE\n\nSince Android 10, new devices have been required to use FBE instead of\nFDE.  Therefore, the FDE code is no longer needed.\n\nBug: 191796797\nChange-Id: I2f29ce5fa61c67325d6eb6cf6693787f8fa8a011\n"
    },
    {
      "commit": "b662530677855b198e724dd94b9eb4ea4a32db2e",
      "tree": "cd07c988759dfafc5aa27561c46e231b4c3d1e42",
      "parents": [
        "9ac28517a35771f686998766384bdec5ae15f757"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Nov 08 16:38:52 2021 -0800"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 09 22:44:50 2021 -0800"
      },
      "message": "fs_mgr: stop allowing the FDE fstab options\n\nSince Android 10, new devices have been required to use FBE instead of\nFDE.  Therefore, the FDE code is no longer needed.\n\nMake fs_mgr reject fstabs where FDE is enabled.\n\nUnfortunately, there is a quirk where the \"encryptable\" flag (which was\noriginally meant just for FDE) was overloaded to identify adoptable\nstorage volumes.  It appears that we have to keep supporting this use\ncase.  Therefore, don\u0027t reject the \"encryptable\" flag completely.\nInstead, just reject \"encryptable\" when it appears without\n\"voldmanaged\", or without \"userdata\" as its argument.\n\nHere are some references for how \"encryptable\u003duserdata\" is being used to\nidentify adoptable storage volumes:\n\n  * https://source.android.com/devices/storage/config#adoptable_storage\n  * https://cs.android.com/android/platform/superproject/+/f26c7e9b12e05a6737a96b44bada77232e08ed87:system/vold/main.cpp;l\u003d269\n  * https://cs.android.com/android/platform/superproject/+/f26c7e9b12e05a6737a96b44bada77232e08ed87:device/google/cuttlefish/shared/config/fstab.f2fs;l\u003d17\n  * https://cs.android.com/android/platform/superproject/+/f26c7e9b12e05a6737a96b44bada77232e08ed87:device/generic/goldfish/fstab.ranchu;l\u003d7\n\n[ebiggers@: modified from a WIP CL by paulcrowley@]\n\nBug: 191796797\nChange-Id: I3c4bbbe549cc6e24607f230fad27ea0d4d35ce09\n"
    },
    {
      "commit": "d48d7c8150872186b38c752bfc84656e3f95dae3",
      "tree": "37d8a5242248df7e9737aecfbc319f998914ce97",
      "parents": [
        "9ac28517a35771f686998766384bdec5ae15f757"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Nov 08 12:45:46 2021 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Nov 09 22:35:51 2021 +0000"
      },
      "message": "libprocessgroup/tools: Add settaskprofile command-line tool\n\nAdd a command-line tool to apply task profile(s) to a given thread.\n\nTest: taskprofile $pid ProcessCapacityHigh; grep cpuset /proc/$pid/cgroup\nTest: taskprofile $pid ProcessCapacityNormal; grep cpuset /proc/$pid/cgroup\nBug: 204808810\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: I1c13731f7a9a1161f36e27436ee104964aacbfd0\n"
    },
    {
      "commit": "9e3ace52bba69b3fb9b6700e02c9380bd06b0351",
      "tree": "be86d9c9025e7c20c492441690b0aa00e4ae7556",
      "parents": [
        "9ac28517a35771f686998766384bdec5ae15f757"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Wed Jun 16 17:01:19 2021 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Nov 08 21:24:33 2021 +0000"
      },
      "message": "libprocessgroup: Add CgroupGetControllerFromPath API function\n\nAdd new CgroupGetControllerFromPath function to retrieve the name of the\ncgroup using a file path. If the file does not belong to any cgroup, the\nfunction returns false.\n\nBug: 191283136\nTest: build and boot\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: Ic17a474cb25a80a3339b33ed8bc27b07af053abb\n"
    },
    {
      "commit": "9ac28517a35771f686998766384bdec5ae15f757",
      "tree": "f0f3fe0589f2f6236befa976f3a12ae259a9c509",
      "parents": [
        "d0a4e710e9241fbf427fbebf107648841663e0a4",
        "6455f27e1b7f0bb7e59132f8b7f625d1dc460558"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Mon Nov 08 06:43:36 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 08 06:43:36 2021 +0000"
      },
      "message": "Merge \"Make clean_scratch_files work\""
    },
    {
      "commit": "47d784e9f2ffe128a5564b111698c0103e88d62b",
      "tree": "0736c074c014637e0603c633419face7050944bf",
      "parents": [
        "80fccb3c9a532ee9d16389de0d54dae88b091665"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 05 18:40:52 2021 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 05 18:59:26 2021 -0700"
      },
      "message": "Add a human readable description of the tagged_addr_ctrl value to tombstones.\n\nChange-Id: Ib9860b282cf749891e0f6ef7697669b94235c236\n"
    },
    {
      "commit": "d0a4e710e9241fbf427fbebf107648841663e0a4",
      "tree": "d12c7e5ced5c9377961d60bb5a205e9c893dfba3",
      "parents": [
        "5c210880ebac7c3713ad9d795226707c66dc3b13",
        "5effda49e15ee79fff2a9e413b2e0bbfef65783c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 05 17:29:55 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 05 17:29:55 2021 +0000"
      },
      "message": "Merge \"Remove references to nonplat sepolicy\""
    },
    {
      "commit": "5c210880ebac7c3713ad9d795226707c66dc3b13",
      "tree": "6f54bbe2e0476da2a9634ef192af3434282a3f20",
      "parents": [
        "2aaaa01bb9b4026e3e88a1a0c013c602216f89ce",
        "2b92541e7f4882ad68f89aa78866df0a404d6ea7"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Nov 05 15:46:50 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 05 15:46:50 2021 +0000"
      },
      "message": "Merge \"llkd: Disable in userdebug builds by default\""
    },
    {
      "commit": "5effda49e15ee79fff2a9e413b2e0bbfef65783c",
      "tree": "93d37bbd90fcdf232368a590a9dfe16326ccee61",
      "parents": [
        "6a58c592699aa94f6b06c1a5baf412bcfefda8a4"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Nov 05 09:03:11 2021 +0100"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Nov 05 09:13:26 2021 +0100"
      },
      "message": "Remove references to nonplat sepolicy\n\n\"nonplat\" was renamed to \"vendor\" in Android Pie, but was retained\nhere for Treble compatibility.\n\nWe\u0027re now outside of the compatbility window for these devices so\nit can safely be removed.\n\nWhile I\u0027m here, improve accuracy of some comments and\nin-code-documentation.\n\nTest: build boot cuttlefish device. adb remount, modify\n/system/etc/selinux/plat_sepolicy_and_mapping.sha256 to force\non-device policy compilation. reboot. Verify that device boots\nwithout new selinux denials.\n\nChange-Id: Ibe5c5fa1ea206c1b4d5ad8183433c332a8aaadbf\n"
    },
    {
      "commit": "2aaaa01bb9b4026e3e88a1a0c013c602216f89ce",
      "tree": "95d1b41f298759bb5c0c0c8b1195d2c858dc1406",
      "parents": [
        "52a213518035d1c826395a6d01f3385088504e11",
        "d5f3da8dc568edad9ae161f00a51e260e37bf00f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 04 23:51:25 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 04 23:51:25 2021 +0000"
      },
      "message": "Merge changes I060f438c,I48fbca45\n\n* changes:\n  fastbootd: use O_DIRECT for write partition\n  fastbootd: allow passage of flags to open partition\n"
    },
    {
      "commit": "2b92541e7f4882ad68f89aa78866df0a404d6ea7",
      "tree": "7f0982ecae6f0d2c35ec2e404e60406ce2ae2789",
      "parents": [
        "a86af7c9b156877850e354ac85912de717a8e808"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Nov 04 15:29:01 2021 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Nov 04 16:21:46 2021 -0700"
      },
      "message": "llkd: Disable in userdebug builds by default\n\nWhile llkd helps in discovering issues in apps which leave zombies, it\ncreates issues for dogfooders when apps are killed. Disable it by\ndefault.\n\nBug: 202411543\nTest: boot and check llkd not running\nTest: `setprop ro.llk.enable true` enables llkd\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: If93bf9e981eaa3921a9da5f3160db26c4fe17e66\n"
    },
    {
      "commit": "d5f3da8dc568edad9ae161f00a51e260e37bf00f",
      "tree": "95d1b41f298759bb5c0c0c8b1195d2c858dc1406",
      "parents": [
        "81cc119eff846ccb55af53f80b2ac55a50a0f039"
      ],
      "author": {
        "name": "Konstantin Vyshetsky",
        "email": "vkon@google.com",
        "time": "Thu Nov 04 10:27:06 2021 -0700"
      },
      "committer": {
        "name": "Konstantin Vyshetsky",
        "email": "vkon@google.com",
        "time": "Thu Nov 04 13:24:33 2021 -0700"
      },
      "message": "fastbootd: use O_DIRECT for write partition\n\nDirect writes for partition flashing significantly increase performance.\nUse O_DIRECT flag when opening partition for flashing. Additionally use\na 4096b aligned buffer which is required for O_DIRECT.\nSwitch from using 8MB write buffer to 1MB write buffer, as the extra\nallocation has no performance impact.\n\nTest: flash locally and reach home screen\nBug: 205151372\nSigned-off-by: Konstantin Vyshetsky \u003cvkon@google.com\u003e\nChange-Id: I060f438cf698d0fda1e59e35338bb5dc1cd05b51\n"
    },
    {
      "commit": "81cc119eff846ccb55af53f80b2ac55a50a0f039",
      "tree": "2852a0971bb0ff7aa50178630033f862fc7a1ce5",
      "parents": [
        "52a213518035d1c826395a6d01f3385088504e11"
      ],
      "author": {
        "name": "Konstantin Vyshetsky",
        "email": "vkon@google.com",
        "time": "Thu Nov 04 10:27:06 2021 -0700"
      },
      "committer": {
        "name": "Konstantin Vyshetsky",
        "email": "vkon@google.com",
        "time": "Thu Nov 04 12:05:48 2021 -0700"
      },
      "message": "fastbootd: allow passage of flags to open partition\n\nAllow caller to pass additional flags when opening a partition. Obsolete\nusage of boolean read, and make previous callers use O_RDONLY instead.\nExplicitly OR (O_EXCL | O_CLOEXEC | O_BINARY) to keep existing design\nworking as is.\n\nTest: flash locally and reach home screen\nBug: 205151372\nSigned-off-by: Konstantin Vyshetsky \u003cvkon@google.com\u003e\nChange-Id: I48fbca459a17fcf0b0926ab339585e3bd8e31e35\n"
    },
    {
      "commit": "52a213518035d1c826395a6d01f3385088504e11",
      "tree": "0dce929ae94bfd7c9b5424189c840d19d1993e92",
      "parents": [
        "95e2f7ffc854364099f24eeb0ae384af0759a040",
        "6fa2e48db9638800d27b220f40596df9ddb5b29d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 04 17:40:21 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 04 17:40:21 2021 +0000"
      },
      "message": "Merge \"cutils: only support safe list iteration.\""
    },
    {
      "commit": "95e2f7ffc854364099f24eeb0ae384af0759a040",
      "tree": "a3b5da219780d12fffde86adec17fa778db006b8",
      "parents": [
        "ad0f69c5a6a8b9dfc01ab1b7dfdd4d9ba09b8c2f",
        "ac748369bb6c83a5f6497c71a45ad98fd2f46d1d"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Nov 03 18:53:33 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 03 18:53:33 2021 +0000"
      },
      "message": "Merge changes from topic \"charger-vendor\"\n\n* changes:\n  charger: vendor charger use resources from /vendor\n  charger: make libhealthd_charger_ui vendor_available.\n  libsuspend: vendor_available.\n"
    },
    {
      "commit": "6fa2e48db9638800d27b220f40596df9ddb5b29d",
      "tree": "7db7eea04aad28a63a9dda11f8ca97f0fbefa1af",
      "parents": [
        "f1c8904e953c3fb013914cab5238d3ecdc337808"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 02 18:33:09 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 03 10:26:36 2021 -0700"
      },
      "message": "cutils: only support safe list iteration.\n\nWe\u0027ve had two use-after-frees in the last month from this nonsense...\n\nBug: http://b/204925347\nTest: treehugger\nChange-Id: I5e1485253224e38ca51a7a077dbe65d19e39f817\n"
    },
    {
      "commit": "ad0f69c5a6a8b9dfc01ab1b7dfdd4d9ba09b8c2f",
      "tree": "0c32e53823eede54eaa7d4e444e53723453c6d57",
      "parents": [
        "3a1ddf5555788b53d879da48ce5cbe487db2b0f3",
        "0f6250613960bb6dc76322194601073e60396e56"
      ],
      "author": {
        "name": "Yi-Yo Chiang",
        "email": "yochiang@google.com",
        "time": "Wed Nov 03 06:52:02 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 03 06:52:02 2021 +0000"
      },
      "message": "Merge \"libfiemap: array boundary check for fiemap.fm_extents[]\""
    },
    {
      "commit": "3a1ddf5555788b53d879da48ce5cbe487db2b0f3",
      "tree": "a3ec983fbe3b3631dfeabf21bec9abd9be3596c0",
      "parents": [
        "5b7d571b872194794a82a7fcd4632dfe2ee29729",
        "7ad63b4c77681530f9f0679f429d106e7979f8e8"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Nov 03 03:21:53 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 03 03:21:53 2021 +0000"
      },
      "message": "Merge \"Revert \"snapuserd: Add unit test for test merge code path\"\""
    },
    {
      "commit": "7ad63b4c77681530f9f0679f429d106e7979f8e8",
      "tree": "a3ec983fbe3b3631dfeabf21bec9abd9be3596c0",
      "parents": [
        "1cc98186422f642ce804a0b1ca5f155303eed927"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Nov 03 02:19:00 2021 +0000"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Wed Nov 03 02:19:00 2021 +0000"
      },
      "message": "Revert \"snapuserd: Add unit test for test merge code path\"\n\nThis reverts commit 1cc98186422f642ce804a0b1ca5f155303eed927.\n\nReason for revert: Failing build - There is a dependency with https://r.android.com/c/1843772/3\n\nChange-Id: Iccac56cf4c7012d8732b4338eb7055e1b2451e3b\n"
    }
  ],
  "next": "5b7d571b872194794a82a7fcd4632dfe2ee29729"
}
