)]}'
{
  "log": [
    {
      "commit": "13250aa172244f49b50e326840c8b54558e07731",
      "tree": "ac609814ea32f0bea794f76b86637e496e378478",
      "parents": [
        "a9c459569bdee2f253e97b4c6e57f3b977ae7ec9"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Fri Jun 20 14:23:43 2025 -0700"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Mon Jun 23 09:02:04 2025 -0700"
      },
      "message": "No need to restart logd at \"post-fs-data\" stage of the boot.\n\nlogd is already started at \"init\" stage of the boot.\n\nBug: NA\nTest: Boot and verify logcat logs.\nChange-Id: I359bacc85f217601a215b6b1341b742aa6ef794e\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "a9c459569bdee2f253e97b4c6e57f3b977ae7ec9",
      "tree": "5dea4faa5adcdad0eb822c0c10629542dcd1b1cc",
      "parents": [
        "e5adfd1fbfb4135a48d927472deb0351bdc8f35c",
        "2b7cfe6c16280141b4a88f68af862505b155399f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jun 18 18:09:41 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 18 18:09:41 2025 -0700"
      },
      "message": "Merge \"rootdir: Add ability to add additional adb_debug.prop values\" into main"
    },
    {
      "commit": "e5adfd1fbfb4135a48d927472deb0351bdc8f35c",
      "tree": "b16e0a33911fe7e2bc5882b4e4be1444aed17cfa",
      "parents": [
        "693ccf9e7dc5db31ffe5bc79b576c00c62dde860",
        "0211de4dcf63cd99906d6d280458701e8538acaa"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Jun 18 17:45:54 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 18 17:45:54 2025 -0700"
      },
      "message": "Merge \"Pass HWASAN_OPTIONS to first stage init via define\" into main"
    },
    {
      "commit": "0211de4dcf63cd99906d6d280458701e8538acaa",
      "tree": "ba4170547ea7507faf74d13a303992403d2580e4",
      "parents": [
        "a0be31fbd355dc6d6059ec23337dd5f9719ad138"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Thu Apr 10 17:01:35 2025 -0700"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Wed Jun 18 14:37:13 2025 -0700"
      },
      "message": "Pass HWASAN_OPTIONS to first stage init via define\n\nTest: xxd /proc/1/environ\nBug: 404394281\nChange-Id: If00bfdaa57e354dcbd30a4376f690c7f1a671c2c\n"
    },
    {
      "commit": "2b7cfe6c16280141b4a88f68af862505b155399f",
      "tree": "87752dbda35464c0f737cf2585e80ab06336e782",
      "parents": [
        "4c9da0a5a3a7f47e8c773050e8e077dc5ce93118"
      ],
      "author": {
        "name": "Raul E Rangel",
        "email": "rrangel@google.com",
        "time": "Fri Jun 13 17:06:40 2025 -0600"
      },
      "committer": {
        "name": "Raul E Rangel",
        "email": "rrangel@google.com",
        "time": "Fri Jun 13 17:15:35 2025 -0600"
      },
      "message": "rootdir: Add ability to add additional adb_debug.prop values\n\nFor desktop devices we need to add some additional properties to the\nadb_debug.prop file so we can enable ADB over TCP. This change makes it\nso we can define additional properties using `soong_config_set`.\n\ne.g.,\n$(call soong_config_append,adb,additional_debug_properties,service.adb.listen_addrs\u003d)\n$(call soong_config_append,adb,additional_debug_properties,service.adb.tcp.port\u003d5555)\n\nBug: 421998282\nTest: m out/target/product/brya/vendor_boot-debug.img \u0026\u0026 verify adb_debug.prop contains new properties\nChange-Id: I23168c36284d3e316c1338206c21e823040f9dea\n"
    },
    {
      "commit": "cf4a5bf746b0803f4a4ff12e24c3131ea5ebac85",
      "tree": "5b567948c7e88a8d24993973a3004100c6a49374",
      "parents": [
        "a0be31fbd355dc6d6059ec23337dd5f9719ad138"
      ],
      "author": {
        "name": "Elie Kheirallah",
        "email": "khei@google.com",
        "time": "Mon Jun 09 22:23:37 2025 +0000"
      },
      "committer": {
        "name": "Elie Kheirallah",
        "email": "khei@google.com",
        "time": "Mon Jun 09 22:23:37 2025 +0000"
      },
      "message": "Make /proc/pressure/memory rw for all\n\nThe file is safe to write to, as it allows monitoring system pressure.\nMore info: https://docs.kernel.org/accounting/psi.html\n\nBug: 419532852\nTest: boot device, check VM running, pressure system, look at logcat.\nFlag: EXEMPT ...\nChange-Id: I3dd781252371ec7f8925ff53450ad6417bd713f4\n"
    },
    {
      "commit": "7f2c9efa31130f0a3550f8c7ef066f986a363008",
      "tree": "36ab01d45bb4c6ad9031b5023a62453f112c84c5",
      "parents": [
        "bfc90978719633d4258a9be1f45d68cd9e4735d3",
        "b1a571155087be5eacffd987e6b5fc1e35a4055e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jun 03 11:19:23 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 03 11:19:23 2025 -0700"
      },
      "message": "Merge \"Check the amount of dirty pages to flush out\" into main"
    },
    {
      "commit": "16bcdca0377f3b07185508315d470f3cbd8e928a",
      "tree": "4d3ce146d54a3d1583bf4cd7e8b5a9054fe3e75f",
      "parents": [
        "ccf59fd052566aa9882e3829d30364aa81e4ba8c"
      ],
      "author": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu May 29 20:05:06 2025 +0000"
      },
      "committer": {
        "name": "Isaac J. Manjarres",
        "email": "isaacmanjarres@google.com",
        "time": "Thu May 29 20:05:14 2025 +0000"
      },
      "message": "init: Avoid unnecessarily setting sys.use_memfd to false\n\nThe init scripts currenlty sets sys.use_memfd to false. However, this\nisn\u0027t required, since the only user of the property is libcutils, and\nlibcutils treats the property not being set as false. Therefore,\nremove the call to setprop for sys.use_memfd.\n\nBug: 421222146\nChange-Id: I410b8cfb07bd92ecfdee95ba4a4bb78a50e8b6f9\nSigned-off-by: Isaac J. Manjarres \u003cisaacmanjarres@google.com\u003e\n"
    },
    {
      "commit": "b1a571155087be5eacffd987e6b5fc1e35a4055e",
      "tree": "cb0140b40c92b56338f0d8e3a18f0decd4879985",
      "parents": [
        "f57e98f271a8639fa1b5ef0e0b93c028fd8ead59"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Wed May 28 18:50:31 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Wed May 28 18:50:31 2025 -0700"
      },
      "message": "Check the amount of dirty pages to flush out\n\nFor TV, let\u0027s check the dirty page count frequently as well.\n\nBug: 373958222\nChange-Id: I4ae3ecf3e05d0e6b7fa18403258c099319b4e18c\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "b300fc41aaffdb7ec6cc38b831b6737ec292b758",
      "tree": "a0ef6cadb3b5c277c8e1da949d61089e59dab124",
      "parents": [
        "5c23cef8c2bcdbb6754c9f71e273dae3d4127382",
        "1948ec40f08c8c16acc2d0ce88ad4402a6f3dfb2"
      ],
      "author": {
        "name": "Aleksander Morgado",
        "email": "aleksandermj@google.com",
        "time": "Wed May 28 14:20:07 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 28 14:20:07 2025 -0700"
      },
      "message": "Merge changes from topic \"init_dev_config\" into main\n\n* changes:\n  init: define \u0027init_dev_config\u0027 service\n  init: allow expanding the program path in a service declaration\n"
    },
    {
      "commit": "1948ec40f08c8c16acc2d0ce88ad4402a6f3dfb2",
      "tree": "61beb84bbe7953ab516f4f564d9ac42cc267aff8",
      "parents": [
        "630a0403d6d85cd43e1ba4ae5346b62ce4ac4d73"
      ],
      "author": {
        "name": "Aleksander Morgado",
        "email": "aleksandermj@google.com",
        "time": "Fri May 23 08:04:26 2025 +0000"
      },
      "committer": {
        "name": "Aleksander Morgado",
        "email": "aleksandermj@google.com",
        "time": "Tue May 27 13:54:16 2025 +0000"
      },
      "message": "init: define \u0027init_dev_config\u0027 service\n\nInstead of letting vendors declare the service themselves, provide a\ncommon service declaration to use by default, including a specific\nSELinux domain to control what the process is allowed to do.\n\nThe path to the binary to run is configured at build time via the\n`ro.vendor.init_dev_config.path\u0027 property, which can be set by the\nvendor in PRODUCT_VENDOR_PROPERTIES.\n\nThe binary MUST rely on bootstrap bionic, given it runs before\napexd-bootstrap, and also labeled as `init_dev_config_exec\u0027.\n\nBug: 378043923\nBug: 417632996\nTest: cvd create \u0026 ensure com.google.cf.disabled is not activated\n\nChange-Id: Icd2edd54222e9c142db1d6a590e9789fa06bc378\n"
    },
    {
      "commit": "2a4a9b0063a98acff9ff4ee4b723b14743445eef",
      "tree": "b32a95590625f79475403ea3172b410c3bb356ce",
      "parents": [
        "6c223c602d271e30f3775dce61c8b29a9511049a",
        "e9d285691c35cbc069c832ced538a3ad6af1b84a"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 21 00:44:41 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 21 00:44:41 2025 -0700"
      },
      "message": "Merge \"init: CanMountApexBeforeData()\" into main"
    },
    {
      "commit": "e9d285691c35cbc069c832ced538a3ad6af1b84a",
      "tree": "e4a00bb9b455cb6164572e23a05681c6716fe4e3",
      "parents": [
        "39b7c6a6bb40fb4203da4adbe4cf51448bd9514f"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue May 20 15:00:10 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 21 13:09:02 2025 +0900"
      },
      "message": "init: CanMountApexBeforeData()\n\ninit sets up mount namespaces for apexd. Whether it needs to create two\nmount namespaces depends on whether apexd can mount apexes before data.\n\nFor the first boot after factory reset, since there\u0027s no data apexes,\ninit can decide by looking up \"apexd.config.compressed_apex\". If there\u0027s\nno compressed apexes, apexd should be able to mount apexes before data.\n\nOtherwise, apexd had a chance to decide whether it can mount apexes\nbefore data partition. Hence, init just looks up\n/metadata/apex/config/mount_before_data which is created by apexd.\n\nBug: 381175707\nFlag: com.android.apexd.flags.mount_before_data\nTest: flash with data wiped out\nTest: device boots with mount_before_data enabled\nTest: reboot \u0026 device still boots with mount_before_data enabled\nChange-Id: If9d03fc2a8910a9315fea74216bf73f6302e6027\n"
    },
    {
      "commit": "5644a38b46a45f04c8b8200b268754d8f1b66f7f",
      "tree": "f7006909d70e05214b9dfff469ebd8490742cdc1",
      "parents": [
        "29e8a52e8ab40a4cac93c7f6b637aabcec1bf4a6"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Mon May 19 09:39:57 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Mon May 19 09:43:17 2025 -0700"
      },
      "message": "Let\u0027s flush data and checkpoint 2 secs for TV\n\nThis rolls back the previous low.ram change [1], which is now uncessary as we\nhave ro.config.batteryless newly.\n\n[1] e86ef01ab7ab (\"Reduce the checkpoint duration to 30secs\")\n\nBug: 373958222\nBug: 410100970\nBug: 288068123\nChange-Id: I548ddedea50dd4f9b8accd7f9cad750101cda45b\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "b0fd864c5109e7e7fe400cd404247abdb5e97386",
      "tree": "79d4c5b71ff0fd7732008560f882d34e99878b11",
      "parents": [
        "6de4326d8e45ef56fe6e683645ce91a7ebf87376"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 14 18:56:38 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed May 14 18:56:38 2025 +0900"
      },
      "message": "Invoke init_dev_config before apexd-bootstrap\n\ninit_dev_config is a \"known\" name for an optional service which can\nconfigure the device based on various conditions. Call it before\napexd-bootstrap so that it can configure which APEXes to activate.\n\nBug: 378043923\nBug: 417632996\nTest: cvd start \u0026 check if com.google.cf.disabled is activated\nChange-Id: I978be48cf4d66b6e9a6054f69c18f3c28d4c7a27\n"
    },
    {
      "commit": "12192ccf2a91bc5e1aeb19efaa70644a63fc62b2",
      "tree": "81fb00ff110e69206e4f8b7badef2cb2c0fd88fd",
      "parents": [
        "1fa1ad3503c8fab30841857c09c00ebac8bb675d"
      ],
      "author": {
        "name": "Vincent Donnefort",
        "email": "vdonnefort@google.com",
        "time": "Fri May 09 16:17:55 2025 +0100"
      },
      "committer": {
        "name": "Vincent Donnefort",
        "email": "vdonnefort@google.com",
        "time": "Fri May 09 16:17:55 2025 +0100"
      },
      "message": "ramdisk_node_list: Add kmsg node\n\nDebugging early loading of pKVM modules is hard. So to make our life a\nbit easier, the loader is now redirecting modprobe to /dev/kmsg. Let\u0027s\nadd this node to the initramfs so modprobe can print errors in dmesg.\n\nBug: 415374827\nChange-Id: Ic7e6539e4efebfd9d611b9dd7ee0c29558cd2514\n"
    },
    {
      "commit": "88bc9a050b7228ef06f2e52460f6ba574ac9aebe",
      "tree": "5391d39fde5f47045901adf286bd87b02c3e234a",
      "parents": [
        "d02ff3783c33b1e1a8fb8ae4093a5c56334cdf58"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Tue Apr 29 14:43:22 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Tue May 06 21:18:31 2025 -0700"
      },
      "message": "Tune filesystem for a devices requiring high durability from power cuts\n\nTV gets sudden power cuts very easily so that it\u0027d be better to improve\ndata durability in system wide.\n\nBug: 288068123\nChange-Id: I7442efadf3e005b9568f9e93432f49cc2751bcc9\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "b4fa7b94702c03238253c740c632175931bf50a6",
      "tree": "229d37020eb22c1fa32d3d1198ba809705248a30",
      "parents": [
        "85c37de4a07c624f13ec5cb7b4f30c01e8d00823",
        "10d25e2eb3b7994c02bdea614dcfbbe17fff0f0a"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Apr 30 08:15:51 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 30 08:15:51 2025 -0700"
      },
      "message": "Merge \"Remove unnecessary chown for /data/misc/update_engine_log\" into main"
    },
    {
      "commit": "ee660ea8037f6fa3546a51420b12d581cb68ab48",
      "tree": "3f6db1b024efff29614de39c6d79b96cdf5e4261",
      "parents": [
        "8a4a143cdc3cfadf0771341eed63af67c11a448d",
        "4c98a268cc36253bed41a1a2356ce483302b8a8a"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Apr 23 20:35:31 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 23 20:35:31 2025 -0700"
      },
      "message": "Merge \"Device-mapper devices readable by system\" into main"
    },
    {
      "commit": "4c98a268cc36253bed41a1a2356ce483302b8a8a",
      "tree": "5086558a7c3bed082d7693a5f82c58861b1f7b7d",
      "parents": [
        "43674f52cb168bffbb14aa7c6f09cd9927f21d69"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 24 10:30:51 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Apr 24 10:30:51 2025 +0900"
      },
      "message": "Device-mapper devices readable by system\n\nWith the feature (flag), downloaded APEX files are exposed as\ndevice-mapper devices by apexd. These files should be accessible by\nPackageManager.\n\nBug: 411876541\nFlag: com.android.apex.flags.mount_before_data\nTest: adb install \u003capex\u003e \u0026 reboot\nChange-Id: I249b1a2142a485bc846a56035b256d007335cfc6\n"
    },
    {
      "commit": "8a4a143cdc3cfadf0771341eed63af67c11a448d",
      "tree": "e00c865ead746f33db5ff9507b62513598584ce9",
      "parents": [
        "2e2ae6753a551410ca94b52c5b93f5f7a4dad446"
      ],
      "author": {
        "name": "Chao Feng",
        "email": "ot_mike.feng@mediatek.com",
        "time": "Sat Dec 28 14:27:42 2024 +0800"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Wed Apr 23 18:23:32 2025 -0700"
      },
      "message": "thread cgroup: Modify the order of top-app cgroup\n\nAs android B newly added foreground_window cgroup in the middle,\nthe thread cgroups have changed and the boost applied to top-app is not applied.\n\nTo maintain TOP_APP_GROUP_ID at 30,so move foreground_window to end.\n\nBug: 398758796\nTest: Test taobao app cold launch\nChange-Id: I72838afca84d0decd98c4ed4f670bd17946c33a1\n"
    },
    {
      "commit": "10d25e2eb3b7994c02bdea614dcfbbe17fff0f0a",
      "tree": "217d11440a9afbedeb487907c07a642fbbb6a847",
      "parents": [
        "267d38e3e22cbc7a42e1c04a482ebebd59d9add0"
      ],
      "author": {
        "name": "Håkan Kvist",
        "email": "hakan.kvist@sony.com",
        "time": "Wed Apr 23 10:51:06 2025 -0700"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed Apr 23 10:51:06 2025 -0700"
      },
      "message": "Remove unnecessary chown for /data/misc/update_engine_log\n\nmkdir will set the correct owner for the directory if the file already\nexists, so there is no need for calling chown.\n\nBug: 397893018\nTest: Flash software without this patch. Flash software with this\n     CL on top, keep userdata. Confirm that group has changed.\n(cherry picked from https://partner-android-review.googlesource.com/q/commit:514212e082ec9d6b750273688f94b776a08a7dba)\nMerged-In: I3a9b743897ee119d9dfcf425736764319696de2a\nChange-Id: I3a9b743897ee119d9dfcf425736764319696de2a\n"
    },
    {
      "commit": "267d38e3e22cbc7a42e1c04a482ebebd59d9add0",
      "tree": "9211bb32912cd6aee8b8f739fe1043a7901f7afa",
      "parents": [
        "49d50b7f5d875c4597c9d65e5bd8a2e4d7dbc1aa",
        "a5bd2ad8fbae9f0e1020c91a21eea3d007eb67ac"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Apr 22 20:24:48 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 22 20:24:48 2025 -0700"
      },
      "message": "Merge \"linker.config.json: add libcom.android.media.swcodec.apexcodecs.so\" into main"
    },
    {
      "commit": "a5bd2ad8fbae9f0e1020c91a21eea3d007eb67ac",
      "tree": "6dc17f052db231c5e71beceb9d3034aa6e1718eb",
      "parents": [
        "709d9844e612c26ebfb46701f7f86a325ada8f1b"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Apr 18 12:23:40 2025 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Apr 18 12:23:40 2025 -0700"
      },
      "message": "linker.config.json: add libcom.android.media.swcodec.apexcodecs.so\n\nThis is necessary for the framework to access ApexCodecs native `# apex` APIs.\n\nBug: 406498106\nTest: manual\nChange-Id: Ia00d10aaf4c1e207f9fd8e441ba4a0334b8c1ef1\n"
    },
    {
      "commit": "2b6b27ac2d965e3bb5c516ffe11dcfcbbeb01ccb",
      "tree": "b4c49b319d7c1cc12006ce585eda79f3e22fa999",
      "parents": [
        "33b0992eba73fd10f8024a05e6314871d73b0d47"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Apr 16 00:58:17 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Apr 16 11:01:34 2025 +0900"
      },
      "message": "init: use a single mnt ns for mount-before-data\n\nWith apexd\u0027s mount-before-data feature, no need to create two mount\nnamespaces because all apexes are activated once.\n\nThe condition is in fact a bit complicated:\n- upgrade device might have downloaded apexes in /data partition. apexd\n  should wait for the data partition to activate them. And these should\n  be activated in a separte mount namespace.\n- compressed apexes require /data partition for decompression. apexd\n  should wait for the data partition as well.\n\nHence, the new feature only  works with a new device with no compressed\napex. A new device is identified by comparing ro.product.first_api_level\nand ro.build.version.sdk. apexd.config.compressed_apex is checked to see\nif a device is built with compressed apexes enabled or not.\n\ninit sets a sysprop(ro.init.mnt_ns.count) so that apexd will work\naccording to this setup.\n\nUpgrade device with compressed apex disabled can be migrated to use the\nfeature. The changes for migraion will follow.\n\nBug: 381173118\nFlag: com.android.apex.flags.mount_before_data\nTest: device boots (with the flag on locally)\nChange-Id: I194d4fbdf1e430568fdac34c3877b3eb08986534\n"
    },
    {
      "commit": "33b0992eba73fd10f8024a05e6314871d73b0d47",
      "tree": "c04603c685fce35489355b36064cc170b99e0cda",
      "parents": [
        "d3bba9480e37bc551d81ec951761b31ca96e5e6c"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Apr 16 00:04:14 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Apr 16 11:01:34 2025 +0900"
      },
      "message": "init: refactor perform_apex_config\n\nRemoved --bootstrap arg. The init process knows which mount namespace is\nthe current one. Besides, the arg doesn\u0027t work well with the cases like\n\"microdroid\" because there\u0027s only a single mount namespace.\n\nThis will work with the upcoming change for APEXd\u0027s mount-before-data,\nwhich will use a single mount namespace as well.\n\nBug: 381173118\nFlag: com.android.apex.flags.mount_before_data\nTest: m \u0026 cvd create\nChange-Id: I2400c314201c7b7bfe73866ae95059e398ea945a\n"
    },
    {
      "commit": "e86ef01ab7abb95b99da25eed05c96b776060a62",
      "tree": "5a4e987e65fa56171370f439b57253bf19967c17",
      "parents": [
        "9ccbab0d6d7f2931d24e6ef4c58426ff0f3111e3"
      ],
      "author": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Fri Apr 11 19:15:34 2025 -0700"
      },
      "committer": {
        "name": "Jaegeuk Kim",
        "email": "jaegeuk@google.com",
        "time": "Mon Apr 14 10:43:13 2025 -0700"
      },
      "message": "Reduce the checkpoint duration to 30secs\n\ndirty_expire_centisecs is 30secs by default in Linux kernel. Let\u0027s use that\nperiod to improve the durability in system wide.\n\nBug: 410100970\nBug: 288068123\nChange-Id: I17c37b5ebcf44aa8feff81ba74fe2357a0ca2054\nSigned-off-by: Jaegeuk Kim \u003cjaegeuk@google.com\u003e\n"
    },
    {
      "commit": "99455d2b9eafc473c4db8ac0143424e902aa82fc",
      "tree": "21b01855996c810f72eaf4e6e995398731204cc5",
      "parents": [
        "d7f203b4a7f73f7f103a718e486bce1f7ce366bb"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Tue Apr 08 15:31:51 2025 +0000"
      },
      "committer": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Tue Apr 08 15:31:51 2025 +0000"
      },
      "message": "aconfigd init.rc clean up\n\nThe flag guarding transition from system_aconfigd to mainline_aconfigd\nhas been turned on and locked in bp2a release. So safe to remove this\ndead branch.\n\nTest: m\nChange-Id: I39b767d56be0a390ff52d39f1baf447b87a1d061\n"
    },
    {
      "commit": "f7ab2616e2b6a981b3f171999f1bae14ebc09a5a",
      "tree": "1fe06492c424d58487911dbe7390db561057f40b",
      "parents": [
        "e01bb455bbd8f5237cea911e898bc2f8c0be72f7",
        "199214e77023a68c87336432598e37075c1d57f8"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Fri Mar 21 15:18:35 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 15:18:35 2025 -0700"
      },
      "message": "Merge \"Run module code only after KeyMints receive module info\" into main"
    },
    {
      "commit": "e01bb455bbd8f5237cea911e898bc2f8c0be72f7",
      "tree": "b6b47abeacf6910985948de0cc2fed682b3991ad",
      "parents": [
        "f04c827c437d903b5593cbddf15c97a709991d4b",
        "f5b540e2b7b9b325d99486d49c0ac57bdd0c5344"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Mar 21 13:24:01 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 13:24:01 2025 -0700"
      },
      "message": "Merge \"Add new \u0027update_engine_log\u0027 GID\" into main"
    },
    {
      "commit": "8fa61d88687700c146cecb34d39910a5eca07f97",
      "tree": "ff6acdaae203c36ead218b1aa9222dd6d639ea28",
      "parents": [
        "d8538e17a376270896a75e21b30a13a7e3d5fbda"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Thu Mar 20 22:45:24 2025 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Thu Mar 20 22:45:24 2025 +0000"
      },
      "message": "Revert \"Reapply \"libprocessgroup: Look for memcg v2 MaxActivationDepth override\"\"\n\nThis reverts commit cd2a90d5ed8dc28bd3eafc5e05ed794857f836dd.\n\nBug: 386797433\nChange-Id: Ib9a011d569bfc683332a3338cf29ce021a74940b\n"
    },
    {
      "commit": "199214e77023a68c87336432598e37075c1d57f8",
      "tree": "64d9ffffce0152d952da718c682cf74e98755b01",
      "parents": [
        "c4ab2ad673ee7b08d9123ab582ab8ac2e95b65b0"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Wed Mar 19 20:42:39 2025 +0000"
      },
      "committer": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Wed Mar 19 20:55:29 2025 +0000"
      },
      "message": "Run module code only after KeyMints receive module info\n\nIn order to prevent updateable APEX modules from interfering in module\nmeasurement, have `perform_apex_config` wait for the new system\nproperty `keystore.module_hash.sent` to be set to true before running.\nKeystore sets `keystore.module_hash.sent` to true after receiving a\nnon-error response to `setAdditionalAttestationInfo` from all V4+\nKeyMints.\n\nSince Keystore waits for `apexd.status` to be set to\n`activated` (before calling `setAdditionalAttestationInfo`),\n`perform_apex_config` no longer needs to (once flagging is removed).\n\nWith ag/32459798, if sending module info fails, Keystore will crash\n(five times), and the device will reboot to bootloader. Preventing boot\nfrom continuing is an intended consequence - an error here likely\nindicates a more general issue with Keystore or KeyMint (and one that\nlikely isn\u0027t specific to an individual device).\n\nBug: 400439023\nTest: See executed testing plan at go/32464289-test-plan\nChange-Id: I916f64c8bccec45463a5d51bebdcdd60f9eb5977\n"
    },
    {
      "commit": "03e55b73ff994936725897cb48fd9e24f47dbcb4",
      "tree": "98efe1b05eadbb43635f39d4863619e93825ec7e",
      "parents": [
        "181d0b5af901ba44d95371aaa688fb97ff633327"
      ],
      "author": {
        "name": "Federico \u0027Morg\u0027 Pareschi",
        "email": "morg@google.com",
        "time": "Wed Mar 12 01:13:53 2025 +0000"
      },
      "committer": {
        "name": "Federico \u0027Morg\u0027 Pareschi",
        "email": "morg@google.com",
        "time": "Thu Mar 13 23:38:00 2025 +0000"
      },
      "message": "init: Use exec_background instead of exec\n\nextra_free_kbytes.sh sometimes takes a long time to execute, especially\non some slower devices. We don\u0027t need to wait for its completion in this\nscript before continuing init execution. This saves up to 200ms boot\ntime on some slower device models.\n\nBug: http://b/383225735\nTest: manual, bootperf over 100 iterations\n\nChange-Id: I19e3566d71c0e6f57045e1475d20b68bc204b5a4\n"
    },
    {
      "commit": "c4ab2ad673ee7b08d9123ab582ab8ac2e95b65b0",
      "tree": "db4e554a8a22939e16f029b1a9c019c371248bd6",
      "parents": [
        "5b33ace59011bf214b9f28213d90f340f187bd0c",
        "84855526a5141b16b7769ff172b10e83df6c15fb"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 16:08:47 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 10 16:08:47 2025 -0700"
      },
      "message": "Merge \"Revert^5 \"Run module code only after KeyMints receive module info\"\" into main am: 82040a8c5b am: 84855526a5\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3533429\n\nChange-Id: I92eb780bef6b537bb1b849459f72a808434eafa4\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "82040a8c5b16e50326db810170cd18ee00273b8f",
      "tree": "20bbd5903e6892a02b2ff821dec508908710b973",
      "parents": [
        "3a0c0952538a31c33b33bda259c982b5f1385c32",
        "fc1521251ac00600545b671cc6f8a8b8e841f5b8"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 15:27:02 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 15:27:02 2025 -0700"
      },
      "message": "Merge \"Revert^5 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "fc1521251ac00600545b671cc6f8a8b8e841f5b8",
      "tree": "7adb9ce87b5d2ce820c69b378db34979948100a5",
      "parents": [
        "9c830c45921c7220183bc791ea9b749f03868b6c"
      ],
      "author": {
        "name": "Liana Kazanova (xWF)",
        "email": "lkazanova@google.com",
        "time": "Mon Mar 10 15:07:13 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 15:07:13 2025 -0700"
      },
      "message": "Revert^5 \"Run module code only after KeyMints receive module info\"\n\nThis reverts commit 9c830c45921c7220183bc791ea9b749f03868b6c.\n\nReason for revert: DroidMonitor: Potential culprit for http://b/402202667 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.\n\nChange-Id: I45a04b41866f37c924e486d2cfe024327760fd67\n"
    },
    {
      "commit": "7ff756599616a2b56557aa7a4d3705ab2ef81b9a",
      "tree": "c3c337fbdeb88b6456e5d7d5dc4f12c25587dbf1",
      "parents": [
        "dc8b032832ba24851518112db562110eaf28b8ed",
        "6f5e5ae261a98a4f1c96320b560a6eba3ffdbd56"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 13:34:11 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 10 13:34:11 2025 -0700"
      },
      "message": "Merge \"Revert^4 \"Run module code only after KeyMints receive module info\"\" into main am: 158a0c9ebc am: 6f5e5ae261\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3497310\n\nChange-Id: Id34b84fb6befee938be64ac2c3ad77796535538f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dc8b032832ba24851518112db562110eaf28b8ed",
      "tree": "a0b6d53c6004595ed02fbbaa89378f1311c8d41c",
      "parents": [
        "4f58716d2c611e86bb07c0820cdcef18be86de72",
        "8c66fc67fac7c6b6573ba15ac63f7f24971eb395"
      ],
      "author": {
        "name": "Hung Nguyen",
        "email": "hungmn@google.com",
        "time": "Mon Mar 10 12:54:54 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 10 12:54:54 2025 -0700"
      },
      "message": "Merge \"Add init-mmd-prop.rc in case mmd is not built\" into main am: 8b30d46f3a am: 8c66fc67fa\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3529956\n\nChange-Id: Ic9e738d11452eaa4f5b917fa099d1b140f883448\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "158a0c9ebc3734ebc0b98965c3637d4ed54745f9",
      "tree": "6b4795f0907f8cd3b3fcfdee8e58ac2a8ca5790c",
      "parents": [
        "8b30d46f3aede1476643f40be0dc48834ceee838",
        "9c830c45921c7220183bc791ea9b749f03868b6c"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Mar 10 10:50:39 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 10 10:50:39 2025 -0700"
      },
      "message": "Merge \"Revert^4 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "635e5b4f3c7c34d9d327bcccc61c35a0f44feb95",
      "tree": "1bf5ec346ec6e9dc4343e69f3ef392b34105b495",
      "parents": [
        "facb64dcb4dbaf72cdbb9a2674077f6e19191c4b"
      ],
      "author": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Thu Mar 06 16:21:12 2025 +0900"
      },
      "committer": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Mon Mar 10 11:14:16 2025 +0900"
      },
      "message": "Add init-mmd-prop.rc in case mmd is not built\n\nThe build flag RELEASE_MEMORY_MANAGEMENT_DAEMON will be eventually\nenabled. If mmd is not built into the image, init-mmd-prop.rc sets\n\"mmd.enabled_aconfig\" sysprop to unblock swapon_all execution.\n\nDevices launching mmd in Trunkfood and Nextfood are supposed to execute\nswapon_all command on \"on property:mmd.enabled_aconfig\u003d*\" trigger.\n\nOn devices with mmd enabled, we need `mmd.enabled_aconfig` sysprop to be\nempty by default, to let swapon_all command wait until aconfig flag\nvalue is loaded to the system property.\n\nBug: 393481329\nTest: manual\n\nChange-Id: Iaba4cee2b5006a10403d5e03532bed008ab80019\n"
    },
    {
      "commit": "f5b540e2b7b9b325d99486d49c0ac57bdd0c5344",
      "tree": "7527c238aa139a8d22490f42089415505b077a5c",
      "parents": [
        "ddaa6e2b26c2305b972b8b1e676745fe135eb09c"
      ],
      "author": {
        "name": "Håkan Kvist",
        "email": "hakan.kvist@sony.com",
        "time": "Tue Jan 21 15:39:02 2025 +0100"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Mar 07 21:27:55 2025 +0000"
      },
      "message": "Add new \u0027update_engine_log\u0027 GID\n\nAdd a new GID for controlling access to the update\nengine logs.\n\nThis is an enabler for a new permission to grant\naccess update engine logs only:\n  android.permission.READ_UPDATE_ENGINE_LOGS\n\nNote: holders of android.permission.READ_LOGS will\nstill have access to update engine logs.\n\nBug: 397893018\nTest: Flash software, check permissions of directory\n    Flash software without this patch. Flash software with this\n    CL on top. Confirm permission. Confirm log files included in\n    bugreport.\nChange-Id: I9632cf1b894a6deafd33a769f736b0736e8ca82e\n"
    },
    {
      "commit": "ddaa6e2b26c2305b972b8b1e676745fe135eb09c",
      "tree": "2444880a33b78f97b2546b06f4e340e0b798914b",
      "parents": [
        "aa8fd32216b5f855b5ce57c95c31ec69fd6761fa",
        "d17dd1f3ec63bf368bf55ed9fc815c9496cd3d82"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 06 13:28:33 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Mar 06 13:28:33 2025 -0800"
      },
      "message": "Merge \"init.rc: remove /data/apex/sessions\" into main am: 4c235b170a am: d17dd1f3ec\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3513016\n\nChange-Id: Ibd9e707de63a9cf8ce41ae1bcc69f13869899df5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "148f65b179cb4c63aab53e8d540bba4267428b17",
      "tree": "e3a87824003fa00cb3414cdb66a8d2eb58cf28a9",
      "parents": [
        "672c440c65748cb22f909b7bd960db0202057612"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Mar 03 20:43:29 2025 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Mon Mar 03 20:53:24 2025 +0000"
      },
      "message": "Add lmkd_native.psi_partial_stall_ms test config\n\nWith MGLRU enabled, we see 5% - 16% fewer LMKs from the Beta population\ncompared to a non-MGLRU baseline. We\u0027ll try decreasing the LMKD wakeup\nthreshold by 20% in one of the experiment configurations to see if it\nresults in a comparable number of kills to non-MGLRU.\n\nBug: 384577842\nIgnore-AOSP-First: 25Q2 Beta Experiment only go/android-memcgv2-exp\nChange-Id: I566a4b294182ece0bd586c88e4f754160235d16f\n"
    },
    {
      "commit": "9c830c45921c7220183bc791ea9b749f03868b6c",
      "tree": "100824cc4cb13c079ceb0a51fd86578a97fc62a8",
      "parents": [
        "5b395ce2cc2f02cccc46d026d451dee9066ce0f3"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Fri Feb 14 07:41:04 2025 -0800"
      },
      "committer": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Thu Feb 27 15:19:58 2025 -0800"
      },
      "message": "Revert^4 \"Run module code only after KeyMints receive module info\"\n\nThis reverts commit 5b395ce2cc2f02cccc46d026d451dee9066ce0f3.\n\nReason for revert: This change should no longer cause boot issues. Manual testing on a variety of builds and form factors was conducted in b/399702162. See the original change aosp/3433145\u0027s description for change details.\n\nChange-Id: If1aee09e94976630da8714dfae1bd16b8056586d\n"
    },
    {
      "commit": "f01026f963b8689f6b0e046cb7cbe04b86a830fe",
      "tree": "1d3d1f63df8e721068843566275fee825a95435f",
      "parents": [
        "8e185dd37394e2079f422079de05f68b5dd8c65a"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 27 17:44:17 2025 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 27 17:44:17 2025 +0900"
      },
      "message": "init.rc: remove /data/apex/sessions\n\nSince Android R, apexd uses /metadata/apex/sessions.\n\nBug: 373550515\nTest: ApexTestCases (no regression)\nChange-Id: Ia13b4656e8234b4588f83de46b28275a3c75e8c9\n"
    },
    {
      "commit": "87f9a540310e428754325e15464fac0c188b1de0",
      "tree": "df4c9b003b052221cc89ca089b58b9b61ce5da72",
      "parents": [
        "922d78d806e02298fe35f5489f25bc4bb66a042d",
        "1e75acbac26529b511d12a217921087c5411d238"
      ],
      "author": {
        "name": "Neha Jain",
        "email": "jainne@google.com",
        "time": "Fri Feb 14 02:33:14 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Feb 14 02:33:14 2025 -0800"
      },
      "message": "Merge \"Revert^3 \"Run module code only after KeyMints receive module info\"\" into main am: 5b775cbe17 am: 1e75acbac2\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3495564\n\nChange-Id: Iaf0e793b5ad5015c7704a9099b0a2456c841362e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5b775cbe17307e37695fb296b08e47b751fcaa50",
      "tree": "2f1c3942b67b7329bd89231a72bbd75a6800c357",
      "parents": [
        "f17936dc2e47b6f961258cd87558265f4c8ed5ad",
        "5b395ce2cc2f02cccc46d026d451dee9066ce0f3"
      ],
      "author": {
        "name": "Neha Jain",
        "email": "jainne@google.com",
        "time": "Fri Feb 14 01:24:56 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 01:24:56 2025 -0800"
      },
      "message": "Merge \"Revert^3 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "5b395ce2cc2f02cccc46d026d451dee9066ce0f3",
      "tree": "7adb9ce87b5d2ce820c69b378db34979948100a5",
      "parents": [
        "2dc0a19e97a38bd2ae66784e1f13eb3409e6453f"
      ],
      "author": {
        "name": "Neha Jain",
        "email": "jainne@google.com",
        "time": "Fri Feb 14 00:18:46 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 14 00:18:46 2025 -0800"
      },
      "message": "Revert^3 \"Run module code only after KeyMints receive module info\"\n\nThis reverts commit 2dc0a19e97a38bd2ae66784e1f13eb3409e6453f.\n\nReason for revert: b/396538691\n\nChange-Id: Ia1a124bcbb419c266cf3ae27699967615d5d0d84\n"
    },
    {
      "commit": "c0cdb6222f2216652445d24e47a71c15521d3b6a",
      "tree": "ff29102ec378712a2961b78533df76242cf3e88b",
      "parents": [
        "1eae8bace862c0319b94f0422d67477ecbb93df6",
        "987deca5ffd6b48293db557a72e1ff8af099e66b"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Thu Feb 13 09:04:27 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Feb 13 09:04:27 2025 -0800"
      },
      "message": "Merge \"Revert^2 \"Run module code only after KeyMints receive module info\"\" into main am: 54eaeb2f4c am: 987deca5ff\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/3438945\n\nChange-Id: I891035d2c8d3830fa46226b5e0d21e3c32302141\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "54eaeb2f4c556d19627b4c254bba9e76a5417913",
      "tree": "01d40dd834e4c3aeef952a4bcf4cb627ebe20127",
      "parents": [
        "bf9d9f7501d0ecba44df5eed5a0591e0041849a7",
        "2dc0a19e97a38bd2ae66784e1f13eb3409e6453f"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Thu Feb 13 07:47:36 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 13 07:47:36 2025 -0800"
      },
      "message": "Merge \"Revert^2 \"Run module code only after KeyMints receive module info\"\" into main"
    },
    {
      "commit": "a4bf9fb5cd60950d8653e2424f3354780968b341",
      "tree": "621cee3ca493d4e441d4870ce3f505d9703334b0",
      "parents": [
        "f70922f2f032cdf093fb2c2ca8f0a2b8a5b4626c"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Feb 05 19:04:38 2025 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Feb 05 19:07:37 2025 +0000"
      },
      "message": "Setup flag for multiple MaxActivationDepths\n\nWe will add treatment arms for all different values of\nMaxActivationDepth instead of only per-pid (3).\n\nThis will be reverted after the memcg v2 experiment is complete, and\nbefore the final 25Q2 TOT snap. The final MaxActivationDepth value will\nbe commited to cgroups.json on AOSP. go/android-memcgv2-exp\n\nBug: 384577842\nTest: setprop persist.device_config.mglru_native.lru_gen_config core_and_mm_walk\nTest: setprop persist.device_config.mglru_native.lru_gen_config core_and_nonleaf_young\nTest: setprop persist.device_config.mglru_native.lru_gen_config all\nTest: find /sys/fs/cgroup/ -name cgroup.controllers -exec grep -q memory {} \\; -print (after each of above)\nIgnore-AOSP-First: 25Q2 Beta Experiment only go/android-memcgv2-exp\nChange-Id: I243bd8fe51f0122bec640f06c8c28b5426ecfd8b\n"
    },
    {
      "commit": "16301978b0a3fad8631b4ccb053f314b70c2c0d0",
      "tree": "7116a3a23b84b7824c0703fc038ce1e28cec515d",
      "parents": [
        "3fe8f72eddeb832bd461d353ac1400835c22b9de",
        "abe073a086388b62e9a13c6ee7e258b823eaa36f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Feb 04 09:42:30 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 04 09:42:30 2025 -0800"
      },
      "message": "Merge \"Add read permission for shutdown checkpoints files\" into main am: 872f45775f am: abe073a086\n\nOriginal change: https://android-review.googlesource.com/c/platform/system/core/+/2796118\n\nChange-Id: I66304eb85cc2c957bda8531da430fe6a1736f578\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3c105f1990595e0cb8b73333ce26dadb070f87e1",
      "tree": "81bb1aa3d9323773faed0fee42cbfb7088151a07",
      "parents": [
        "b5402e7e91093ec25673e0c3c74958a8cec362ec"
      ],
      "author": {
        "name": "Leif Martensson",
        "email": "leif.martensson@sony.com",
        "time": "Mon Oct 16 14:35:48 2023 +0200"
      },
      "committer": {
        "name": "Mattias Nilsson",
        "email": "mattias.nilsson@sony.com",
        "time": "Mon Feb 03 01:19:28 2025 -0800"
      },
      "message": "Add read permission for shutdown checkpoints files\n\nEnables for diagnostic apps to read the shutdown checkpoints files\n\nTest: N/A\nBug: 306198106\nChange-Id: Idae6d3d0c941a90db0e176e8dcaa70574d807267\n"
    },
    {
      "commit": "cd2a90d5ed8dc28bd3eafc5e05ed794857f836dd",
      "tree": "e37fe5b8dc5fca70ac267bdbb407f48024049cdc",
      "parents": [
        "f9079176f77c40a5e83af2f26cd378ab66513910"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Jan 15 23:41:22 2025 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Jan 15 16:21:57 2025 -0800"
      },
      "message": "Reapply \"libprocessgroup: Look for memcg v2 MaxActivationDepth override\"\n\nThis reverts commit c53f9f8d10a2c1ecd8436a24871ea4d967b189e5.\n\nwebview_zygote is its own user and was attempting to read the metadata\noverride file, but the /metadata/libprocessgroup directory and the\nmemcg_v2_max_activation_depth contained therein had directory/file\npermissions which were too restrictive and did not allow any readers\nother than system. These are now globally readable which matches the\nsepolicy for these items.\n\nBug: 390228674\nIgnore-AOSP-First: Reapply reverted commit\nChange-Id: I36117b564575b1c2c6538214c025fe5f607866ec\n"
    },
    {
      "commit": "c0c5921b708fad333af28ae8326e7a5c4d28ad5f",
      "tree": "358f2714e6474a086449b202eaada0bcb63f02c2",
      "parents": [
        "edd28c724d87ba516728c57a6df8f538b1b10eae"
      ],
      "author": {
        "name": "Wei Li",
        "email": "weiwli@google.com",
        "time": "Wed Jan 15 13:18:28 2025 -0800"
      },
      "committer": {
        "name": "Wei Li",
        "email": "weiwli@google.com",
        "time": "Wed Jan 15 13:18:28 2025 -0800"
      },
      "message": "Track the symlink /root/adb_keys in the build system properly\n\nBug: 389985381\nTest: build/soong/tests/sbom_test.sh\nChange-Id: I0f98cef01979fa3cd11f1460bbad395558afecef\n"
    },
    {
      "commit": "2dc0a19e97a38bd2ae66784e1f13eb3409e6453f",
      "tree": "100824cc4cb13c079ceb0a51fd86578a97fc62a8",
      "parents": [
        "b1da9dc655caf1a70f8f0244404207c8ec491ed4"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Jan 06 14:59:21 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 06 14:59:21 2025 -0800"
      },
      "message": "Revert^2 \"Run module code only after KeyMints receive module info\"\n\nThis reverts commit b1da9dc655caf1a70f8f0244404207c8ec491ed4.\n\nReason for revert: Re-submitting the original change once Trusty pre-builts are updated.\n\nChange-Id: Iaf3f535dd5640d8302aeec376b3afaa5b9859f55\n"
    },
    {
      "commit": "b1da9dc655caf1a70f8f0244404207c8ec491ed4",
      "tree": "7adb9ce87b5d2ce820c69b378db34979948100a5",
      "parents": [
        "2170b7cd7f45a779d3b7be389bbe4d12997c1fc8"
      ],
      "author": {
        "name": "Priyanka Advani (xWF)",
        "email": "padvani@google.com",
        "time": "Mon Jan 06 14:21:38 2025 -0800"
      },
      "committer": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Mon Jan 06 14:54:27 2025 -0800"
      },
      "message": "Revert \"Run module code only after KeyMints receive module info\"\n\nReason for revert: Droidmonitor created revert due to b/388085199. Will be verifying through ABTD before submission. (The issue is due to Trusty pre-builts not being updated recently enough.)\n\nChange-Id: I1bf243481ac6862b4fce19c7940eacb4a8c0671c\n"
    },
    {
      "commit": "2170b7cd7f45a779d3b7be389bbe4d12997c1fc8",
      "tree": "100824cc4cb13c079ceb0a51fd86578a97fc62a8",
      "parents": [
        "64d68e1d63c9d39aa386bedd3c002309c1254cb8"
      ],
      "author": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Sat Dec 28 00:33:55 2024 +0000"
      },
      "committer": {
        "name": "Karuna Wadhera",
        "email": "kwadhera@google.com",
        "time": "Fri Jan 03 02:42:49 2025 +0000"
      },
      "message": "Run module code only after KeyMints receive module info\n\nIn order to prevent updateable APEX modules from interfering in module\nmeasurement, have `perform_apex_config` wait for the new system\nproperty `keystore.module_hash.sent` to be set to true before running.\nKeystore sets `keystore.module_hash.sent` to true after receiving a\nnon-error response to `setAdditionalAttestationInfo` from all V4+\nKeyMints.\n\nSince Keystore waits for `apexd.status` to be set to\n`activated` (before calling `setAdditionalAttestationInfo`),\n`perform_apex_config` no longer needs to (once flagging is removed).\n\nNote that boot will hang if sending module info fails (as we\u0027ll be stuck\non the wait). Preventing boot from continuing is an intended consequence\n- an error here likely indicates a more general issue with Keystore or\n  KeyMint (and one that likely isn\u0027t specific to an individual device).\n\nBug: 369375199\nTest: Manual (boots)\nChange-Id: Id67c674643762b1fdbba42a407c21756a78ea18d\n"
    },
    {
      "commit": "5d4c19be4326e9c1c8f89381adc1e92157690605",
      "tree": "a9a611989cc7c273b7b5dd91e1b9215cce6252e3",
      "parents": [
        "3aed5fd2f3c004205c3a31b54dfa802148ec563b"
      ],
      "author": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Wed Dec 11 12:23:42 2024 +0000"
      },
      "committer": {
        "name": "Alessio Balsini",
        "email": "balsini@google.com",
        "time": "Fri Dec 27 16:30:55 2024 +0000"
      },
      "message": "Non-root access to /proc/allocinfo\n\nChange group and permissions to the /proc/allocinfo file, so that the\nfile is readable from non-root.\n\nBug: 384777823\nTest: adb shell dumpstate\nChange-Id: Icf5331cb68e4b706d4eaf11ee2576234c2d7789f\nSigned-off-by: Alessio Balsini \u003cbalsini@google.com\u003e\n"
    },
    {
      "commit": "ea5715c191c683fc70411a7bd56971ed1b8c033b",
      "tree": "6b99d6f332cb1393d88fef94699044e5ca18eece",
      "parents": [
        "f51453c235a6e0f03ff279c31efc22cada12db1d",
        "c4956b0e4ed9d5dc191fb279eeddc18e5d28189e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Dec 16 17:32:11 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 16 17:32:11 2024 -0800"
      },
      "message": "Merge \"Remove fsverity_init reference from init\" into main"
    },
    {
      "commit": "c4956b0e4ed9d5dc191fb279eeddc18e5d28189e",
      "tree": "663b778d33bc058774e59ff636556206b423845b",
      "parents": [
        "0c563315a74ef0e9ef2d36738e29e93b8cf1c9f7"
      ],
      "author": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Dec 16 10:58:32 2024 -0800"
      },
      "committer": {
        "name": "Victor Hsieh",
        "email": "victorhsieh@google.com",
        "time": "Mon Dec 16 10:58:32 2024 -0800"
      },
      "message": "Remove fsverity_init reference from init\n\nTest: TH\nBug: 277916185\nChange-Id: Ibdfe7c0b47a10a5412e962eb88320379b06c34d6\n"
    },
    {
      "commit": "fdd8f755e652c8201cc9bcc019e217986757f19b",
      "tree": "fb48d2a4014e5aa7263f4499c7dd9d82c77a280d",
      "parents": [
        "0c563315a74ef0e9ef2d36738e29e93b8cf1c9f7"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Dec 13 15:05:43 2024 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Dec 13 15:11:12 2024 -0800"
      },
      "message": "Remove system_linker_config module\n\nThe linker.config.pb on the system image has some system-specific\nbuild steps. The system_linker_config module was just one of the\nsteps, but the rest of the steps depend on installed files, which\nare only known to the filesystem modules, so they happen there.\nMove this first initial step to the filesystem level as well for\nconsistency.\n\nBug: 384091387\nTest: Diff\u0027d out/target/product/vsoc_x86_64/system/etc/linker.config.pb before and after this cl\nChange-Id: Ia3a613eee730778a6bd3aeb196c53cee0eb576bf\n"
    },
    {
      "commit": "64ee4a6b4ca5e054965261a34b657426e16ebcee",
      "tree": "5a7957974b32f9fd42ebfe7c4c0e3bc4336a6140",
      "parents": [
        "033e4ceeaa76e040aeda3f48ac800fe9ce765ebc"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Dec 11 00:26:22 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Wed Dec 11 02:05:01 2024 +0000"
      },
      "message": "init: Remove /acct\n\nThe cpuacct controller has not been mounted at /acct since 2018 with\ncommit 192aee782 (\"libprocessgroup: Add support for task profiles\").\n\nTest: atest FrameworksMockingServicesTests:AppChildProcessTest\nTest: atest CtsAppTestCases:ActivityManagerTest\nChange-Id: I411741232dde59acd2e3af33e0e89230f7a133a8\n"
    },
    {
      "commit": "744b469715da660bb3e9eb638f444439d36666d1",
      "tree": "e9b4d474f7efeadf5b13b55f36030b8efe9723ae",
      "parents": [
        "9b5c6fdce8a142b281ccca5da0a8edbe0a3bd2df"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Dec 06 23:53:38 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Mon Dec 09 19:31:56 2024 +0000"
      },
      "message": "Revert^2 \"Define ueventd.rc.recovery\"\n\nBy removing `recovery_available` property from \"ueventd.rc\" and\ndefining a dedicated recovery-specific module for \"ueventd.rc\".\n`recovery_available` property should be used to allow the reverse\ndependencies recovery modules to depend on the module, not to\ninstall the module to the recovery partition.\n\nTest: m soong_generated_recovery_filesystem_test\nBug: 381888358\nChange-Id: Ief4f4937baa1f624948850f3e0293458ea3c2c20\n"
    },
    {
      "commit": "683e3c07614f452baf3e18f67a1140988709b0f2",
      "tree": "e78b4b5c138acb4d362e3deb9591c64943137d1c",
      "parents": [
        "445d2e0025d24a8319faf9449c52d9f61b09da6e"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Thu Sep 26 13:36:18 2024 +0000"
      },
      "committer": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Tue Dec 03 23:52:00 2024 +0000"
      },
      "message": "Start aconfigd socket defined in configinfra mainline module\n\nContext: to have better future updatability. The responsiblity of\nmanaging mainline module storage files and a socket service for flag\noverrides will be moved to the configinfra mainline module. Later,\naconfigd on /system will only be repsopnsbile for managing platform\npartition storage files.\n\nBug: b/369810972\nTest: m, launch avd and then inspect the logcat log to confirm the\nservice is launched.\n\nChange-Id: I490e5aa432fa4afa236689ad0999e5602f7d297e\n"
    },
    {
      "commit": "6dc0ed175892bbdf191edb1819400d5d3576f2f1",
      "tree": "d3878c18ae3e2e9dcfcfebece2281fb0d43ca642",
      "parents": [
        "e7a16c3aa0e165c79d4d30620392c4d03e1e548f",
        "cadad290a79d5b0a30add935aaadab7c1b1ef5e9"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Mon Dec 02 18:11:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 02 18:11:34 2024 +0000"
      },
      "message": "Merge \"Fix the dm-verity Merkle tree caches to not expire so quickly\" into main"
    },
    {
      "commit": "db8095323818bbb11c18950c3755dce9c1d8bd9d",
      "tree": "daadb06ef4a45b6c745e5e139dc5e1a4ab4dda38",
      "parents": [
        "bc6efddf79349ca4dbe73002572983149c454d4d",
        "52d2446b4e8c208066b4208780b4b0117102c53d"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Wed Nov 27 13:33:23 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 27 13:33:23 2024 +0000"
      },
      "message": "Merge \"Deprecate cc_binary aconfigd and the controlling flag\" into main"
    },
    {
      "commit": "52d2446b4e8c208066b4208780b4b0117102c53d",
      "tree": "df88229d540a1b1ae406f5be753c35a3671ff8c0",
      "parents": [
        "e400d09c83aec59d920875a31bfff1d07e49911e"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Tue Nov 26 15:26:52 2024 +0000"
      },
      "committer": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Tue Nov 26 15:26:52 2024 +0000"
      },
      "message": "Deprecate cc_binary aconfigd and the controlling flag\n\ncc_binary aconfigd is replaced with rust_binary aconfigd-system. The\nreplacement is flag guarded and is already in TF full for more than a\nweek. Thus delete the flag and deprecate old cc_binary aconfigd.\n\nTest: m\nChange-Id: Ib128adc2ef8178e02222f77e6b89bcc7ac83c1da\n"
    },
    {
      "commit": "cadad290a79d5b0a30add935aaadab7c1b1ef5e9",
      "tree": "1efe1e816839be002797ebfd7af16c4cb07add4b",
      "parents": [
        "1de1f1d83b433691f7d384195c64f5598b6cdd46"
      ],
      "author": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 26 02:56:24 2024 +0000"
      },
      "committer": {
        "name": "Eric Biggers",
        "email": "ebiggers@google.com",
        "time": "Tue Nov 26 03:24:44 2024 +0000"
      },
      "message": "Fix the dm-verity Merkle tree caches to not expire so quickly\n\nBug: 335233956\nTest: cat /sys/module/dm_bufio/parameters/max_age_seconds\nChange-Id: I20e4df7dd3eb2ac1f462510e900568e946195faf\n"
    },
    {
      "commit": "c532409c5cce6a519b5b48f2d5ce00b63ee716a1",
      "tree": "740899bd46325aee209e498644f98e86e7c4bc67",
      "parents": [
        "1de1f1d83b433691f7d384195c64f5598b6cdd46",
        "f1eaa75168352a3bd3cc6ffb0733d09a4b028f8b"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Mon Nov 25 17:27:03 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 25 17:27:03 2024 +0000"
      },
      "message": "Merge \"move aconfigd platform init service from init.rc into aconfigd.rc\" into main"
    },
    {
      "commit": "fef2dff80a7e44cf23decf0629c7d2dba27bac0b",
      "tree": "715d3d226bc3fbb05abd20a7f79db0aa24399fb9",
      "parents": [
        "3ffdc6206a25578ddaa5bd798d1961bacb271367"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Nov 25 08:32:05 2024 +0000"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Nov 25 08:32:05 2024 +0000"
      },
      "message": "Remove /data/apex/hashtree directory\n\nThis directory is no longer used.\n\nBug: 184914612\nChange-Id: Iaa094e2df39c363fe0a5ffd4b27b5c3075bb4f7f\nTest: (device doesn\u0027t have the directory)\n"
    },
    {
      "commit": "640e32478fb062f2fdc61c508c1191665c8b43f6",
      "tree": "240ecc718bd9843c8c7a78f936013d2e0006dd3d",
      "parents": [
        "b053403046866100a04f8aa337f8965342de3606",
        "b912e3e548c4879a015342be1910c12a629b8dd8"
      ],
      "author": {
        "name": "Shin Kawamura",
        "email": "kawasin@google.com",
        "time": "Fri Nov 22 03:58:13 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 22 03:58:13 2024 +0000"
      },
      "message": "Merge \"Fix permission of zram writeback and idle file\" into main"
    },
    {
      "commit": "35ab96a4232b5579c96f9c75bd053dfc238f08f4",
      "tree": "5f76fbe3447d74105672ecb74a10438904350daa",
      "parents": [
        "1c1bdd91b3b9d72108fda3f52770c55892f57975"
      ],
      "author": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Nov 21 05:59:54 2024 -0800"
      },
      "committer": {
        "name": "Akilesh Kailash",
        "email": "akailash@google.com",
        "time": "Thu Nov 21 05:59:54 2024 -0800"
      },
      "message": "Add prefetch directory in /metadata\n\nBug: 362507272\nTest: Verify directory is created in /metadata\nChange-Id: Ie1c2312f405d4b41e06a248e4d2b93cd8fc62a93\nSigned-off-by: Akilesh Kailash \u003cakailash@google.com\u003e\n"
    },
    {
      "commit": "b912e3e548c4879a015342be1910c12a629b8dd8",
      "tree": "5d1de52e2994ef40f7e51addeba91c73a9117fde",
      "parents": [
        "b6d84eba344cbe850bf01fdf8af7a979744c3d21"
      ],
      "author": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Thu Nov 21 16:28:30 2024 +0900"
      },
      "committer": {
        "name": "Shintaro Kawamura",
        "email": "kawasin@google.com",
        "time": "Thu Nov 21 16:28:34 2024 +0900"
      },
      "message": "Fix permission of zram writeback and idle file\n\nThe default permission of \"/sys/block/zram0/idle\" and\n\"/sys/block/zram0/writeback\" are \"0200\".\n\nAdding read permission to the files does not make sense because reading\nthose files fail as EIO error.\n\nWe should keep permission as minimum as possible.\n\nBug: 117682284\nBug: 375432468\nTest: ls -la /sys/block/zram0\n\nChange-Id: I11ed5d9eee257002f4698edcd81de39d2c317ea1\n"
    },
    {
      "commit": "6105d9dc8aeec5ef54092854121cd6ff5859f3a4",
      "tree": "b6ace9e30bd9d8dbd89d7871033191b5d297077f",
      "parents": [
        "569db94fa89a24c62354ce95af19a586f4756cfd"
      ],
      "author": {
        "name": "Gabriel Biren",
        "email": "gbiren@google.com",
        "time": "Mon Nov 18 20:24:58 2024 +0000"
      },
      "committer": {
        "name": "Gabriel Biren",
        "email": "gbiren@google.com",
        "time": "Mon Nov 18 20:24:58 2024 +0000"
      },
      "message": "Create the mainline supplicant directory\nduring initialization.\n\nBug: 365585450\nTest: Manual test - verify that the mainline\n      supplicant can add/remove interfaces\nChange-Id: Ib41b361a8b032c04586f108be9d1933214934286\n"
    },
    {
      "commit": "f1eaa75168352a3bd3cc6ffb0733d09a4b028f8b",
      "tree": "f0dcdbfdddbfdd1076f293a4a98faa739b3e76a6",
      "parents": [
        "b842f642d9587b49e6d6a01da2a1b1fd0c045daa"
      ],
      "author": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Mon Nov 11 17:44:14 2024 +0000"
      },
      "committer": {
        "name": "Dennis Shen",
        "email": "dzshen@google.com",
        "time": "Mon Nov 11 17:44:14 2024 +0000"
      },
      "message": "move aconfigd platform init service from init.rc into aconfigd.rc\n\nBug: 378079539\nTest: m\nChange-Id: I10c306468bf3efe3b5186851cb09b576b143512a\n"
    },
    {
      "commit": "3c700588c75d29a78679260bc9847b22b852f724",
      "tree": "5452cb0b37a6dbef014a1942ee2bb3ebed6edc76",
      "parents": [
        "308bcbea8ecdfa617812a1621ae05280b9874227"
      ],
      "author": {
        "name": "Ted Bauer",
        "email": "tedbauer@google.com",
        "time": "Fri Nov 08 17:15:46 2024 +0000"
      },
      "committer": {
        "name": "Ted Bauer",
        "email": "tedbauer@google.com",
        "time": "Fri Nov 08 17:45:16 2024 +0000"
      },
      "message": "Start aconfigd_system processes in init.rc\n\naconfigd_system is replacing aconfigd. Which one executes is toggled\nby RO flag enable_system_aconfigd_rust, introduced in https://android-review.googlesource.com/q/topic:%22switch-to-aconfigd-system%22.\n\nBug: 378079539\nTest: m\nChange-Id: I6a04c38e9ef22da2b230046ddace73d6f7e39652\n"
    },
    {
      "commit": "03429acceeb0f7a0316075fd66ac6270be403ebe",
      "tree": "429d816c3f4d274adec4cde0f4adffc96a97ccf2",
      "parents": [
        "7a813fd35cd8ef6332d3f8108625ff51ebaff002"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Oct 29 16:28:33 2024 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Oct 29 16:28:33 2024 +0900"
      },
      "message": "init: mount tracefs before apexd-bootstrap\n\nThis removes the error log when apexd-bootstrap starts:\n\n  cutils-trace: Error opening trace file: No such file or directory (2)\n\nBug: 376150518\nTest: boot-time trace shows apexd-bootstrap\n  see https://source.android.com/docs/core/perf/boot-times#systrace\nChange-Id: I5feaece50663a602b61377cee034060fd30217f9\n"
    },
    {
      "commit": "097b607ac6855b6c81ef4495c3738ba5e2f2c9db",
      "tree": "1ac8901183f01795540db8a53576ea208974bdf5",
      "parents": [
        "d7f4fbf77834478b1a9c861fb91067adb07a7677",
        "6f451a9c8ceec473745bf7e6b67c9776cbb5e1a1"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Fri Oct 18 21:55:09 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 18 21:55:09 2024 +0000"
      },
      "message": "Merge \"init: Issue a wipe on boot if trade-in mode was active.\" into main"
    },
    {
      "commit": "499643e456a602960d0a66d39ec0e4d0df768f4f",
      "tree": "1318283f7396c8361a45e82d5d8815888bb3afa0",
      "parents": [
        "cd2475ccf60bfcd3f35be850a33c53a8d9eff1af",
        "50fd822149d305b8fb53f2d9f650bb246acaf0ae"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Oct 09 20:45:29 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 09 20:45:29 2024 +0000"
      },
      "message": "Merge \"init: Remove schedtune support\" into main"
    },
    {
      "commit": "50fd822149d305b8fb53f2d9f650bb246acaf0ae",
      "tree": "e2655c1b54a4f3fe14c9e6b9849b2346e6f63a63",
      "parents": [
        "aa56f29ff958fea660e0cc9ca36030dfb793c3d5"
      ],
      "author": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Fri Oct 04 14:53:27 2024 +0000"
      },
      "committer": {
        "name": "T.J. Mercier",
        "email": "tjmercier@google.com",
        "time": "Fri Oct 04 14:53:27 2024 +0000"
      },
      "message": "init: Remove schedtune support\n\nSchedtune was an out of tree cgroup controller present in Android\nkernels up to 4.19. It was replaced with uclamp and the cpu controller.\nNow that 4.19 is EOL and unsupported, and schedtune is not present in\nany supported Android kernels, remove the userspace support for\nschedtune.\n\nBug: 362504801\nChange-Id: Iab7b7295d1fb443209d5868ac5c65dca0aabfbab\n"
    },
    {
      "commit": "da77c2e1dc762a8d4930260ec6ec19447cce828c",
      "tree": "a250a0aea74dec0db79ed1d19c4b3ac039a02594",
      "parents": [
        "aa56f29ff958fea660e0cc9ca36030dfb793c3d5"
      ],
      "author": {
        "name": "Rob Barnes",
        "email": "robbarnes@google.com",
        "time": "Wed Sep 18 01:29:15 2024 +0000"
      },
      "committer": {
        "name": "Rob Barnes",
        "email": "robbarnes@google.com",
        "time": "Thu Oct 03 13:54:52 2024 +0000"
      },
      "message": "Change owner of ACPI BERT tables to system\n\nChanges the owner of the following files to system:system:\n\n* /sys/firmware/acpi/tables\n* /sys/firmware/acpi/tables/BERT\n* /sys/firmware/acpi/tables/data/BERT\n\nThis allows the bert_collector deamon to read these files for error reporting.\n\nBug: 357626966\nTest: m \u0026\u0026 atest bert_collector_test\n\nChange-Id: Iba3a169f1851566ee6fed6d41b538dae448bf811\n"
    },
    {
      "commit": "6f451a9c8ceec473745bf7e6b67c9776cbb5e1a1",
      "tree": "ba9db73817168e723f0079ff380a6ef24f1b33a7",
      "parents": [
        "47ec15c928f7b993e7da51f89e0e8b78b603d023"
      ],
      "author": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Oct 02 19:35:21 2024 -0700"
      },
      "committer": {
        "name": "David Anderson",
        "email": "dvander@google.com",
        "time": "Wed Oct 02 20:19:08 2024 -0700"
      },
      "message": "init: Issue a wipe on boot if trade-in mode was active.\n\nThis modifies first-stage init to check for /metadata/tradeinmode/wipe\nas soon as /metadata is mounted. If the file exists, we issue a request\nto the bootloader to reboot to recovery and wipe /data. Since this also\nwipes /metadata, the wipe indicator will be removed too.\n\nIn case some kind of failure happens in recovery, this also implements a\nquick-and-dirty counter mechanism to fallback to the recovery menu.\n\nBug: 307713521\nTest: touch /metadata/tradeinmode/wipe \u0026\u0026 adb reboot\nChange-Id: I2d05903cadcdadf9c05f6736454db790a9e6b5bb\n"
    },
    {
      "commit": "b4b3950e528cc62e874e59d052b2e9a600de708a",
      "tree": "ea3ee713d55b4741b7ba97b8ec820b648e587a7e",
      "parents": [
        "3e8f0b53e4b54c89db09874db2495650eb0a4ac5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Sep 23 21:24:00 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Sep 23 21:34:33 2024 +0000"
      },
      "message": "Fix the trigger name for loading bpf programs.\n\nThe trigger name should be load-bpf-programs, not load_bpf_programs.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I00cff0a3dd971de39dfc3226b140be972854ea28\n"
    },
    {
      "commit": "3e8f0b53e4b54c89db09874db2495650eb0a4ac5",
      "tree": "04b02d1553daa23fd566a7ee1f3b921d531fb0b4",
      "parents": [
        "23903e16553eb0b63551c1b7b2584e1b97d7b59f",
        "e60b760e7463bcf66b7c1da3dd6d70e2f19f30db"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Sep 23 21:16:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 23 21:16:05 2024 +0000"
      },
      "message": "Merge \"start netd earlier\" into main"
    },
    {
      "commit": "e60b760e7463bcf66b7c1da3dd6d70e2f19f30db",
      "tree": "39eeeb3af01f5ec502c6b3ca8bbaf975e8424662",
      "parents": [
        "752112003dfd03ee3531e1f640a80ecb549e8f34"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 18 18:11:14 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Sep 23 21:15:01 2024 +0000"
      },
      "message": "start netd earlier\n\nIn this change we\u0027re moving the asynchronous netd startup ahead of\nthe async statd and *synchronous* update_verifier.\n\nThis is desirable as we want a netd failure (which could\nhappen due to some mainline incompatibility wrt. bpf\nor mainline shipped shared libs: resolver or netd updatable)\nto be considered a signal for a bad boot.\n\nIt\u0027s still asynchronous though, so it\u0027s not ideal.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib3e252f085f569864feddaf20ac80858a3bb969d\n"
    },
    {
      "commit": "65daca3b88d5c21ffbbe446ee067edfc010ba614",
      "tree": "a36dc859425a10a261790b283750a290b31b5de0",
      "parents": [
        "d53b0980976e2948d9bd3f9f34beb85cc21adc91",
        "f5af00e79fe45bbd9f897cac444afa6f3d318e8b"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Sep 20 08:01:56 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 20 08:01:56 2024 +0000"
      },
      "message": "Merge \"Mount /mnt/vm earlier\" into main"
    },
    {
      "commit": "f5af00e79fe45bbd9f897cac444afa6f3d318e8b",
      "tree": "d456de2627da829d5cb681610f3d5a6183d7a673",
      "parents": [
        "bd66ab0a2b327b849d323fbf7e7a944712ab9aee"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Sep 13 14:02:10 2024 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Sep 13 14:02:10 2024 +0900"
      },
      "message": "Mount /mnt/vm earlier\n\nTo support early VM in the init stage.\n\nBug: 331320802\nTest: boot and check /mnt/vm\nChange-Id: If6f20a616ad24ae194e6fae292c9be200b63185b\n"
    },
    {
      "commit": "807ab25891ac365dcae7a9f701f80fb7852f735f",
      "tree": "7096b0b879dc9362f400b70efde52fc4b5397292",
      "parents": [
        "354bd064a18eecaeed513e51e534af9370b86ba2"
      ],
      "author": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Sep 12 18:28:50 2024 +0900"
      },
      "committer": {
        "name": "Justin Yun",
        "email": "justinyun@google.com",
        "time": "Thu Sep 12 18:32:47 2024 +0900"
      },
      "message": "Define linker.config.json as a filegroup\n\nThe linker.config.json file is required for soong to generate a\nsystem image.\n\nBug: 365670526\nTest: lunch aosp_cf_x86_64_phone_soong_system-trunk_staging-userdebug\n      \u0026\u0026 m\nChange-Id: I86389e4143cd2fc08b812d50962bf7ec007894ab\n"
    },
    {
      "commit": "c1ad204f85439063a6e058c285cb0bd4c519c890",
      "tree": "1d19edc87e534efd8f94327f97f450003e5e4865",
      "parents": [
        "e57d3f2110cf9c68946d344b323246baa3e82bea"
      ],
      "author": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Tue Sep 10 06:31:13 2024 +0000"
      },
      "committer": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Tue Sep 10 06:50:19 2024 +0000"
      },
      "message": "Rename system/core/rootdir/Android.mk to create_root_structure.mk\n\nSince Soong currently doesn\u0027t support the `install_directory`\nfunctionality, this file cannot be directly converted to Android.bp.\nMoreover, the main content of `system/core/rootdir/Android.mk` is to\ncreate directories and symlinks for the root file system. Therefore,\nwe\u0027ll first rename it and move it to build/core/main.mk for handling.\n\nIn addition, consolidate the handling of `meta-lic` related parts into\nbuild/core/tasks/meta-lic.mk.\n\nBug: 353642907\nTest: m -j init.environ.rc\nChange-Id: I356c4b05c56b02b0243c12dbeddd4653ba4e137c\n"
    },
    {
      "commit": "715dd707c4c085a6eb79c29e52f32cfb8ce51aeb",
      "tree": "b9a8534a571afb9e29528907df34726c4fd3128f",
      "parents": [
        "390f58eb8a3df39bb270be3ce0c6ab74c35b72f2"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Wed Aug 28 15:47:33 2024 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Wed Aug 28 15:47:33 2024 +0900"
      },
      "message": "Move adb_keys to product partition\n\n/adb_keys will be moved to /product/etc/security as it\u0027s a\nproduct-specific file. To prevent regression, /adb_keys will be a\nsymlink to the new location.\n\nBug: 353430323\nTest: boot and connect adb with ADB_VENDOR_KEYS\nChange-Id: I3dd200a1583be8f99bd5c30ecfed1bdc544ca783\n"
    },
    {
      "commit": "1220d17108cb3b4af9c0fb440a9f9e8f5a9fe2a9",
      "tree": "4a5cb0d3100118c6113ffe37c76d2e0f589c4e66",
      "parents": [
        "2d75f82aaf1fd8f2ba36921a15e3440f467d70e6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Aug 22 13:56:36 2024 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Aug 23 11:17:41 2024 -0700"
      },
      "message": "init.rc: Fix entropy pool initialization\n\nInit is responsible for initializing the /dev/[u]random entropy\npool, to ensure that high quality random numbers are available\nto all Android processes. Previously Android mixed in data\nfrom /system/etc/prop.default, which included properties which\ndiffered on a device-by-device basis. That file no longer exists,\nand init generates the following error at boot:\n\n  init: Command \u0027copy /system/etc/prop.default /dev/urandom\u0027\n  action\u003dinit (/system/etc/init/hw/init.rc:106) took 0ms and\n  failed: Could not read input file \u0027/system/etc/prop.default\u0027:\n  open() failed: No such file or directory\n\nInstead of reading a property file, this change modifies init.rc\nto read from /proc/bootconfig. The bootconfig file contains\nper-device data which was previously on the command line, such\nas androidboot.serialno. Additionally, it contains device-class\ninformation such as androidboot.hardware,\nandroidboot.hardware.platform, and data which frequently churns\nsuch as androidboot.vbmeta.digest. These help ensure that the\nrandom number initialization is at least unique on a per\ndevice-class basis.\n\nRelying on /proc/bootconfig accomplishes the same goal that\nrelying on /system/etc/prop.default was intended to accomplish.\nAnd /proc/bootconfig is in a more stable location than\n/system/etc/prop.default, hopefully preventing future regressions.\n\nBug: 361624398\nTest: Device boots and error above goes away\nChange-Id: Id5c891e871217d62ff6517c5804b4acc2d723622\n"
    },
    {
      "commit": "148f602f2388dde03b06c59a491c527ba7e46017",
      "tree": "ba908bcbea1ea292a2f3e19f8c776976fd4b100a",
      "parents": [
        "50a5cc57fe3f05db5e29aa7ac9ed9031a7a55d4b"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Aug 19 14:29:04 2024 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Aug 19 14:30:37 2024 +0900"
      },
      "message": "init: clean up unused Service[List]::post_data\n\npost_data was used by Userspace Reboot, which was removed.\n\nBug: 293377020\nTest: atest CtsInitTestCases\nChange-Id: I1a5bf328f62b8afbe58eef62c64689471e6b018c\n"
    },
    {
      "commit": "50a5cc57fe3f05db5e29aa7ac9ed9031a7a55d4b",
      "tree": "08dc09435aafcc92f2d7346c261cbf440d23897f",
      "parents": [
        "3371db17155e48757d4867459519fabac6614fee",
        "560cb93d9ea6b720c615f33d09d2171ff71f6266"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Aug 16 14:51:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 16 14:51:15 2024 +0000"
      },
      "message": "Merge \"Convert ramdisk_node_list to Android.bp\" into main"
    },
    {
      "commit": "560cb93d9ea6b720c615f33d09d2171ff71f6266",
      "tree": "88636c0028b1f8f5fdcbd0674e32f32c5d8cb97f",
      "parents": [
        "0fe7deb2121c516ad6ec020a79d02a59de1d02b2"
      ],
      "author": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Wed Aug 14 15:29:36 2024 +0800"
      },
      "committer": {
        "name": "Nelson Li",
        "email": "nelsonli@google.com",
        "time": "Thu Aug 15 11:36:12 2024 +0800"
      },
      "message": "Convert ramdisk_node_list to Android.bp\n\n`ramdisk_node_list` is a hardcoded dependency in\n`build/make/core/Makefile`, but it only serves as an input for\ngenerating `ramdisk.img` and isn\u0027t installed on the device.\n\nTherefore, we can directly use a `filegroup` and set\n`export_to_make_var` for use in build/make/core/Makefile.\n\nIn addition, since there are no `Android.mk` files in the\nsubdirectories of `system/core/rootdir/`,\n`include (callall−makefiles−under,(LOCAL_PATH))` can also be\ndeleted.\n\nBug: 359423289\nTest: m -j $(PRODUCT_OUT)/ramdisk.img\nChange-Id: Ia2bf636bfd7917bf7044d9726b4b52932bb161c8\n"
    },
    {
      "commit": "673e6bb0899c51e29400ed0098a30005e6a4d506",
      "tree": "16d721e520eacf4346f8c507074b0b09aeb6469d",
      "parents": [
        "3081d1d024b315973f63fa151220f7592db7ed41"
      ],
      "author": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Mon Jul 01 08:23:09 2024 +0000"
      },
      "committer": {
        "name": "Rick Yiu",
        "email": "rickyiu@google.com",
        "time": "Thu Aug 15 01:29:48 2024 +0000"
      },
      "message": "Create a new group for foreground of multi-window\n\nIn multi-window mode, currently the focused window will be top-app,\nand others will be foreground. However, the cpu resource we assign to\ntypical foreground group may not meet the performance need of those\nwindows. Therefore, create a new group for them so that we could\ndistinguish their performance need.\n\nBug: 200769420\nTest: group created\nChange-Id: I84c61f9ed4d167e156dafb7a816b6482e80a8523\n"
    },
    {
      "commit": "b29f0dcb5bf424b1caf1b02090141ddda8777545",
      "tree": "bd56919295a03f05c2e05f60820a5fa0ea9c2886",
      "parents": [
        "20f66bed7ae2d75ca4c56dbb6381353c12265bff",
        "f91503bd18de89c38be495b14ca045be31fd54d7"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Aug 12 00:40:07 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 12 00:40:07 2024 +0000"
      },
      "message": "Merge changes I00deb50c,I82650277 into main\n\n* changes:\n  Clean up userspace-reboot (#2)\n  Clean up userspace-reboot\n"
    },
    {
      "commit": "e34549af332e4be13a2ffb385455280d4736c1a9",
      "tree": "07d112f9eabc10b55f66d72cb4c8fdffd4f6aa4c",
      "parents": [
        "6d85bb3ef53c75b9a91424da48f11f2153e90474"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Aug 09 15:58:53 2024 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Aug 09 15:58:53 2024 +0900"
      },
      "message": "Clean up userspace-reboot\n\nThe feature was deprecated last year.\n\nBug: 292469129\nTest: atest CtsInitTestCases\nChange-Id: I826502770ab3fa566be57a33829f1103efa893fb\n"
    },
    {
      "commit": "b6e4179dab36223516d53c63ae0b00940106642e",
      "tree": "966ca87ea0da034c2beef1bd3ec1964db36d0c43",
      "parents": [
        "0fe7deb2121c516ad6ec020a79d02a59de1d02b2"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Mon Aug 05 16:33:25 2024 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Aug 09 15:20:18 2024 +0900"
      },
      "message": "Add /mnt/vm and mount tmpfs onto it for early VM\n\nIt will be used as a storage for early boot virtmgr.\n\nBug: 354059281\nTest: boot and check /mnt/vm\nChange-Id: I4a0c604161356b631c21913a0f8c3f2d796a3c65\n"
    },
    {
      "commit": "3ce6cb9b6ee16c94b0cec3b2b331517ec36e641d",
      "tree": "d86720cca70d4de0b9efb34515918270daa27c84",
      "parents": [
        "96265b34201a5c8442a63c33e0f87448a60e64c6"
      ],
      "author": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Wed Jul 31 13:10:48 2024 +0900"
      },
      "committer": {
        "name": "Inseob Kim",
        "email": "inseob@google.com",
        "time": "Fri Aug 02 15:55:39 2024 +0900"
      },
      "message": "Refactor init.environ.rc to append than replace\n\nBug: 353429422\nTest: boot\nChange-Id: Ibd432fa39fc75f8b49ae26fbc6b74f11fb3f771d\n"
    }
  ],
  "next": "b7fa335ed80ab016ee8325a2ec561699c812241f"
}
