)]}'
{
  "log": [
    {
      "commit": "c5066a96caa7bf4150c0a8cc8cc14ab81733fdc7",
      "tree": "fd49b19b12734f9cefa23a5ab3103092f3b496be",
      "parents": [
        "2daac70e3e5124062c47cefd0895da592bda249a",
        "3dec4de9112674f8dc50943d7935d73f0b944417"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Wed Aug 19 15:57:43 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 19 15:57:43 2026 -0700"
      },
      "message": "Make ML-DSA-65 signing deterministic to prevent OTA issues am: 3dec4de911\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41636531\n\nChange-Id: I796c158d2c1bf043f16c7d44c47304ff1179d830\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3dec4de9112674f8dc50943d7935d73f0b944417",
      "tree": "fd49b19b12734f9cefa23a5ab3103092f3b496be",
      "parents": [
        "6a02eb836b4945672cdc7507ef7435d3c91e76d5"
      ],
      "author": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Wed Aug 19 19:39:25 2026 +0000"
      },
      "committer": {
        "name": "Spandan Das",
        "email": "spandandas@google.com",
        "time": "Wed Aug 19 19:39:25 2026 +0000"
      },
      "message": "Make ML-DSA-65 signing deterministic to prevent OTA issues\n\ntarget_files.zip uses avtool.py to sign boot.img. Due to\nnon-determinsim, there was a signature mismatch in the boot.img of\ntarget_files.zip and the boot.img used to generated boot_ota_*.zip. This\nCL makes the signing deterministic.\n\nBug: 546690445\nTest: m target-files-package\nTest: find out/soong/.intermediates/build/soong/fsgen/kodiak_generated_device/android_arm64_armv9-2a_cortex-a55/target_files_dir -name boot.img | xargs shasum\nTest: verified that PREBUILT_IMAGES/boot.img and IMAGES/boot.img have\nsame sha\n\nChange-Id: Idbdb4344b270fc06b0b492311525c9702182fc72\n"
    },
    {
      "commit": "2daac70e3e5124062c47cefd0895da592bda249a",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "d719c4983b087d33b70bfa46dafcf0cceb3409b2",
        "6a02eb836b4945672cdc7507ef7435d3c91e76d5"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 17:50:52 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 17:50:52 2026 -0700"
      },
      "message": "[automerger skipped] Fix silent failure in RSA verification on memory allocation error am: e8819556a9 am: 1507781b40 -s ours am: b6b00934fc -s ours am: 6a02eb836b -s ours\n\nam skip reason: Merged-In I4516eace7a4235ce10b03e0181a9466583438566 with SHA-1 6eb159e19b is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164584\n\nChange-Id: I1be4c7e6274fe87502fba41d9aa02339f47aad17\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6a02eb836b4945672cdc7507ef7435d3c91e76d5",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "d8ba8275a9643467e41ef4b14cadf4f702417a31",
        "b6b00934fcccce91f00c9125e8048516dc1c058b"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 17:37:47 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 17:37:47 2026 -0700"
      },
      "message": "[automerger skipped] Fix silent failure in RSA verification on memory allocation error am: e8819556a9 am: 1507781b40 -s ours am: b6b00934fc -s ours\n\nam skip reason: Merged-In I4516eace7a4235ce10b03e0181a9466583438566 with SHA-1 6eb159e19b is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164584\n\nChange-Id: Iae1a1960fb10daa886affeaff705d122016bc243\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b6b00934fcccce91f00c9125e8048516dc1c058b",
      "tree": "4f8a17e88ddfeadaa02307d2331a340cf11184cc",
      "parents": [
        "6eb159e19b4a6d8e5745bde15264cd36a02b6eb6",
        "1507781b4045fd91f07801d30213db1bf8302fe8"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 17:23:00 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 17:23:00 2026 -0700"
      },
      "message": "[automerger skipped] Fix silent failure in RSA verification on memory allocation error am: e8819556a9 am: 1507781b40 -s ours\n\nam skip reason: Merged-In I4516eace7a4235ce10b03e0181a9466583438566 with SHA-1 6eb159e19b is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164584\n\nChange-Id: Iee0f9d2507556cea1ced7c83bfcdec40f7d88f1b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "1507781b4045fd91f07801d30213db1bf8302fe8",
      "tree": "4f8a17e88ddfeadaa02307d2331a340cf11184cc",
      "parents": [
        "dcc23ce2625af849b9406d7a0a85c50797660164",
        "e8819556a9d3da7cb46005e9bbed970da4777455"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 16:43:58 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 16:43:58 2026 -0700"
      },
      "message": "Fix silent failure in RSA verification on memory allocation error am: e8819556a9\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164584\n\nChange-Id: I4d6d48449a29533b5781b4502b0ee9d350f663ca\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d719c4983b087d33b70bfa46dafcf0cceb3409b2",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "e6abcdd5ef193b435a6fc164710094d6d04ae5dd",
        "d8ba8275a9643467e41ef4b14cadf4f702417a31"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 16:08:50 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 16:08:50 2026 -0700"
      },
      "message": "[automerger skipped] Fix silent failure in RSA verification on memory allocation error am: 6eb159e19b -s ours am: d8ba8275a9 -s ours\n\nam skip reason: Merged-In I4516eace7a4235ce10b03e0181a9466583438566 with SHA-1 5262c8ef81 is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164583\n\nChange-Id: I6cc4ec12d8ede6ab6db7b3cf4bf4be28e6ecb376\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d8ba8275a9643467e41ef4b14cadf4f702417a31",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "45c8454694bddd596f983808f4b924b4ed17f22e",
        "6eb159e19b4a6d8e5745bde15264cd36a02b6eb6"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Thu Jul 30 15:54:54 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 30 15:54:54 2026 -0700"
      },
      "message": "[automerger skipped] Fix silent failure in RSA verification on memory allocation error am: 6eb159e19b -s ours\n\nam skip reason: Merged-In I4516eace7a4235ce10b03e0181a9466583438566 with SHA-1 5262c8ef81 is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164583\n\nChange-Id: I9c9b7b3ebd3a3bf53f7ab6eec26e6d09faf7c443\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e6abcdd5ef193b435a6fc164710094d6d04ae5dd",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "5f39dfc92c27fb3d503f5a0b2fd3d94ffc2f5b77",
        "45c8454694bddd596f983808f4b924b4ed17f22e"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Jul 24 09:50:58 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 24 09:50:58 2026 -0700"
      },
      "message": "Merge \"Fix silent failure in RSA verification on memory allocation error\" into main am: 45c8454694\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/40285874\n\nChange-Id: Iea38c855d7140c1e1e458a8c7b529f90884ce963\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "45c8454694bddd596f983808f4b924b4ed17f22e",
      "tree": "c0b560f403f8e4c06b246fe49e157f8e5dc788f4",
      "parents": [
        "9192910a2e11032e74debf543cb3b6461f237ece",
        "5262c8ef81ae5d4606da24d004bd3170308f9dcf"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Fri Jul 24 09:38:56 2026 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 24 09:38:56 2026 -0700"
      },
      "message": "Merge \"Fix silent failure in RSA verification on memory allocation error\" into main"
    },
    {
      "commit": "e8819556a9d3da7cb46005e9bbed970da4777455",
      "tree": "4f8a17e88ddfeadaa02307d2331a340cf11184cc",
      "parents": [
        "de34939838d5b7d668167672f04c6143fc7af6f4"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Sun Jun 07 09:01:48 2026 +0000"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu Jul 23 15:35:58 2026 -0700"
      },
      "message": "Fix silent failure in RSA verification on memory allocation error\n\nIn libavb\u0027s RSA verification, the `modpowF4` function previously failed silently upon memory allocation errors. This left the input/output buffer unmodified, allowing an attacker to potentially bypass the signature check by crafting a signature block that perfectly matched the expected padding and hash, and triggering heap exhaustion during verification.\n\nThis commit updates `modpowF4` to return a boolean indicating success or failure. If memory allocation fails, the function now returns `false`. The caller, `avb_rsa_verify`, has been updated to check this return value, logging an error and failing the verification process if `modpowF4` is unsuccessful.\n\nTest: m libavb_host_unittest \u0026\u0026 atest libavb_host_unittest \u0026\u0026 alint\n\nBug: 461507723\nFlag: EXEMPT BUGFIX\nThis was autogenerated by MendIt (go/androidmendit)\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:5262c8ef81ae5d4606da24d004bd3170308f9dcf\nMerged-In: I4516eace7a4235ce10b03e0181a9466583438566\nChange-Id: I4516eace7a4235ce10b03e0181a9466583438566\n"
    },
    {
      "commit": "6eb159e19b4a6d8e5745bde15264cd36a02b6eb6",
      "tree": "4f8a17e88ddfeadaa02307d2331a340cf11184cc",
      "parents": [
        "dcc23ce2625af849b9406d7a0a85c50797660164"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Sun Jun 07 09:01:48 2026 +0000"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Thu Jul 23 15:35:12 2026 -0700"
      },
      "message": "Fix silent failure in RSA verification on memory allocation error\n\nIn libavb\u0027s RSA verification, the `modpowF4` function previously failed silently upon memory allocation errors. This left the input/output buffer unmodified, allowing an attacker to potentially bypass the signature check by crafting a signature block that perfectly matched the expected padding and hash, and triggering heap exhaustion during verification.\n\nThis commit updates `modpowF4` to return a boolean indicating success or failure. If memory allocation fails, the function now returns `false`. The caller, `avb_rsa_verify`, has been updated to check this return value, logging an error and failing the verification process if `modpowF4` is unsuccessful.\n\nTest: m libavb_host_unittest \u0026\u0026 atest libavb_host_unittest \u0026\u0026 alint\n\nBug: 461507723\nFlag: EXEMPT BUGFIX\nThis was autogenerated by MendIt (go/androidmendit)\nCherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:5262c8ef81ae5d4606da24d004bd3170308f9dcf\nMerged-In: I4516eace7a4235ce10b03e0181a9466583438566\nChange-Id: I4516eace7a4235ce10b03e0181a9466583438566\n"
    },
    {
      "commit": "5f39dfc92c27fb3d503f5a0b2fd3d94ffc2f5b77",
      "tree": "611ef9c41c58c9f85873ca8d42ac91868a0246b3",
      "parents": [
        "4e48849c766dcbe8ff8623509f7f8d0f5f8f04dc",
        "9192910a2e11032e74debf543cb3b6461f237ece"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Thu Jul 23 13:02:06 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 23 13:02:06 2026 -0700"
      },
      "message": "avb: clean up OWNERS am: 9192910a2e\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/41164355\n\nChange-Id: I86abbce6a24c294c2a3cb033f702297d0c83cecb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9192910a2e11032e74debf543cb3b6461f237ece",
      "tree": "611ef9c41c58c9f85873ca8d42ac91868a0246b3",
      "parents": [
        "3575ab656870378d73c6dc3044cfe5689f88c852"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Thu Jul 23 10:00:58 2026 -0700"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Thu Jul 23 10:02:36 2026 -0700"
      },
      "message": "avb: clean up OWNERS\n\nRemoves a few folks who are no longer involved with libavb, and marks\nLAST_RESORT_SUGGESTION on a few others who want to stay involved but not\nas a primary contact.\n\nTest: N/A\nChange-Id: I905eab6ebdc251cb7f36cead46860a2b779fa68e\n"
    },
    {
      "commit": "4e48849c766dcbe8ff8623509f7f8d0f5f8f04dc",
      "tree": "8ca34b962fe7df497fb00ac8da5b0069078d30a4",
      "parents": [
        "a06971682bd7a1ee8048a57fc0a0df04353cf66b",
        "3575ab656870378d73c6dc3044cfe5689f88c852"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Tue Jul 07 01:10:15 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 07 01:10:15 2026 -0700"
      },
      "message": "Fix verification bypass in chained vbmeta partitions am: 3575ab6568\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/40399289\n\nChange-Id: Id1af32ded167fe7f41085d45e3d5a12418e3bfbc\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3575ab656870378d73c6dc3044cfe5689f88c852",
      "tree": "8ca34b962fe7df497fb00ac8da5b0069078d30a4",
      "parents": [
        "d8b152eea889f0b146a8970874bb2d2eae047d1e"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Sun Jun 14 07:17:51 2026 +0000"
      },
      "committer": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Fri Jul 03 17:36:55 2026 +0000"
      },
      "message": "Fix verification bypass in chained vbmeta partitions\n\nA logic error in `avb_slot_verify()` caused errors from a chained partition verification failure to be unconditionally overwritten by a subsequent successful persistent-digest hashtree check. This allowed a tampered chained partition to be treated as verified on a locked device, bypassing Android Verified Boot.\n\nThis commit resolves the issue by:\n1. Updating the `CHAIN_PARTITION` logic to check the `!allow_verification_error` flag upon a `load_and_verify_vbmeta` failure. This ensures the verification correctly triggers a failure path (`goto out`) immediately on locked devices.\n2. Modifying the `HASHTREE` descriptor processing to use a local `sub_ret` variable for `read_persistent_digest` and `avb_add_root_digest_substitution` calls. The top-level `ret` state is now only modified if these functions fail, preventing an existing verification error from being masked by a successful persistent digest read.\n\nThis patchset was autogenerated by MendIt (go/androidmendit).\n\nTest: atest libavb_host_unittest\nBug: 508699691\nFlag: EXEMPT BUGFIX\nChange-Id: I260f55ba5da7b0c7a2ecf85ded50907a7b50f0d5\n"
    },
    {
      "commit": "5262c8ef81ae5d4606da24d004bd3170308f9dcf",
      "tree": "9966c6c27bdf19a30c1dfbc9390eb8dc7a90facb",
      "parents": [
        "d8b152eea889f0b146a8970874bb2d2eae047d1e"
      ],
      "author": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Sun Jun 07 09:01:48 2026 +0000"
      },
      "committer": {
        "name": "Duy Truong",
        "email": "duytruong@google.com",
        "time": "Sun Jun 07 09:01:48 2026 +0000"
      },
      "message": "Fix silent failure in RSA verification on memory allocation error\n\nIn libavb\u0027s RSA verification, the `modpowF4` function previously failed silently upon memory allocation errors. This left the input/output buffer unmodified, allowing an attacker to potentially bypass the signature check by crafting a signature block that perfectly matched the expected padding and hash, and triggering heap exhaustion during verification.\n\nThis commit updates `modpowF4` to return a boolean indicating success or failure. If memory allocation fails, the function now returns `false`. The caller, `avb_rsa_verify`, has been updated to check this return value, logging an error and failing the verification process if `modpowF4` is unsuccessful.\n\nTest: m libavb_host_unittest \u0026\u0026 atest libavb_host_unittest \u0026\u0026 alint\n\nBug: 461507723\nFlag: EXEMPT BUGFIX\nThis was autogenerated by MendIt (go/androidmendit)\n\nChange-Id: I4516eace7a4235ce10b03e0181a9466583438566\n"
    },
    {
      "commit": "a06971682bd7a1ee8048a57fc0a0df04353cf66b",
      "tree": "f7dd82c5c39486a03cd06f3d4f8be7e7aba7873a",
      "parents": [
        "3c50ada65f34c4812775ab436739b9169bb6de57",
        "d8b152eea889f0b146a8970874bb2d2eae047d1e"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Apr 13 23:11:16 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 13 23:11:16 2026 -0700"
      },
      "message": "avbtool: Add ML-DSA tests for public key extraction and verification am: d8b152eea8\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/39397966\n\nChange-Id: I2d6fd1a66f82a329d832cfef6fde801a08c6efad\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d8b152eea889f0b146a8970874bb2d2eae047d1e",
      "tree": "f7dd82c5c39486a03cd06f3d4f8be7e7aba7873a",
      "parents": [
        "a4a2d67bcfe479adb3d54d6127abb11afbc76701"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Apr 13 13:12:38 2026 -0700"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Apr 13 17:23:07 2026 -0700"
      },
      "message": "avbtool: Add ML-DSA tests for public key extraction and verification\n\nAdd unit tests to cover the recently fixed issues in ML-DSA public key\nverification and extraction in avbtool.py. Specifically, test\n`extract_public_key` and `verify_image` commands using both MLDSA65 and\nMLDSA87 test keys.\n\nBug: 489350153\nTest: atest libavb_host_unittest --host\nFlag: TEST_ONLY\nChange-Id: I6b16175a698b1307dbf526d5c6e79649b3de665d\n"
    },
    {
      "commit": "3c50ada65f34c4812775ab436739b9169bb6de57",
      "tree": "61ac0c845d06c66a51b279a62f238af9d9e0ece3",
      "parents": [
        "d4fdd68483f775ce3f9317759a799fee9bf9cab6",
        "a4a2d67bcfe479adb3d54d6127abb11afbc76701"
      ],
      "author": {
        "name": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Apr 13 09:51:31 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 13 09:51:31 2026 -0700"
      },
      "message": "Merge \"avbtool: Fix TypeError in MLDSAPublicKey.decode\" into main am: a4a2d67bcf\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/39370284\n\nChange-Id: I3b3cee2d9c0b1f1df14d8e1285b1b370c72596d5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d4fdd68483f775ce3f9317759a799fee9bf9cab6",
      "tree": "f6ad08120412cb01a1bd6ec2d830cea45ac17076",
      "parents": [
        "4a4e2c8a6592b88cf18b10fe5406f53a2a5d26cf",
        "0ef0e298e80341403858ccad79df9f1ea3627d2a"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Apr 13 09:51:02 2026 -0700"
      },
      "committer": {
        "name": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Apr 13 09:51:02 2026 -0700"
      },
      "message": "avbtool: Fix public key size check in MLDSAPublicKey.verify am: 0ef0e298e8\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/39372799\n\nChange-Id: I00af56ccb916206b1121e43623b0aa2119fd2400\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a4a2d67bcfe479adb3d54d6127abb11afbc76701",
      "tree": "61ac0c845d06c66a51b279a62f238af9d9e0ece3",
      "parents": [
        "0ef0e298e80341403858ccad79df9f1ea3627d2a",
        "d81a4087883417ea4334b87c76d03ae9ff29049b"
      ],
      "author": {
        "name": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon Apr 13 09:36:16 2026 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 13 09:36:16 2026 -0700"
      },
      "message": "Merge \"avbtool: Fix TypeError in MLDSAPublicKey.decode\" into main"
    },
    {
      "commit": "0ef0e298e80341403858ccad79df9f1ea3627d2a",
      "tree": "f6ad08120412cb01a1bd6ec2d830cea45ac17076",
      "parents": [
        "9670c9fa9f4f0407ad54ebf9396eb5d4cbf46676"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Apr 10 16:32:41 2026 -0700"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Apr 10 17:00:40 2026 -0700"
      },
      "message": "avbtool: Fix public key size check in MLDSAPublicKey.verify\n\nThe check for the ML-DSA public key size incorrectly used the signature\nsize for the error message, and failed to account for the 4-byte length\nprefix in the actual size calculation. This caused verification to\nincorrectly reject valid ML-DSA public keys with misleading messages.\n\nThis patch subtracts the 4-byte offset during validation to match the\nsign() method, and prints the correct expected byte size on failure.\n\nTest: atest libavb_host_unittest\nBug: 489350153\nChange-Id: Ibf6936174f16771fba0f704958e64e662c47ddc0\n"
    },
    {
      "commit": "d81a4087883417ea4334b87c76d03ae9ff29049b",
      "tree": "32758810a22fee35c22e0788c13c0fed02d0cf3e",
      "parents": [
        "9670c9fa9f4f0407ad54ebf9396eb5d4cbf46676"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Apr 10 15:37:19 2026 -0700"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Apr 10 16:59:25 2026 -0700"
      },
      "message": "avbtool: Fix TypeError in MLDSAPublicKey.decode\n\nWhen decoding an ML-DSA public key in avbtool, the code attempted to\npass a bytes object directly to the hex() built-in function, which\nexpects an integer. This resulted in a TypeError.\n\nThis patch updates the formatting logic to use the bytes object\u0027s native\nhex() method instead, ensuring proper hexadecimal conversion.\n\nTest: atest libavb_host_unittest\nBug: 489350153\nChange-Id: I7dec2c188e462fb05a348a7e0eb9c12ab181f966\n"
    },
    {
      "commit": "4a4e2c8a6592b88cf18b10fe5406f53a2a5d26cf",
      "tree": "03312e0570b5893b9ac940e5ec3148287e4130e6",
      "parents": [
        "c8a552872c1e22b8dd4d430e556e1203e2aa91fb",
        "9670c9fa9f4f0407ad54ebf9396eb5d4cbf46676"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Mar 20 17:16:35 2026 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 20 17:16:35 2026 -0700"
      },
      "message": "Fix OOB read in iavb_parse_key_data am: 9670c9fa9f\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/38452675\n\nChange-Id: I03060bddae60a45dfbd23041674354d60dff52e6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9670c9fa9f4f0407ad54ebf9396eb5d4cbf46676",
      "tree": "03312e0570b5893b9ac940e5ec3148287e4130e6",
      "parents": [
        "3c4bef0aa7117c7b50e504020b75e80f5b3e6fad"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Feb 16 15:55:55 2026 -0800"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Mar 20 16:46:48 2026 -0700"
      },
      "message": "Fix OOB read in iavb_parse_key_data\n\nWhen parsing an RSA public key, the function\navb_rsa_public_key_header_validate_and_byteswap() reads\nsizeof(AvbRSAPublicKeyHeader) bytes from the input buffer.\n\nIf the provided buffer length is smaller than the header size, this read\ngoes out of bounds.\n\nThis patch adds a check to ensure length is at least\nsizeof(AvbRSAPublicKeyHeader) before attempting to parse the header.\n\nBug: 485031572\nTest: atest libavb_host_unittest\n\nChange-Id: I0ba27d2ba8416b9d46a9da88ec71687f7e104e8f\nSigned-off-by: David Lin \u003cdtwlin@google.com\u003e\n"
    },
    {
      "commit": "c8a552872c1e22b8dd4d430e556e1203e2aa91fb",
      "tree": "17c2ba665c902761133637903eef1374de18ca95",
      "parents": [
        "4a36c74d01a71f2e2d0ecc92dd6d84a43d89d48d",
        "3c4bef0aa7117c7b50e504020b75e80f5b3e6fad"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Mar 20 16:24:16 2026 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Mar 20 16:24:16 2026 -0700"
      },
      "message": "Fix OOB read in avb_mldsa_validate_public_key am: 3c4bef0aa7\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/38452822\n\nChange-Id: Ib0579c142f30860259baa3432b0783637e9b8d53\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "3c4bef0aa7117c7b50e504020b75e80f5b3e6fad",
      "tree": "17c2ba665c902761133637903eef1374de18ca95",
      "parents": [
        "fd7862933da8410363a41e2654d09f16d252dbd8"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Mon Feb 16 15:47:32 2026 -0800"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Fri Mar 20 14:53:49 2026 -0700"
      },
      "message": "Fix OOB read in avb_mldsa_validate_public_key\n\nWhen validating a public key in avb_mldsa_validate_public_key, the\nfunction avb_mldsa_public_key_header_validate_and_byteswap reads\nsizeof(AvbMLDSAPublicKeyHeader) bytes from the input buffer.\n\nIf the provided key length key_num_bytes is smaller than the header\nsize, this read goes out of bounds.\n\nThis patch adds a check to ensure key_num_bytes is at least\nsizeof(AvbMLDSAPublicKeyHeader) before attempting to parse the header.\n\nBug: 485031572\nTest: atest libavb_host_unittest\n\nChange-Id: I0ed82baef5b20f13f791d08fec26cfea8bd24180\nSigned-off-by: David Lin \u003cdtwlin@google.com\u003e\n"
    },
    {
      "commit": "4a36c74d01a71f2e2d0ecc92dd6d84a43d89d48d",
      "tree": "e449036a8fe33d02564eeb29cb87ad2973387293",
      "parents": [
        "95edb4bce84944bcb9700ed426805ae6a21108e1",
        "fd7862933da8410363a41e2654d09f16d252dbd8"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Wed Mar 18 16:15:48 2026 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Mar 18 16:15:48 2026 -0700"
      },
      "message": "Update root of trust digest for MLDSA to SHA256 am: fd7862933d\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/39001093\n\nChange-Id: I877105f62f59b9e4288a94353df3b108d68c1c96\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fd7862933da8410363a41e2654d09f16d252dbd8",
      "tree": "e449036a8fe33d02564eeb29cb87ad2973387293",
      "parents": [
        "2b0158ee8312b4ca8d934a247fa6c01ce0c01182"
      ],
      "author": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Wed Mar 18 14:37:24 2026 -0700"
      },
      "committer": {
        "name": "David Lin",
        "email": "dtwlin@google.com",
        "time": "Wed Mar 18 15:05:27 2026 -0700"
      },
      "message": "Update root of trust digest for MLDSA to SHA256\n\nUpdate `avb_append_options()` in `libavb` to use SHA256 instead of SHA512\nwhen setting the digest for `algorithm_type\u003dMLDSA65` and `MLDSA87`.\n\nThis is because `VtsAidlKeyMintTargetTest` recalculates the root of\ntrust based on the vbmeta digest, and the root of trust currently\nrequires only SHA256.\n\nBug: 490251422\nTest: libavb_host_unittest and VtsAidlKeyMintTargetTest\nFlag: EXEMPT\nChange-Id: If4d7e40551380f6fb60a8861fcae44d0925fc366\n"
    },
    {
      "commit": "95edb4bce84944bcb9700ed426805ae6a21108e1",
      "tree": "c8a2447f65044a58a6e6ece0e3663fa50168bfe6",
      "parents": [
        "4f953edb81b3bdf9d78b702b4833f87ea32e1e74",
        "2b0158ee8312b4ca8d934a247fa6c01ce0c01182"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Mon Mar 02 14:51:12 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Mar 02 14:51:12 2026 -0800"
      },
      "message": "avbtool: Use hermetic OpenSSL binary for build consistency am: 2b0158ee83\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/38673171\n\nChange-Id: I1e3b79838a2c0806feaaf63dee50c575fc6753a8\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2b0158ee8312b4ca8d934a247fa6c01ce0c01182",
      "tree": "c8a2447f65044a58a6e6ece0e3663fa50168bfe6",
      "parents": [
        "171753ac8e61c9a92ad9c5830fbf5c481b15da6d"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Fri Feb 27 20:53:13 2026 +0000"
      },
      "committer": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Mon Mar 02 17:52:23 2026 +0000"
      },
      "message": "avbtool: Use hermetic OpenSSL binary for build consistency\n\nBundle a prebuilt OpenSSL binary as a \u0027required\u0027 dependency of avbtool.\n\nUpdated avbtool.py to search for \u0027avb_openssl\u0027 relative to its own\nexecutable path, falling back to system \u0027openssl\u0027 if not found.\n\nBug: 475616101\nTest: atest libavb_host_unittest --host\nTest: compile and sign an image with MLDSA signing key using infra\nFlag: EXEMPT BUGFIX\nChange-Id: Icc8a01a224358dbc8ea4d8aeea9b40fea465b3c1\n"
    },
    {
      "commit": "4f953edb81b3bdf9d78b702b4833f87ea32e1e74",
      "tree": "00d66fb9be9c9fce94e9f235b2145810235f4908",
      "parents": [
        "f9dbfa40289c571432f25baeb751b53e60300f2a",
        "171753ac8e61c9a92ad9c5830fbf5c481b15da6d"
      ],
      "author": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Tue Feb 03 23:47:40 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Feb 03 23:47:40 2026 -0800"
      },
      "message": "avbtool: Add --rollback_index to resign_image am: 171753ac8e\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37998520\n\nChange-Id: I6f08a4eb5047cf0ecd4f795e9d151d1c79c6ee01\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "171753ac8e61c9a92ad9c5830fbf5c481b15da6d",
      "tree": "00d66fb9be9c9fce94e9f235b2145810235f4908",
      "parents": [
        "2447e7edf34b0ec65626ca5ec622c9ce8b1e44b6"
      ],
      "author": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Tue Jan 20 08:30:47 2026 +0000"
      },
      "committer": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Thu Jan 29 13:53:20 2026 +0000"
      },
      "message": "avbtool: Add --rollback_index to resign_image\n\nAllows updating the rollback index when resigning an image.\n\nBug: 374825190\nTest: ./avbtool.py resign_image --image test.bin --key key.pem \\\n      --algorithm SHA256_RSA2048 --rollback_index 42\nFlag: EXEMPT (host tool change)\nChange-Id: I01e2bf7edc61fa31f2ddd82bf16736b4ca86fd85\n"
    },
    {
      "commit": "f9dbfa40289c571432f25baeb751b53e60300f2a",
      "tree": "9fc67dadc76a755045ca5b07fde2ec85813d218a",
      "parents": [
        "ca052bec93b13a21374a554f07b4cc2135ef911b",
        "2447e7edf34b0ec65626ca5ec622c9ce8b1e44b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jan 22 18:18:03 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 22 18:18:03 2026 -0800"
      },
      "message": "Merge \"Fix python warnings\" into main am: 2447e7edf3\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/38051528\n\nChange-Id: I18f5299fc62e4e6202e1440bdc0e9f36123f0569\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2447e7edf34b0ec65626ca5ec622c9ce8b1e44b6",
      "tree": "9fc67dadc76a755045ca5b07fde2ec85813d218a",
      "parents": [
        "992c2b240288c1103ca2d3720f0590eb34fdf561",
        "5cc38127c55e2bd844476085de8a2fb725b770f5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jan 22 18:00:36 2026 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 22 18:00:36 2026 -0800"
      },
      "message": "Merge \"Fix python warnings\" into main"
    },
    {
      "commit": "ca052bec93b13a21374a554f07b4cc2135ef911b",
      "tree": "6ba757f4290e344cf09250ad8a6ac3e25798a9ca",
      "parents": [
        "e4c0da611d8e2df3db8b4409d2a7aa04489c6ee9",
        "992c2b240288c1103ca2d3720f0590eb34fdf561"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jan 22 15:31:10 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jan 22 15:31:10 2026 -0800"
      },
      "message": "Merge \"Verify pub key in chained image matches chained descriptor\" into main am: 992c2b2402\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/38032581\n\nChange-Id: Ib3d8834d3755b8d19b8fd2d306b090b4d1a64f81\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "992c2b240288c1103ca2d3720f0590eb34fdf561",
      "tree": "6ba757f4290e344cf09250ad8a6ac3e25798a9ca",
      "parents": [
        "6fce968716e94c61fd8d754bb2a7f6a0805a0bec",
        "0a6298389ebfd887b2f9106bf572f6971ece441c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jan 22 15:01:12 2026 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 22 15:01:12 2026 -0800"
      },
      "message": "Merge \"Verify pub key in chained image matches chained descriptor\" into main"
    },
    {
      "commit": "0a6298389ebfd887b2f9106bf572f6971ece441c",
      "tree": "258df641e66fbd477d36e859b7e7ee0cd207658e",
      "parents": [
        "0e55aeca367c80a0b8570535b4e50e18897eed9d"
      ],
      "author": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Wed Jan 21 13:46:45 2026 -0800"
      },
      "committer": {
        "name": "Kelvin Zhang",
        "email": "zhangkelvin@google.com",
        "time": "Thu Jan 22 11:20:07 2026 -0800"
      },
      "message": "Verify pub key in chained image matches chained descriptor\n\nThe public key in chained descriptor of vbmeta.img is expected\nto match public key in vbmeta footer of boot.img, but this is\nnot verified by avbtool. The signing script relies on avbtool\u0027s\nverify_image tool to verify integrity of signed image, so it is\nimportant we perform this check.\n\nBug: 476916999\nTest: avbtool verify_image\nChange-Id: I902ec77d5b095cd37b84a94d9d9c9f44981c62c6\n"
    },
    {
      "commit": "5cc38127c55e2bd844476085de8a2fb725b770f5",
      "tree": "0feab10b7efa6ba8a52d1786b969ccf9010bb746",
      "parents": [
        "6fce968716e94c61fd8d754bb2a7f6a0805a0bec"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Wed Jan 21 21:33:49 2026 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Jan 22 10:40:45 2026 -0800"
      },
      "message": "Fix python warnings\n\nMost of these are \"SyntaxWarning: invalid escape sequence\"\n\nFlag: EXEMPT HOST_MODE\nBug: 477756690\nTest: Presubmits\nChange-Id: I74991613b0034e0cc1bbfec976cfac03af8cd962\n"
    },
    {
      "commit": "e4c0da611d8e2df3db8b4409d2a7aa04489c6ee9",
      "tree": "4b20649ed98eeabbd2cb3a64dd923b8d572bfbc7",
      "parents": [
        "cc2ab869010b09abd221ab4347e83e9ddbb74da8",
        "6fce968716e94c61fd8d754bb2a7f6a0805a0bec"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Tue Jan 13 05:09:35 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 13 05:09:35 2026 -0800"
      },
      "message": "libavb: Refactor prehash init and reduce code duplication am: 6fce968716\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37865556\n\nChange-Id: I9b41e4ff8210acdcfc5df0421a58b7ecc2530326\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cc2ab869010b09abd221ab4347e83e9ddbb74da8",
      "tree": "229d71d7ce438d46e13c7d87bd7cb4b1d6cf7ed1",
      "parents": [
        "3c9a19268d9505cec4418258f9c044703c84efae",
        "79928a15674f8eeb7f01fad106d9e084e4e7e187"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Tue Jan 13 05:09:27 2026 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jan 13 05:09:27 2026 -0800"
      },
      "message": "libavb: Add support for ML-DSA-65 and ML-DSA-87 signatures am: 79928a1567\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37475739\n\nChange-Id: I69d06e86e4bdc3effbbb4a451864d93f8bc945ea\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "6fce968716e94c61fd8d754bb2a7f6a0805a0bec",
      "tree": "4b20649ed98eeabbd2cb3a64dd923b8d572bfbc7",
      "parents": [
        "79928a15674f8eeb7f01fad106d9e084e4e7e187"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Mon Jan 12 19:06:57 2026 +0000"
      },
      "committer": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Mon Jan 12 12:42:52 2026 -0800"
      },
      "message": "libavb: Refactor prehash init and reduce code duplication\n\nRefactor avb_mldsa_prehash_init to handle AVB header validation and\nstripping within the generic libavb layer (avb_mldsa.c) rather than\nin the backend implementation. This ensures consistency with\navb_mldsa_verify_message_representative and simplifies backend logic.\n\nIntroduce a static helper avb_mldsa_validate_public_key to reduce code\nduplication between initialization and verification paths.\n\nBug: 412315350\nTest: (cd external/avb \u0026\u0026 atest --host-unit-test-only)\nChange-Id: I36a61e79eae957fa34c519eca7b79a4e616fecd1\n"
    },
    {
      "commit": "79928a15674f8eeb7f01fad106d9e084e4e7e187",
      "tree": "229d71d7ce438d46e13c7d87bd7cb4b1d6cf7ed1",
      "parents": [
        "0e55aeca367c80a0b8570535b4e50e18897eed9d"
      ],
      "author": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Fri Dec 12 20:38:51 2025 +0000"
      },
      "committer": {
        "name": "Atul Luykx",
        "email": "aluykx@google.com",
        "time": "Mon Jan 12 12:41:51 2026 -0800"
      },
      "message": "libavb: Add support for ML-DSA-65 and ML-DSA-87 signatures\n\nBug: 412315350\nTest: (cd external/avb \u0026\u0026 atest --host-unit-test-only)\nChange-Id: Id87c6ab537d9a1dfa6cc42967183953a86a62518\n"
    },
    {
      "commit": "3c9a19268d9505cec4418258f9c044703c84efae",
      "tree": "e0d64a908624ad154398026b950d51e547f6529f",
      "parents": [
        "921ffd5aa404a4aa1b5eed926e468f0242a276fa",
        "0e55aeca367c80a0b8570535b4e50e18897eed9d"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Thu Dec 04 13:55:55 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Dec 04 13:55:55 2025 -0800"
      },
      "message": "Rust avb: add mismatched_lifetime_syntaxes lint am: 0e55aeca36\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37295605\n\nChange-Id: I6a00e349ae051d5a54ef5a0064868fe8080829b9\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0e55aeca367c80a0b8570535b4e50e18897eed9d",
      "tree": "e0d64a908624ad154398026b950d51e547f6529f",
      "parents": [
        "a078a66ed68461362b712b4c49807d2291e79843"
      ],
      "author": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Wed Dec 03 16:54:00 2025 -0800"
      },
      "committer": {
        "name": "David Pursell",
        "email": "dpursell@google.com",
        "time": "Wed Dec 03 16:54:00 2025 -0800"
      },
      "message": "Rust avb: add mismatched_lifetime_syntaxes lint\n\nThis lint isn\u0027t part of the Android standard set, but only because there\nare too many violations to readily fix. It\u0027s a useful lint though, in\nparticular it makes it clearer when return values carry lifetimes.\nPreviously some of these lifetimes were elided, which can cause\nsurprising results since a user might naturally assume there is no\nborrow involved.\n\nThis CL fixes the violations and enables the lint in the top-level file\nfor each build target to prevent against future violations.\n\nBug: b/456142394\nTest: presubmit\nChange-Id: I7f12671f867c7bd2032e348b9d9f3763881a13eb"
    },
    {
      "commit": "921ffd5aa404a4aa1b5eed926e468f0242a276fa",
      "tree": "9fb395c1bb9ff7771444494933b311a29fa5b3d0",
      "parents": [
        "c4abae061b832b465e20f39dc8f3a0938001187e",
        "a078a66ed68461362b712b4c49807d2291e79843"
      ],
      "author": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Mon Dec 01 02:16:51 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Dec 01 02:16:51 2025 -0800"
      },
      "message": "Fix compiler error am: a078a66ed6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37218686\n\nChange-Id: I890e0df3c21239c9e12ca232852c11bcec0323b3\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a078a66ed68461362b712b4c49807d2291e79843",
      "tree": "9fb395c1bb9ff7771444494933b311a29fa5b3d0",
      "parents": [
        "e9a467c5a535e9455154f32d41cf12f894e52796"
      ],
      "author": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Fri Nov 28 10:32:42 2025 +0000"
      },
      "committer": {
        "name": "Grzegorz Bernacki",
        "email": "bernacki@google.com",
        "time": "Fri Nov 28 10:33:05 2025 +0000"
      },
      "message": "Fix compiler error\n\nIt fixes compiler error about declaring a function without a prototype.\n\nChange-Id: I05dec21353de048600cb244f07e7b093d456d8cc\n"
    },
    {
      "commit": "c4abae061b832b465e20f39dc8f3a0938001187e",
      "tree": "e5b549d49164e7fb7e0cceb878d3bcf6432e34c7",
      "parents": [
        "a08d71649923908dff0db15b397fe7ea98cdfaca",
        "e9a467c5a535e9455154f32d41cf12f894e52796"
      ],
      "author": {
        "name": "Roger Ng",
        "email": "rogerng@google.com",
        "time": "Mon Nov 17 09:05:00 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Nov 17 09:05:00 2025 -0800"
      },
      "message": "Address Go readability issues am: e9a467c5a5\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/37010047\n\nChange-Id: Ic81033a67822496c45af65d8b4ff04f946c2cd45\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e9a467c5a535e9455154f32d41cf12f894e52796",
      "tree": "e5b549d49164e7fb7e0cceb878d3bcf6432e34c7",
      "parents": [
        "03d91e3cc3ce88183042d8d150d69b158092024e"
      ],
      "author": {
        "name": "Roger Ng",
        "email": "rogerng@google.com",
        "time": "Sat Nov 15 03:58:04 2025 -0800"
      },
      "committer": {
        "name": "Roger Ng",
        "email": "rogerng@google.com",
        "time": "Sat Nov 15 03:58:04 2025 -0800"
      },
      "message": "Address Go readability issues\n\nChange-Id: Ie604fc88e2304d4347053ca4f93cfdd2e15a9c9b"
    },
    {
      "commit": "a08d71649923908dff0db15b397fe7ea98cdfaca",
      "tree": "ea098c6610f578e887d9700c5b231e7fa2b14f9a",
      "parents": [
        "4981acfe9aa65c765f19488a07bf3406a0bb0351",
        "03d91e3cc3ce88183042d8d150d69b158092024e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Oct 21 13:55:15 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 21 13:55:15 2025 -0700"
      },
      "message": "Merge \"Refactor all key operations into RSAPublicKey\" into main am: 03d91e3cc3\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/36307952\n\nChange-Id: Ie93be398a296083dc638b82908839c6ce6bad3dc\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "03d91e3cc3ce88183042d8d150d69b158092024e",
      "tree": "ea098c6610f578e887d9700c5b231e7fa2b14f9a",
      "parents": [
        "fdb3628cab79db0ef0c8097cc33a6b2eee03c157",
        "4055fb6789bd9d3bb85537dea65708ba86de6e17"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Oct 21 13:35:36 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 21 13:35:36 2025 -0700"
      },
      "message": "Merge \"Refactor all key operations into RSAPublicKey\" into main"
    },
    {
      "commit": "4981acfe9aa65c765f19488a07bf3406a0bb0351",
      "tree": "01c51a4ea75608c0f37c1ea564e1c170a362c38f",
      "parents": [
        "8743bda90b315b6d75456bc4558af55f2170cb2b",
        "fdb3628cab79db0ef0c8097cc33a6b2eee03c157"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Oct 20 13:48:41 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Oct 20 13:48:41 2025 -0700"
      },
      "message": "Update owners for PQC additions to AVB am: fdb3628cab\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/36447577\n\nChange-Id: I3e0ca1c7918cfc5a24933fc0c740dcf29758cb70\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fdb3628cab79db0ef0c8097cc33a6b2eee03c157",
      "tree": "01c51a4ea75608c0f37c1ea564e1c170a362c38f",
      "parents": [
        "78563d179754c446dbb8a262f237cbd2c4df0d2e"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Oct 20 12:52:39 2025 -0700"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Oct 20 12:55:38 2025 -0700"
      },
      "message": "Update owners for PQC additions to AVB\n\nTest: TreeHugger\nFlag: EXEMPT UNSUPPORTED_LANGUAGE\nChange-Id: Ie1514cfab663e04e0c20ea57fee27a7c7f16351e\n"
    },
    {
      "commit": "4055fb6789bd9d3bb85537dea65708ba86de6e17",
      "tree": "b537bbddddcd860b37022adcd35e4c23d5173e9e",
      "parents": [
        "78563d179754c446dbb8a262f237cbd2c4df0d2e"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Oct 14 09:47:34 2025 -0700"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Oct 14 12:49:20 2025 -0700"
      },
      "message": "Refactor all key operations into RSAPublicKey\n\nMove the RSA verification logic into the RSAPublicKey class to keep the\nalgorithm details hidden from the caller.\n\nThis results in multiple ways to initialize the class so named\nconstructor methods are introduced that delegate to a common, low level\n__init__().\n\nWhen initializing from an AVB public key blob, a temporary file\ncontaining a DER copy of the key is created. The class is updated to act\nas a context manager so that the temporary file is deleted when it\u0027s not\nlonger needed. Callers are updated to use the context manager pattern.\n\nTest: atest libavb_host_unittest\nBug: 412315350\nChange-Id: Ic4651f9863d9fc32d2bba3a5c946ee2ec8dda87d\n"
    },
    {
      "commit": "8743bda90b315b6d75456bc4558af55f2170cb2b",
      "tree": "310f75c485512111b8a6c47ee5a80ac8e44ddcc1",
      "parents": [
        "e7ce39395840f215f570521601fd7101d1039d39"
      ],
      "author": {
        "name": "Jakob Vukalović",
        "email": "jakobvukalovic@google.com",
        "time": "Fri Oct 03 05:27:17 2025 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 03 05:27:17 2025 -0700"
      },
      "message": "Revert^2 \"rust: Parse and expose vbmeta header\"\n\nThis reverts commit e7ce39395840f215f570521601fd7101d1039d39.\n\nReason for revert: \nGBL build has been fixed by applying aosp/3788852, so now we can reapply this change.\n\nBug: 448929224\nChange-Id: Id96f12978a91ea9f00006f5de5d311fa9998d074\n"
    },
    {
      "commit": "e7ce39395840f215f570521601fd7101d1039d39",
      "tree": "b62780888a2d1c06744f37e450ac61c041ac7873",
      "parents": [
        "c466be2856f70e84a45e2d3840d2155ca3d58425"
      ],
      "author": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Thu Oct 02 19:17:07 2025 +0100"
      },
      "committer": {
        "name": "Ram Muthiah",
        "email": "rammuthiah@google.com",
        "time": "Thu Oct 02 11:30:26 2025 -0700"
      },
      "message": "Revert \"rust: Parse and expose vbmeta header\"\n\nThis reverts commit 78563d179754c446dbb8a262f237cbd2c4df0d2e.\n\nBroken GBL AOSP build. Reverting on AOSP main-kernel fow now.\nWill reland once resolution has landed upstream.\n\nBug: 448929224\nChange-Id: I0177355bbb983288bbb5c9b965f28ece8d90ddb3\nSigned-off-by: Ram Muthiah \u003crammuthiah@google.com\u003e\n"
    },
    {
      "commit": "c466be2856f70e84a45e2d3840d2155ca3d58425",
      "tree": "310f75c485512111b8a6c47ee5a80ac8e44ddcc1",
      "parents": [
        "0bcd559d39fbddec44fcadd38a3f91ee44e0108a",
        "78563d179754c446dbb8a262f237cbd2c4df0d2e"
      ],
      "author": {
        "name": "Jakob Vukalovic",
        "email": "jakobvukalovic@google.com",
        "time": "Thu Oct 02 09:29:37 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Oct 02 09:29:37 2025 -0700"
      },
      "message": "rust: Parse and expose vbmeta header am: 78563d1797\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34552218\n\nChange-Id: I6fbc5d01b12d886e6fa21c4d9e2a4f75e6ef4daf\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "78563d179754c446dbb8a262f237cbd2c4df0d2e",
      "tree": "310f75c485512111b8a6c47ee5a80ac8e44ddcc1",
      "parents": [
        "87df960d8399231773f501ec5701f37b7fbda8b6"
      ],
      "author": {
        "name": "Jakob Vukalovic",
        "email": "jakobvukalovic@google.com",
        "time": "Tue Sep 16 13:01:45 2025 +0000"
      },
      "committer": {
        "name": "Jakob Vukalovic",
        "email": "jakobvukalovic@google.com",
        "time": "Thu Oct 02 11:02:59 2025 +0000"
      },
      "message": "rust: Parse and expose vbmeta header\n\nAdds `VbmetaHeader` which wraps `AvbVBMetaImageHeader`. The header is\nparsed ensuring correct byte ordering. This change also adds two\nAPIs to the wrapper:\n\n- `public_key` which returns the vbmeta public key via call to\n  `avb_vbmeta_image_verify`\n- `rollback_index_location` which returns the location of the rollback\n  index for this vbmeta\n\nTest: m libavb_rs_unittest\nBug: 429168146\nChange-Id: I33292a7a37ae601d94a3065a96d3c3f9e9688ff1\n"
    },
    {
      "commit": "0bcd559d39fbddec44fcadd38a3f91ee44e0108a",
      "tree": "b62780888a2d1c06744f37e450ac61c041ac7873",
      "parents": [
        "b37dae10e783424dd7e9f295d52335d3479008b1",
        "87df960d8399231773f501ec5701f37b7fbda8b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 30 10:03:56 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 30 10:03:56 2025 -0700"
      },
      "message": "Merge \"Expose the maximum number of partitions to verify\" into main am: 87df960d83\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/35805213\n\nChange-Id: I8f91c14cfc06b6996e3f306678d7950485b44ef6\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "87df960d8399231773f501ec5701f37b7fbda8b6",
      "tree": "b62780888a2d1c06744f37e450ac61c041ac7873",
      "parents": [
        "367b55e62ac758a705018583b3b0024454719de6",
        "a2043dcfdbeb797d99c62bda2f52385b9eb9d4ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Sep 30 09:34:24 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 30 09:34:24 2025 -0700"
      },
      "message": "Merge \"Expose the maximum number of partitions to verify\" into main"
    },
    {
      "commit": "a2043dcfdbeb797d99c62bda2f52385b9eb9d4ff",
      "tree": "cbff241f3c7b649bf19929164ffff55e42189396",
      "parents": [
        "77d7f372cee45c744d793941486512de70ce3931"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Sep 17 18:03:18 2025 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Sep 17 18:03:18 2025 +0000"
      },
      "message": "Expose the maximum number of partitions to verify\n\nAlso enforce this limit in the Rust bindings.\n\nBug: 337846185\nBug: 438142208\nChange-Id: I747661025de8d4a79a01e5f809aecde3b281fd45\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "b37dae10e783424dd7e9f295d52335d3479008b1",
      "tree": "769ea1a3f68c4f5d5cdd498bc860bd49b09c6fb7",
      "parents": [
        "0f0671de362913f959db197dc8d9c6f8e6d64d73",
        "367b55e62ac758a705018583b3b0024454719de6"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Sep 12 00:40:44 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 12 00:40:44 2025 -0700"
      },
      "message": "Remove python version properties am: 367b55e62a\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/35632310\n\nChange-Id: I5c6aedf61cdaa5d22fe8403fd600c30039be4686\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "367b55e62ac758a705018583b3b0024454719de6",
      "tree": "769ea1a3f68c4f5d5cdd498bc860bd49b09c6fb7",
      "parents": [
        "77d7f372cee45c744d793941486512de70ce3931"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Sep 11 10:50:35 2025 -0700"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Thu Sep 11 10:50:35 2025 -0700"
      },
      "message": "Remove python version properties\n\nPython2 has been deleted, only python3 exists in the build now.\nCleanup version-specific python properties.\n\nAlso remove any embedded_launcher: true lines, as that is the\ndefault now.\n\nBug: 203436762\nTest: Presubmits\nFlag: EXEMPT PURE_REFACTOR\nChange-Id: I995028d29be611b905378c813d565331a24b28f6\n"
    },
    {
      "commit": "0f0671de362913f959db197dc8d9c6f8e6d64d73",
      "tree": "a44f0f82fea9848447f963168537f9d265e4771f",
      "parents": [
        "b4d501c083e0c0e6c3a3aac518faadad7ca523ba",
        "77d7f372cee45c744d793941486512de70ce3931"
      ],
      "author": {
        "name": "Raul Rangel",
        "email": "rrangel@google.com",
        "time": "Fri Aug 15 07:44:29 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 15 07:44:29 2025 -0700"
      },
      "message": "Merge \"avbtool: Add `resign_image` command\" into main am: 77d7f372ce\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/35073214\n\nChange-Id: I85eeef9f7711a2b5ac196512599996aa3aa6178f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "77d7f372cee45c744d793941486512de70ce3931",
      "tree": "a44f0f82fea9848447f963168537f9d265e4771f",
      "parents": [
        "48b22c7147005abdf6659248749fb5c853c39b13",
        "08e03e0b742981731dba7ab51e02e70340076412"
      ],
      "author": {
        "name": "Raul Rangel",
        "email": "rrangel@google.com",
        "time": "Fri Aug 15 07:20:28 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 15 07:20:28 2025 -0700"
      },
      "message": "Merge \"avbtool: Add `resign_image` command\" into main"
    },
    {
      "commit": "08e03e0b742981731dba7ab51e02e70340076412",
      "tree": "196ab8249903cff31ccafd8015a895f06499f0d3",
      "parents": [
        "b915d25a39d71a77a3349610e22f12533c906528"
      ],
      "author": {
        "name": "Raul E Rangel",
        "email": "rrangel@google.com",
        "time": "Mon Aug 11 09:21:49 2025 -0600"
      },
      "committer": {
        "name": "Raul E Rangel",
        "email": "rrangel@google.com",
        "time": "Thu Aug 14 11:24:30 2025 -0600"
      },
      "message": "avbtool: Add `resign_image` command\n\nThis change introduces a new `resign_image` command to `avbtool.py`\nthat allows resigning an AVB-signed image with a new key and algorithm.\nThis is useful for:\n* Developers who need to re-sign images without regenerating them from\n  scratch.\n* The signing infrastructure so it can re-sign a dev key signed\n  artifact.\n\nThe command handles various scenarios, including:\n* Resigning with a key of the same, larger, or smaller size.\n* Automatically resizing the image for larger keys when required.\n\nUnit tests have been added to `avbtool_unittest.cc` to verify the\nfunctionality and cover the different resizing and key scenarios.\n\nBug: 437177942\nTest: atest libavb_host_unittest:AvbToolResignImageTest\nFlag: EXEMPT new command only\nChange-Id: Ic938cc545de12a7e32e62b82b37db9f121c77b5d\n"
    },
    {
      "commit": "b4d501c083e0c0e6c3a3aac518faadad7ca523ba",
      "tree": "a68f21f990af634fe71339d253f8d6f68bd6cecb",
      "parents": [
        "ddb44cc886c000eb034feccbd23df6f02c198430",
        "48b22c7147005abdf6659248749fb5c853c39b13"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Aug 13 13:07:41 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Aug 13 13:07:41 2025 -0700"
      },
      "message": "rust: ensures property discriptors have terminated keys/values am: 48b22c7147\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/35021021\n\nChange-Id: I7a19da7b01f731a54eb2133e8a463c992ffb00ec\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "48b22c7147005abdf6659248749fb5c853c39b13",
      "tree": "a68f21f990af634fe71339d253f8d6f68bd6cecb",
      "parents": [
        "b7938eaae623a156a18b94513edc6b453b5380b4"
      ],
      "author": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Aug 13 18:14:12 2025 +0000"
      },
      "committer": {
        "name": "Dmitrii Merkurev",
        "email": "dimorinny@google.com",
        "time": "Wed Aug 13 18:14:12 2025 +0000"
      },
      "message": "rust: ensures property discriptors have terminated keys/values\n\nAlso introduce API to obtain null-terminated property value\n\nBug: 337846185\nChange-Id: I259eec76cb05bebfee60b6c834cce3ceddcab42f\nSigned-off-by: Dmitrii Merkurev \u003cdimorinny@google.com\u003e\n"
    },
    {
      "commit": "ddb44cc886c000eb034feccbd23df6f02c198430",
      "tree": "4bd01ddc18bca364d786359bc8464e745c7c0752",
      "parents": [
        "d27484df651dce8c3d85e02d1524fc47220ab4b6",
        "b7938eaae623a156a18b94513edc6b453b5380b4"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 11 03:42:26 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Aug 11 03:42:26 2025 -0700"
      },
      "message": "Merge \"avbtool: Support generating binary vbmeta_digest\" into main am: b7938eaae6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34922402\n\nChange-Id: I6347bd75031363df222e72fe46e47074858af17c\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b7938eaae623a156a18b94513edc6b453b5380b4",
      "tree": "4bd01ddc18bca364d786359bc8464e745c7c0752",
      "parents": [
        "b915d25a39d71a77a3349610e22f12533c906528",
        "ae281cf5528a64354245d13e781c1264642f0d97"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 11 03:22:43 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 11 03:22:43 2025 -0700"
      },
      "message": "Merge \"avbtool: Support generating binary vbmeta_digest\" into main"
    },
    {
      "commit": "d27484df651dce8c3d85e02d1524fc47220ab4b6",
      "tree": "3c683c19414587dc76016c5dd81bd0d34abd3ca4",
      "parents": [
        "b80f33f8ac601decb43aad3e43218aab5089f58f",
        "b915d25a39d71a77a3349610e22f12533c906528"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Aug 08 01:54:16 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Aug 08 01:54:16 2025 -0700"
      },
      "message": "Merge \"Clippy lint fixes for rustc 1.88.0\" into main am: b915d25a39\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34980123\n\nChange-Id: I12e2c62d8290795debb9ab2b5b5275cb87bf311f\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b915d25a39d71a77a3349610e22f12533c906528",
      "tree": "3c683c19414587dc76016c5dd81bd0d34abd3ca4",
      "parents": [
        "23c8439bb647e483b80f9bac6974798a06a4ae5f",
        "cb44f6f02593ce2b664d6e67e161fedf03caca15"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Aug 08 01:41:40 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 08 01:41:40 2025 -0700"
      },
      "message": "Merge \"Clippy lint fixes for rustc 1.88.0\" into main"
    },
    {
      "commit": "cb44f6f02593ce2b664d6e67e161fedf03caca15",
      "tree": "6f570b671d1ba092afed5a4ec95980fd058e2ab4",
      "parents": [
        "59b9fe11862ba3ab09d31eeefd70c448b888d197"
      ],
      "author": {
        "name": "James Farrell",
        "email": "jamesfarrell@google.com",
        "time": "Thu Aug 07 23:36:39 2025 +0000"
      },
      "committer": {
        "name": "James Farrell",
        "email": "jamesfarrell@google.com",
        "time": "Thu Aug 07 23:36:39 2025 +0000"
      },
      "message": "Clippy lint fixes for rustc 1.88.0\n\nTest: m rustClippyJson\nBug: 435702100\nFlag: EXEMPT refactor\nChange-Id: I39743a85be57e1eef5bbab6c84208cbf71d18f3e\n"
    },
    {
      "commit": "b80f33f8ac601decb43aad3e43218aab5089f58f",
      "tree": "aed3684f96c8f7fac37f7bf85367cdef4404774d",
      "parents": [
        "d0584b891d3aaac4c1d26d865b071087490f5da4",
        "23c8439bb647e483b80f9bac6974798a06a4ae5f"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Thu Aug 07 07:56:22 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Aug 07 07:56:22 2025 -0700"
      },
      "message": "avbtool: Add --format to calculate_vbmeta_digest am: 23c8439bb6\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34922401\n\nChange-Id: If7c51bf8fb933c64786ae5ff311daa01cd5097cb\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d0584b891d3aaac4c1d26d865b071087490f5da4",
      "tree": "cb76bb7e6255d899ee9d6208106e6ff5d9feefb4",
      "parents": [
        "ed161d6a55c49954207c7f394385fcfe8093e661",
        "59b9fe11862ba3ab09d31eeefd70c448b888d197"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Tue Aug 05 08:35:03 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Aug 05 08:35:03 2025 -0700"
      },
      "message": "avbtool: Fix crashes when writing to stdout am: 59b9fe1186\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34923981\n\nChange-Id: I859b8a6b9f05d8771b09b78cd4d8156bcde691ae\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ae281cf5528a64354245d13e781c1264642f0d97",
      "tree": "a4d206acc4476371f2010d60126e537c426449ea",
      "parents": [
        "23c8439bb647e483b80f9bac6974798a06a4ae5f"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 04 10:57:29 2025 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 04 18:31:11 2025 +0000"
      },
      "message": "avbtool: Support generating binary vbmeta_digest\n\nTeach avbtool to output the calculated digest as binary data when:\n\n  avbtool calculate_vbmeta_digest --format raw [...]\n\nKeep the default output format as a human-readable hex string.\n\nAdd test coverage in libavb_host_unittest:AvbSlotVerifyTest.\n\nBug: 392628867\nBug: 402505709\nTest: avbtool calculate_vbmeta_digest --format raw [...]\nTest: atest --host libavb_host_unittest\nFlag: TEST_ONLY\nChange-Id: I958c670ec0c6c23bd28147d06b9b2f0dda0ff3ea\n"
    },
    {
      "commit": "23c8439bb647e483b80f9bac6974798a06a4ae5f",
      "tree": "aed3684f96c8f7fac37f7bf85367cdef4404774d",
      "parents": [
        "59b9fe11862ba3ab09d31eeefd70c448b888d197"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Aug 01 13:57:49 2025 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 04 17:58:22 2025 +0000"
      },
      "message": "avbtool: Add --format to calculate_vbmeta_digest\n\nAdd an optional flag controlling the output format of the command. For\nnow, only support \u0027hex\u0027, which defaults to the previous behavior.\n\nIn prevision of a future patch modifying the output format, make the\noutput file a binary file, instead of a text file. This shouldn\u0027t affect\nthe current behavior as the written hex string is simple enough to be\ngenerated in binary mode with no change.\n\nTest: atest libavb_host_unittest\nFlag: EXEMPT refactor\nChange-Id: Ie5ee1e283ad85fb0aefd386b19dfb9a53b1cf075\n"
    },
    {
      "commit": "59b9fe11862ba3ab09d31eeefd70c448b888d197",
      "tree": "cb76bb7e6255d899ee9d6208106e6ff5d9feefb4",
      "parents": [
        "2b4ed8c864a5420b1b95a25f672244d6e9e4042a"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 04 17:12:24 2025 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Aug 04 17:58:07 2025 +0000"
      },
      "message": "avbtool: Fix crashes when writing to stdout\n\nUsing FileType(\u0027wb...\u0027) for output files passed as CLI arguments opens\nthem as binary file objects but, because of default\u003dsys.stdout, they\ndefault to text file objects (type of sys.stdout) when the CLI argument\nis missing.\n\nAs a result and because the write() method of binary and text file\nobjects respectively take bytes and str parameters, avbtool can only\npass one of the two types and therefore panics when the other is used.\n\nFor example:\n\n  $ avbtool generate_test_image --image_size 10\n  Traceback (most recent call last):\n    File \"\u003cfrozen runpy\u003e\", line 198, in _run_module_as_main\n    [...]\n    File \"avbtool.py\", line 2225, in generate_test_image\n  TypeError: write() argument must be str, not bytearray\n\nInstead, as the argparse.FileType documentation guarantees that\n\n\u003e FileType objects understand the pseudo-argument \u0027-\u0027 and automatically\n\u003e convert this into [...] sys.stdout for writable FileType objects\n\nchange all calls to default to \u0027-\u0027, making FileType(\u0027b...\u0027) create the\nexpected binary files when defaulting to the standard output.\n\nFor consistency, also change users of FileType(\u0027t...\u0027).\n\nFixes: 436281780\nFlag: EXEMPT bugfix\nTest: avbtool generate_test_image --image_size 10\nChange-Id: I58f40dd92bc9fb31fbb3e56ac77beab918259d5d\n"
    },
    {
      "commit": "ed161d6a55c49954207c7f394385fcfe8093e661",
      "tree": "431f8e6a41280fe537b32e21486e8d348c5a08c4",
      "parents": [
        "c98eb55c72db5e385e4ad225efba5ca393f63afb",
        "2b4ed8c864a5420b1b95a25f672244d6e9e4042a"
      ],
      "author": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Tue Jul 29 12:54:00 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 29 12:54:00 2025 -0700"
      },
      "message": "avbtool.py: Add \"update_partition_descriptor\" subcommand am: 2b4ed8c864\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34773606\n\nChange-Id: I21d46818140a995a3657c511b0b274fc5d99e302\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "2b4ed8c864a5420b1b95a25f672244d6e9e4042a",
      "tree": "431f8e6a41280fe537b32e21486e8d348c5a08c4",
      "parents": [
        "816cc1c4c3f7c0901d2d63318560e8760d95f831"
      ],
      "author": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Thu Jul 24 19:28:07 2025 -0600"
      },
      "committer": {
        "name": "Leandro Lovisolo",
        "email": "lovisolo@google.com",
        "time": "Tue Jul 29 11:10:24 2025 -0600"
      },
      "message": "avbtool.py: Add \"update_partition_descriptor\" subcommand\n\nSee the Avb.update_partition_descriptor() method\u0027s docstring for\nmotivation.\n\nThis subcommand\u0027s implementation is heavily based on\nAvb.make_vbmeta_image(). I recommend referring to said method during\nreview.\n\nThe unit tests in this CL ensure that this command only modifies the\nexpected hash or hashtree descriptor in the input image while leaving\neverything else intact.\n\nI also tested this subcommand by flashing the \"boot\" partition on my\ndevice with a different kernel, as well as the \"vbmeta\" partition with\nthe result of patching the device\u0027s original vbmeta image with this\nsubcommand, and verifying that 1) the device boots in developer mode as\nwell as normal mode, and 2) there are no AVB-related error messages in\nthe kernel and firmware logs. The specific invocation I used for this\ntest is as follows:\n\n    ./avbtool.py update_partition_descriptor \\\n        --image vbmeta.img \\\n        --partition_image boot.img \\\n        --output vbmeta-new.img \\\n        --algorithm SHA256_RSA4096 \\\n        --key path/to/key.pem\n\nBug: 433986426\nBug: 408522717\nTest: m libavb_host_unittest \u0026\u0026 libavb_host_unittest\nChange-Id: I253444fe3f5c1ac6097cb76350a84fa41a6d8398\n"
    },
    {
      "commit": "c98eb55c72db5e385e4ad225efba5ca393f63afb",
      "tree": "a21346a565f82fdcb5d3490ecd8cb7ccbc6f9d34",
      "parents": [
        "912825fe5965c81be82e967ced265603d0725928",
        "816cc1c4c3f7c0901d2d63318560e8760d95f831"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Jul 25 02:42:05 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jul 25 02:42:05 2025 -0700"
      },
      "message": "Merge \"rust: Wrap avb_slot_verify_data_calculate_vbmeta_digest()\" into main am: 816cc1c4c3\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34552219\n\nChange-Id: Idd8564ae1e1e4bbd71717f8c7dce5b8f651865ca\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "816cc1c4c3f7c0901d2d63318560e8760d95f831",
      "tree": "a21346a565f82fdcb5d3490ecd8cb7ccbc6f9d34",
      "parents": [
        "5fbd895e47830e81cb36727685972e70af3c17a9",
        "43bc4e9879fba95c83a2bc947d447e2e0a37513f"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Fri Jul 25 02:35:22 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 25 02:35:22 2025 -0700"
      },
      "message": "Merge \"rust: Wrap avb_slot_verify_data_calculate_vbmeta_digest()\" into main"
    },
    {
      "commit": "43bc4e9879fba95c83a2bc947d447e2e0a37513f",
      "tree": "1f1d0dac6a1aca49a020bfbc22a68d593e648a66",
      "parents": [
        "b7080e23b3009286d19bba6f332d3e8962e49810"
      ],
      "author": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Mon Jan 27 20:14:37 2025 +0000"
      },
      "committer": {
        "name": "Pierre-Clément Tosi",
        "email": "ptosi@google.com",
        "time": "Thu Jul 24 19:08:51 2025 +0000"
      },
      "message": "rust: Wrap avb_slot_verify_data_calculate_vbmeta_digest()\n\nAdd Rust wrappers for calculating the VBMeta digest, for each of the\nhash algorithms supported by the C libavb. This limits the number of\nsymbols/constants/types that need to be re-exported out of the Rust\nwrapper.\n\nTest: -\nBug: 392628867\nFlag: EXEMPT b/406977494\nReviewed-on: https://r.android.com/3467564\nChange-Id: I91a2d57383204378ec56232b57f34774924909f3\n"
    },
    {
      "commit": "912825fe5965c81be82e967ced265603d0725928",
      "tree": "07db6d1c0027ee062f9ebc0dd4c47a7dda7f7526",
      "parents": [
        "216b0168faf9dc2d3851c3c121978394f3a26423",
        "5fbd895e47830e81cb36727685972e70af3c17a9"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Jul 24 10:56:35 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 24 10:56:35 2025 -0700"
      },
      "message": "Pass image size to get_preloaded_partition am: 5fbd895e47\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34722911\n\nChange-Id: I92f8a5693a97e5792598d636aa8b7bcde36046ad\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "5fbd895e47830e81cb36727685972e70af3c17a9",
      "tree": "07db6d1c0027ee062f9ebc0dd4c47a7dda7f7526",
      "parents": [
        "b7080e23b3009286d19bba6f332d3e8962e49810"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Fri Jul 11 16:44:31 2025 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Thu Jul 24 15:58:02 2025 +0000"
      },
      "message": "Pass image size to get_preloaded_partition\n\nBug: 422688425\nTest: atest libavb_rs_test libavb_rs_uuid_test libavb_rs_unittest\nlibavb_rs_uuid_unittest\n\nChange-Id: I71e1f8e53b30147e06497038c17d11e8dcb7f35d\n"
    },
    {
      "commit": "216b0168faf9dc2d3851c3c121978394f3a26423",
      "tree": "92a253d0afb346a3e601adab466115e7fd123d9f",
      "parents": [
        "6f12670ede33331164a3e12968d39482ea8689d2",
        "b7080e23b3009286d19bba6f332d3e8962e49810"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 10:57:11 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Jul 17 10:57:11 2025 -0700"
      },
      "message": "Don\u0027t have an unreachable assertion that gets compiled out. am: b7080e23b3\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34640720\n\nChange-Id: I2d570be8ecc9be5b15eae74e5bae13890ee5c64b\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b7080e23b3009286d19bba6f332d3e8962e49810",
      "tree": "92a253d0afb346a3e601adab466115e7fd123d9f",
      "parents": [
        "dfc84234895e03f493ae84c2cad74386494de134"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 09:18:27 2025 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 17 09:18:27 2025 -0700"
      },
      "message": "Don\u0027t have an unreachable assertion that gets compiled out.\n\nIf it\u0027s unreachable, you really want to know if you hit it. (See also: C23\u0027s stupid \"please insert UB here\" unreachable().)\n\nChange-Id: I15991a40f21c9f3da10315efa09644c5315cc210\n"
    },
    {
      "commit": "6f12670ede33331164a3e12968d39482ea8689d2",
      "tree": "ac9da2282187c709a551aab6397760bde0b46e5e",
      "parents": [
        "9ba99a824dca0cec7652512d3aba4b35f1e9941f",
        "dfc84234895e03f493ae84c2cad74386494de134"
      ],
      "author": {
        "name": "James Farrell",
        "email": "jamesfarrell@google.com",
        "time": "Tue Jul 08 17:20:35 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jul 08 17:20:35 2025 -0700"
      },
      "message": "Clippy lint fixes for rustc 1.86.0 am: dfc8423489\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34392403\n\nChange-Id: Id43edd74b37771ebc986498c62609eb585aca9f5\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "dfc84234895e03f493ae84c2cad74386494de134",
      "tree": "ac9da2282187c709a551aab6397760bde0b46e5e",
      "parents": [
        "56414794463ecea3bc7f14257f278b61c824cf27"
      ],
      "author": {
        "name": "James Farrell",
        "email": "jamesfarrell@google.com",
        "time": "Tue Jul 08 16:32:14 2025 +0000"
      },
      "committer": {
        "name": "James Farrell",
        "email": "jamesfarrell@google.com",
        "time": "Tue Jul 08 16:32:14 2025 +0000"
      },
      "message": "Clippy lint fixes for rustc 1.86.0\n\nTest: m rust\nBug: 430129076\nFlag: EXEMPT refactor\nChange-Id: I778cb9d0abf72ff1a5148c16c9c3f207eb9fd7b6\n"
    },
    {
      "commit": "9ba99a824dca0cec7652512d3aba4b35f1e9941f",
      "tree": "caa57d2919161e88094d891b410a5718b0bef1d9",
      "parents": [
        "5dbe6b987ccfa2ca0b5251d4d7c14d5d8f7bc67b",
        "5ac0c3a071d811846a62412383dd6e259f341e6e"
      ],
      "author": {
        "name": "Giuliano Procida",
        "email": "gprocida@google.com",
        "time": "Fri Jun 27 14:22:34 2025 +0100"
      },
      "committer": {
        "name": "Giuliano Procida",
        "email": "gprocida@google.com",
        "time": "Fri Jun 27 14:22:35 2025 +0100"
      },
      "message": "Merge \u0027aosp/android16-release\u0027 into \u0027aosp/main-kernel\u0027\n\n* aosp/android16-release:\n\nBug: 425899940\nChange-Id: I38f7f3b94add63107e229d01b589d9d91a1be7e5\nSigned-off-by: Giuliano Procida \u003cgprocida@google.com\u003e\n"
    },
    {
      "commit": "5dbe6b987ccfa2ca0b5251d4d7c14d5d8f7bc67b",
      "tree": "caa57d2919161e88094d891b410a5718b0bef1d9",
      "parents": [
        "3d36c528a1e206c1eba7be5cd50637355ffa0711",
        "56414794463ecea3bc7f14257f278b61c824cf27"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Tue Jun 24 08:44:19 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Jun 24 08:44:19 2025 -0700"
      },
      "message": "[automerger skipped] Allow assigning i32/u32 to descriptor flag am: 5641479446 -s ours\n\nam skip reason: Merged-In I9885b04530c1476996d1d98738a72207e42ff1ae with SHA-1 a7c15a79ae is already in history\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/34177630\n\nChange-Id: I408ef7f3d06392676cff8cc2822f497e93f01f26\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "56414794463ecea3bc7f14257f278b61c824cf27",
      "tree": "caa57d2919161e88094d891b410a5718b0bef1d9",
      "parents": [
        "65ef1f876edbb59d3f6ad3e6fd270b56adbdf425"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Jun 23 14:20:37 2025 -0700"
      },
      "committer": {
        "name": "Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Mon Jun 23 14:20:37 2025 -0700"
      },
      "message": "Allow assigning i32/u32 to descriptor flag\n\nRust bindgen may generates i32/u32 for enum depending on platform. Since\nfor enum we only care about bit values, allow asigning either to\ndescriptor flag.\n(cherry picked from https://android-review.googlesource.com/q/commit:a7c15a79ae2a19e60457adf77e2b0bc89266f163)\nMerged-In: I9885b04530c1476996d1d98738a72207e42ff1ae\nChange-Id: I9885b04530c1476996d1d98738a72207e42ff1ae\n"
    },
    {
      "commit": "3d36c528a1e206c1eba7be5cd50637355ffa0711",
      "tree": "caa57d2919161e88094d891b410a5718b0bef1d9",
      "parents": [
        "d88bf3f68b8bf986952d8fb10cced68b1de0629a",
        "65ef1f876edbb59d3f6ad3e6fd270b56adbdf425"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Jun 06 18:38:45 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 06 18:38:45 2025 -0700"
      },
      "message": "libavb: rename sha directory to crypto am: 65ef1f876e\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/33176370\n\nChange-Id: I1a5c2fccc19a400f952c578b34954632940e6a1e\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d88bf3f68b8bf986952d8fb10cced68b1de0629a",
      "tree": "d4b6ec57d74680d5d1542c5f7d24bc521f7863dc",
      "parents": [
        "a7c15a79ae2a19e60457adf77e2b0bc89266f163",
        "a576a17b198e4164b2babc2c382e525f4e763863"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Jun 06 18:38:36 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jun 06 18:38:36 2025 -0700"
      },
      "message": "libavb: move RSA padding next to RSA implementation am: a576a17b19\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/33176369\n\nChange-Id: I257888bf446f0084875e86352f7eb40e0fd86860\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a7c15a79ae2a19e60457adf77e2b0bc89266f163",
      "tree": "69cedf0dd4c9ec2178f1d8856f8252e63520cc89",
      "parents": [
        "81bfbcc4bfc638b48ef8582d2a230c1d9200323e"
      ],
      "author": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Sat Apr 26 00:52:23 2025 +0000"
      },
      "committer": {
        "name": "Yecheng Zhao",
        "email": "zyecheng@google.com",
        "time": "Mon Apr 28 17:29:55 2025 +0000"
      },
      "message": "Allow assigning i32/u32 to descriptor flag\n\nRust bindgen may generates i32/u32 for enum depending on platform. Since\nfor enum we only care about bit values, allow asigning either to\ndescriptor flag.\n\nChange-Id: I9885b04530c1476996d1d98738a72207e42ff1ae\n"
    },
    {
      "commit": "65ef1f876edbb59d3f6ad3e6fd270b56adbdf425",
      "tree": "36cdbeafb1e3654442fac9b2dacf9bac4155d70e",
      "parents": [
        "a576a17b198e4164b2babc2c382e525f4e763863"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 18 18:05:09 2025 +0000"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Apr 22 20:12:57 2025 +0000"
      },
      "message": "libavb: rename sha directory to crypto\n\nMake a directory suitable for all crypto code, not just the SHA\nimplementation, so the RSA implementation can be moved there too.\n\nTest: (cd external/avb \u0026\u0026 atest --host-unit-test-only)\nBug: 412315350\nChange-Id: Ieedad08c5f0ea2cfc1543ed3ebc648205c38bcca\n"
    },
    {
      "commit": "a576a17b198e4164b2babc2c382e525f4e763863",
      "tree": "c2e05c576d109513d16153d555eab0cec73ab22c",
      "parents": [
        "f41820f54bef107951990f72980dc1a3b98fa0a5"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Apr 21 10:44:25 2025 -0700"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Apr 22 20:03:18 2025 +0000"
      },
      "message": "libavb: move RSA padding next to RSA implementation\n\nMake the padding blobs an implementation detail of the current RSA\nimplementation in preparation for adding a boringssl implementation\nfor RSA where the padding is handled inside in the boringssl library.\n\nTest: (cd external/avb \u0026\u0026 atest --host-unit-test-only)\nBug: 412315350\nChange-Id: Icc100fb90c7a9a920fcf291a62b31bc583da41e0\n"
    },
    {
      "commit": "81bfbcc4bfc638b48ef8582d2a230c1d9200323e",
      "tree": "739a5a0d8dfff2a1daa27012ef246ed4cc4ae202",
      "parents": [
        "0f020ac954f6f11031021a42941860526e9e2d2d",
        "f41820f54bef107951990f72980dc1a3b98fa0a5"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Apr 22 11:53:49 2025 -0700"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Apr 22 11:53:49 2025 -0700"
      },
      "message": "Merge \"libavb: Keep types in the SHA context\" into main am: f41820f54b\n\nOriginal change: https://googleplex-android-review.googlesource.com/c/platform/external/avb/+/33176368\n\nChange-Id: Icf3ca7c5ada17b32e81162a51724460b4a3512a1\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f41820f54bef107951990f72980dc1a3b98fa0a5",
      "tree": "739a5a0d8dfff2a1daa27012ef246ed4cc4ae202",
      "parents": [
        "08ebe8711325aee64c6455f3c32846eae8ee7378",
        "a79f1a3333b2ae11e07453d543343cd1267114eb"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Apr 22 11:31:32 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 22 11:31:32 2025 -0700"
      },
      "message": "Merge \"libavb: Keep types in the SHA context\" into main"
    }
  ],
  "next": "0f020ac954f6f11031021a42941860526e9e2d2d"
}
