)]}'
{
  "log": [
    {
      "commit": "fea081da836908520874dbf95890820efc0ea9c6",
      "tree": "3aaeb25a679356faf563ab80f27fa368f4992aeb",
      "parents": [
        "c2c6eedd4d40a38bbd2428542793ffeff7716c90"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Sun Nov 15 12:00:34 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 15 14:51:45 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665068227256743505.\n\nChange-Id: I0710f07f6f0b2e76614c6aec31ea307d0fffda1f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8815332\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c2c6eedd4d40a38bbd2428542793ffeff7716c90",
      "tree": "4301c57517746c6a710241efcc09d125480fbdc4",
      "parents": [
        "28ca4325cc9c6f774c73449e6077cd4039b69de5"
      ],
      "author": {
        "name": "Rukun Mao",
        "email": "rmao@google.com",
        "time": "Fri Nov 06 00:07:09 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 20:08:02 2026"
      },
      "message": "modemfwd: Suppress EX_USAGE error for unsupported power_on/power_off\n\nNot all modem helpers support the --power_on and --power_off flags (for\nexample, rolling-helper exits with EX_USAGE (64) during flag parsing).\nAdditionally, Daemon::ChangeModemPowerState unconditionally invoked\nhelper-\u003ePowerOn() whenever Shill\u0027s Powered property changed to true,\neven when the modem was already in PowerState::ON or PowerState::LOW.\n\n1. In RunHelperProcess, log at EVLOG(1) instead of LOG(ERROR) when\n   power_on or power_off exits with EX_USAGE (64).\n2. In Daemon::ChangeModemPowerState, only call helper-\u003ePowerOn() when\n   the current modem power state is OFF or UNKNOWN.\n3. Default-initialize state_ and power_state_ to UNKNOWN in ModemImpl\n   and StubModem.\n\nBUG\u003db:532221786\nTEST\u003dcros_run_unit_tests --board\u003dnissa --packages chromeos-base/modemfwd\n\nChange-Id: I7abf6f8a61f36f42363106a6664076e23ac6e8bf\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8750359\nCommit-Queue: Rukun Mao \u003crmao@google.com\u003e\nTested-by: Rukun Mao \u003crmao@google.com\u003e\nReviewed-by: Daniel Winkler \u003cdanielwinkler@google.com\u003e\n"
    },
    {
      "commit": "28ca4325cc9c6f774c73449e6077cd4039b69de5",
      "tree": "4d66d9bd1d90fdd36648c62d50ed08b7bf5f1b76",
      "parents": [
        "90ee0a9fde9ad0a8bc97ac059409262a4d79dcd9"
      ],
      "author": {
        "name": "Aashay Shringarpure",
        "email": "aashay@google.com",
        "time": "Wed Nov 11 21:12:08 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 18:13:21 2026"
      },
      "message": "system_api: Remove debugd CUPS constants\n\ndebugd no longer exports the CupsAdd*, CupsRemovePrinter and\nCupsRetrievePpd D-Bus methods. Remove their method name constants and\nthe CupsResult enum, which have no remaining users. printscanmgr has\nits own constants and AddPrinterResult enum.\n\nBUG\u003db:400453316\nTEST\u003demerge-betty system_api debugd printscanmgr\n\nChange-Id: I632f5b646f37a46101710844f2b95313e0949d4c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8798991\nTested-by: Aashay Shringarpure \u003caashay@google.com\u003e\nReviewed-by: Benjamin Gordon \u003cbmgordon@chromium.org\u003e\nCommit-Queue: Aashay Shringarpure \u003caashay@google.com\u003e\n"
    },
    {
      "commit": "90ee0a9fde9ad0a8bc97ac059409262a4d79dcd9",
      "tree": "b374d0fb0b76c08c9c969bb2d762a48c26930ccd",
      "parents": [
        "a428dc49ef644dcab4fb90b3a2113a6a6c1dc9ef"
      ],
      "author": {
        "name": "Aashay Shringarpure",
        "email": "aashay@google.com",
        "time": "Wed Nov 11 21:11:32 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 18:13:17 2026"
      },
      "message": "debugd: Remove CUPS printer setup\n\nPrinter setup moved to printscanmgr in M132 and Chrome no longer calls\nthe debugd CUPS D-Bus methods. The remaining test users were migrated\nto printscanmgr in M146.\n\nRemove the unused D-Bus methods CupsAddAutoConfiguredPrinter,\nCupsAddManuallyConfiguredPrinter (and their V2 variants),\nCupsRemovePrinter and CupsRetrievePpd, along with CupsTool, LpTools,\nthe cups_uri_helper binary, its seccomp policies and fuzzer, and the\nSandboxedProcess::SetEnvironmentVariables() helper that only LpTools\nused.\n\nPrintscanDebugSetCategories and the lpstat log entry are unchanged.\n\nBUG\u003db:400453316\nTEST\u003dFEATURES\u003dtest emerge-betty debugd (158/158 tests pass)\nTEST\u003demerge-betty printscanmgr system_api\nTEST\u003dcros deploy to betty VM; the removed methods now return\n     UnknownMethod while GetLog lpstat and PrintscanDebugSetCategories\n     still work\nTEST\u003dtast run printer.Printscanmgr printer.ParsePrinterUris\n     printer.AddHTTPPrinterPrintscanmgr printer.PrintscanDebug\n     printer.Add.{hp_pin,nec,generic_escpos_receipt} (all pass, same\n     as baseline)\n\nCq-Depend: chromium:8795218\nChange-Id: I9b722e511dd79579cc7d9510af01b5f3b902d9c1\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8798990\nTested-by: Aashay Shringarpure \u003caashay@google.com\u003e\nCommit-Queue: Aashay Shringarpure \u003caashay@google.com\u003e\nReviewed-by: Benjamin Gordon \u003cbmgordon@chromium.org\u003e\n"
    },
    {
      "commit": "a428dc49ef644dcab4fb90b3a2113a6a6c1dc9ef",
      "tree": "c7a1b539ad398eae1a1d5077cdb9e027d6daf678",
      "parents": [
        "4c13a8bd3efff7f546c0e6d7c0b2860097a78c8f"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Fri Nov 13 12:00:49 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 14:49:34 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665249412421951073.\n\nChange-Id: I13077b69feb232618f3e2ae84092e86946e90bd8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8811195\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4c13a8bd3efff7f546c0e6d7c0b2860097a78c8f",
      "tree": "bba09fdab8f438a42110ba36b2170406ae50d3df",
      "parents": [
        "d77480f1f58549ecda0bc9ca50e40ad67f61047b"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Nov 06 08:27:39 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 05:49:43 2026"
      },
      "message": "flex_bluetooth: Filter udev enumeration to usb subsystem\n\nDespite the name, process_flex_bluetooth_overrides is enabled on all\nChromeOS boards to apply controller-specific Floss sysprops before\nbtmanagerd starts.\n\nget_devices() called UdevEnumerate::ScanDevices() without a subsystem\nfilter, causing libudev to walk all of /sys instead of only\n/sys/bus/usb/devices. Filtering to the usb subsystem matches the same\nbtusb devices and interfaces while cutting syscalls on Octopus by 96%\n(28,872 to 1,231) and starting btmanagerd ~200 ms earlier at boot.\n\nBUG\u003db:237305432\nTEST\u003dFEATURES\u003dtest emerge-octopus --nodeps chromeos-base/flex_bluetooth\nTEST\u003dBoot Octopus and verify btmanagerd overrides and startup timing\n\nChange-Id: I6a809a67370d04de0a988ba73102f7c106175fcc\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8752701\nReviewed-by: Archie Pusaka \u003capusaka@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "d77480f1f58549ecda0bc9ca50e40ad67f61047b",
      "tree": "e48444446f7ef1aa613619fa47f5347153ef382a",
      "parents": [
        "1412f2aa1e341627932c0936ade0809fdc5bc392"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 02 19:28:18 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 00:08:14 2026"
      },
      "message": "libhwsec: Auto-reload preloaded sealed data and guard handle reuse\n\nPreviously, `SealingTpm2::PreloadSealedData` loaded sealed blobs with\n`auto_reload \u003d false`, and `TPMRetryHandler::ReloadObject` ignored\n`UnsealOptions::preload_data`. Additionally, after `trunksd` restarted\nand reassigned virtual handles from `0x80000000`, `ReloadIfPossible` on\na stale key unconditionally flushed its old handle ID, evicting any\nnewly preloaded key that received the same virtual handle ID and causing\n`Sealing::Unseal` to fail with `TPM_RC_HANDLE`.\n\nEnable `auto_reload` in `PreloadSealedData`, teach `TPMRetryHandler` to\nreload `UnsealOptions::preload_data`, and invalidate conflicting stale\ntransient handles in `key_map_` so `GetKeyData` and `LoadKey` reload\nthem without flushing live handles.\n\nBUG\u003db:580986139, b:580727950\nTEST\u003dhwsec_testrunner --gtest_filter\u003d*BackendSealingTpm2Test*:*BackendKeyManagementTpm2Test*\n\nChange-Id: I0c22830e510b44c6501e7c70ddaa6266bb520f24\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8703058\nReviewed-by: Vadím Sukhomlínov \u003csukhomlinov@google.com\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\n"
    },
    {
      "commit": "1412f2aa1e341627932c0936ade0809fdc5bc392",
      "tree": "2f3501a14e2016b3667e366894d8e359492d30ad",
      "parents": [
        "4bebdf7e5be29d5fd3e155da4767e07cf583586e"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 09 04:23:27 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 13 00:04:08 2026"
      },
      "message": "libhwsec: Handle challenge session loss in SignatureSealingTpm2\n\nPreviously, SignatureSealingTpm2::Unseal() passed a cached HMAC session\nto PolicySigned(). When that HMAC session was stale under 64-session\nsaturation, recreating it in Unseal() evicted the challenge policy\nsession and looped across all 5 TPMRetryHandler retries into kReboot,\nblocking ChallengeCredentialsHelperImpl from retrying. Also,\nGetOrCreateHmacSession() cached unstarted sessions on startup failure.\n\nPass a null delegate to PolicySigned() in Unseal(), drop any prior\nchallenge first in Challenge(), clear lost challenge sessions and flush\ncached HMAC sessions on ResourceManager TPM_RC_HANDLE or\nTPM_RC_REFERENCE_S0..S6 to preserve kSession/kLater, skip repeating\nPolicySigned on in-place retries, and cache only started HMAC sessions.\n\nBUG\u003db:583501585\nTEST\u003dhwsec_testrunner; CQ hwsec-cq\n     (https://ci.chromium.org/b/8665551390956375649) passed\n     cryptohome.UssMigrationChallengeCredential.rsassa_all\n\nChange-Id: I9c439799c92f063e892ce617362c022d4ea8bbd0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8772009\nReviewed-by: Vadím Sukhomlínov \u003csukhomlinov@google.com\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\n"
    },
    {
      "commit": "4bebdf7e5be29d5fd3e155da4767e07cf583586e",
      "tree": "67ce3f1a95b4576e83eaf6c4cbed0579f186df8e",
      "parents": [
        "2888278b73f298b63b2b566c6a811da2dc758767"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Mon Nov 09 03:49:31 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 23:31:37 2026"
      },
      "message": "chromeos-config: Shrink configfs.img with zstd and hardlink dedup\n\nDeduplicate identical leaf files as tar hardlinks in WriteConfigFSTar\n(updating each value\u0027s link target to the most recent path so\nmksquashfs -tar resolves directory entries near the list head in O(1)),\nand pass -comp zstd -b 1M -no-exports to mksquashfs. Hardlinks remain\nregular files when a single SKU directory is bind-mounted at boot, and\nCONFIG_SQUASHFS_ZSTD is enabled across ChromeOS base kernel configs.\n\nOn nissa (~30k SKUs), this shrinks /usr/share/chromeos-config/configfs.img\nfrom 55.8 MiB to 32.6 MiB (-23.2 MiB, -41.6%) and reduces generation time\nfrom 78s to 69s, with byte-identical mounted contents across all 3.6M\nnodes.\n\nBUG\u003db:583225974\nTEST\u003dvpython3 chromeos-config/run_tests.py\nTEST\u003demerge-nissa chromeos-base/chromeos-config \u0026\u0026 loop-mount diff\n\nChange-Id: Icbfaf676425d1fd99b14d0de80a7d5b2b7410c3b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8770801\nReviewed-by: Chao Gui \u003cchaogui@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Greg Edelston \u003cgredelston@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "2888278b73f298b63b2b566c6a811da2dc758767",
      "tree": "1b109c31a6528985ff62ac05b1baeef987b5795c",
      "parents": [
        "7b12496315c169cb2b23dbcf5f661ae439b469cb"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Sat Nov 07 01:22:35 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 23:31:32 2026"
      },
      "message": "sepolicy, os_install_service: Allow coreutils 9.x syscalls\n\nCoreutils 9.x cp defaults to --reflink\u003dauto (issuing FICLONE) and uses\ndirectory-fd relative *at syscalls and rmdir. Allow these syscalls in\nos_install_service-seccomp-amd64.policy and permit BTRFS_IOC_CLONE in\ncros_chromeos_install.te ahead of the coreutils 9.12 upgrade.\n\nBUG\u003db:583049119\nTEST\u003dCQ\n\nChange-Id: I25bf4f14c3cd531dc5c30a00a45ff0e7486abe68\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8763465\nReviewed-by: Allen Webb \u003callenwebb@google.com\u003e\nReviewed-by: Steve Kendall \u003cskend@google.com\u003e\nReviewed-by: Jeffery Miller \u003cjefferymiller@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "7b12496315c169cb2b23dbcf5f661ae439b469cb",
      "tree": "6429a15e78defcc852902bf8b706556c470f581b",
      "parents": [
        "6d219e1f7cf497acc795b9111c35ca322c68fdd4"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:19:40 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 21:05:13 2026"
      },
      "message": "libhwsec: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from libhwsec/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nUpdate sukhomlinov@chromium.org to sukhomlinov@google.com to match the\nactive Gerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I103e71dc380a67c4f629072bb55feb09fbd1323e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690450\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Andrey Pronin \u003capronin@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Andrey Pronin \u003capronin@chromium.org\u003e\n"
    },
    {
      "commit": "6d219e1f7cf497acc795b9111c35ca322c68fdd4",
      "tree": "a592fe6efbb6ee3b94e45e7ae5a6346ca107103b",
      "parents": [
        "ddf533c3c2aeca1205c46c02fdad8b3126f8e3cb"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:05 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 21:04:46 2026"
      },
      "message": "libhwsec-foundation: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from libhwsec-foundation/\nOWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Id43c9da82011bcca0f2d689efe8b21b6b53eac18\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690394\nCommit-Queue: Andrey Pronin \u003capronin@chromium.org\u003e\nReviewed-by: Andrey Pronin \u003capronin@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "ddf533c3c2aeca1205c46c02fdad8b3126f8e3cb",
      "tree": "b4d2145e8d942f222322f6e276c7457c0bbbe3d8",
      "parents": [
        "ec1e449e8b254b6901207c23f77a27aec451e16b"
      ],
      "author": {
        "name": "Ashwin Naik",
        "email": "ashwinnaik@google.com",
        "time": "Thu Nov 12 12:52:32 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 20:03:09 2026"
      },
      "message": "lorgnette: Allow remote network scanners across discovery\n\nif the IP points to another device on the network, it allows\nthe scanner. if it points to the Chromebook itself\n(127.0.0.1, local sockets, or the Chromebook\u0027s own IP), it blocks it.\n\nBUG\u003db:584727512, b:524240148\nTEST\u003dtest feature enabled emerge-amd64-generic --nodeps chromeos-base/lorgnette\n\nChange-Id: Ia65796d024555e697028457dc493440ef2201990\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8804074\nReviewed-by: Piotr Pawliczek \u003cpawliczek@chromium.org\u003e\nCommit-Queue: Piotr Pawliczek \u003cpawliczek@chromium.org\u003e\nTested-by: Piotr Pawliczek \u003cpawliczek@chromium.org\u003e\n"
    },
    {
      "commit": "ec1e449e8b254b6901207c23f77a27aec451e16b",
      "tree": "fd00bc5c760db258d808973fdee4592cad96e3f1",
      "parents": [
        "4b3e04b87618b3f06bdac6b7a843a50ca2f940ec"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Nov 12 14:28:43 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 16:41:38 2026"
      },
      "message": "mini_udisks: allow lseek in seccomp policy\n\nIn glibc 2.42+, `fclose()` on a buffered input file with unread bytes\nissues `lseek(fd, 0, SEEK_CUR)` to synchronize the file offset. At\nstartup, Rust\u0027s `std::sys::pal::unix::init` calls\n`pthread_getattr_np()`, which reads `/proc/self/maps` up to `[stack]`\nand closes the stream early, triggering `SIGSYS` on `lseek` under\n`mini_udisks`\u0027s seccomp filter.\n\nAllow `lseek` so `mini_udisks` can start up with glibc 2.43.\n\nWritten by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003d26badf4b-5460-4020-ae0c-aa73c790d201\nBUG\u003db:585032376\nTEST\u003dCQ\n\nChange-Id: I72b7d295b78a9aa1f79d8d3d74f9007d67b0af02\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8801016\nReviewed-by: Ted Brandston \u003ctbrandston@google.com\u003e\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "4b3e04b87618b3f06bdac6b7a843a50ca2f940ec",
      "tree": "70cedc13c0a9afd62b6a0941a1e69905ed6f8bea",
      "parents": [
        "a8ef51331f64ae58d0099da0186ae989f608f6c8"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Thu Nov 12 07:23:49 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 14:49:50 2026"
      },
      "message": "arc-setup: Remove unused container helpers and ArtContainer\n\nAfter removing the container Mode values and On* entry points, remove\nthe remaining unreferenced container helper methods, constants, and\nArtContainer from arc/setup.\n\nBUG\u003db:578795574\nTEST\u003dCQ\n\nChange-Id: I8552902982dd8437c978119905d1e60c43691b3c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8800056\nReviewed-by: Satoshi Niwa \u003cniwa@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "a8ef51331f64ae58d0099da0186ae989f608f6c8",
      "tree": "d80b56f1a840e1edb69359169ec2cf4ed72701b0",
      "parents": [
        "8f419db6dd3e3e4ef65560f8cd8299d805a66b40"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:00:28 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 14:20:02 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665340018278145745.\n\nChange-Id: I7e15cdc4f1be19304c122f9125b7295796ff94fd\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8800714\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8f419db6dd3e3e4ef65560f8cd8299d805a66b40",
      "tree": "366cbcc848393de73ff514847042de2a710183c6",
      "parents": [
        "a922f46de9c0d4e00412352b7f45c3aea6aede37"
      ],
      "author": {
        "name": "Junichi Uekawa",
        "email": "uekawa@google.com",
        "time": "Fri Jun 26 05:49:25 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 12:43:18 2026"
      },
      "message": "vm_tools: cicerone: Remove obsolete Baguette user setup bypass\n\nBaguette VMs are containerless and user setup is handled via\nConcierge\u0027s SetUpVmUser RPC (talking to Maitred), not via\nCicerone\u0027s SetUpLxdContainerUser (which talks to Tremplin).\n\nRemove the obsolete bypass in SetUpLxdContainerUser that spoofed\nsuccess for Baguette VMs, and add an explicit IsContainerless()\nguard in VirtualMachine::SetUpLxdContainerUser returning FAILED\nwith \"VM does not host containers\".\n\nBUG\u003db:360170397\nTEST\u003dcicerone_test\nTAG\u003dagy\nCONV\u003d1224fd52-a68f-4c65-90c8-1bf5106bf7aa\n\nChange-Id: I15258ac4724fadd8e54957d0b2bb0f0d650a9902\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8009906\nCommit-Queue: Junichi Uekawa \u003cuekawa@chromium.org\u003e\nTested-by: Junichi Uekawa \u003cuekawa@chromium.org\u003e\nReviewed-by: maciek swiech \u003cdrmasquatch@google.com\u003e\n"
    },
    {
      "commit": "a922f46de9c0d4e00412352b7f45c3aea6aede37",
      "tree": "a5db9e299c5d58e352ea9370076e99bce16f7676",
      "parents": [
        "33545b5456e72ef7e65305617740915542393062"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Thu Oct 29 05:02:56 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 07:01:01 2026"
      },
      "message": "arc-setup: Remove unused container Mode values and On* entry points\n\nNow that the container-only arc-setup binary (main.cc) is removed, the\nonly remaining callers of ArcSetup::Run() are the 5 standalone binaries:\n- arc-prepare-host-generated-dir (Mode::PREPARE_HOST_GENERATED_DIR)\n- arc-apply-per-board-config (Mode::APPLY_PER_BOARD_CONFIG)\n- arcvm-prepare-data (Mode::PREPARE_ARCVM_DATA)\n- arc-remove-data (Mode::REMOVE_DATA)\n- arc-remove-stale-data (Mode::REMOVE_STALE_DATA)\n\nRemove the 9 unused container Mode enum values and their On*() entry\npoints from ArcSetup. A follow-up CL will remove the private helper\nmethods that are no longer called.\n\nBUG\u003db:578795574\nTEST\u003dCQ\n\nChange-Id: If96440ff3898deef4bc8bf2833b52445cb5f401b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8680759\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Satoshi Niwa \u003cniwa@chromium.org\u003e\n"
    },
    {
      "commit": "33545b5456e72ef7e65305617740915542393062",
      "tree": "7f2e13a9d1099ac5a8a0ba9ced3829d02459ecb2",
      "parents": [
        "d0b3bf14fcc76475fd69e4ab7abd940bc2d08f96"
      ],
      "author": {
        "name": "Brett Brotherton",
        "email": "bbrotherton@google.com",
        "time": "Tue Nov 10 23:19:49 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 23:34:40 2026"
      },
      "message": "platform2: Allow recvfrom/recv in Mojo BrokerHost seccomp policies\n\nUpstream commit 610e7bf531bd (r1737010, \"mojo: Use a bespoke protocol\nfor Broker IPC\") replaced Channel::Create() in mojo::core::BrokerHost\nwith a direct base::IOWatcher read watch that calls recv(..., MSG_DONTWAIT)\nin BrokerHost::OnFdReadable().\n\nAllow recvfrom (and recv on 32-bit arm) in the seccomp policies of\nplatform2 daemons that send Mojo invitations (OutgoingInvitation::Send\n-\u003e BaseSharedMemoryService::CreateService -\u003e BrokerHost):\n- mojo_service_manager\n- ml (ml_service)\n- diagnostics (cros_healthd)\n- camera (cros-camera)\n- rmad\n\nBUG\u003db:583970032\nTEST\u003dcros build-packages --board\u003dasurada mojo_service_manager ml diagnostics rmad cros-camera\nTEST\u003dcros_run_unit_tests --board\u003dasurada --packages \"mojo_service_manager diagnostics\"\n\nCq-Depend: chromium:8789560\nChange-Id: I2d2a9f05134301dc361c8800aeafc132368b6830\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8787431\nAuto-Submit: Brett Brotherton \u003cbbrotherton@google.com\u003e\nReviewed-by: Allen Webb \u003callenwebb@google.com\u003e\nTested-by: Brett Brotherton \u003cbbrotherton@google.com\u003e\nCommit-Queue: Brett Brotherton \u003cbbrotherton@google.com\u003e\nReviewed-by: Di Wu \u003cdiwux@google.com\u003e\n"
    },
    {
      "commit": "d0b3bf14fcc76475fd69e4ab7abd940bc2d08f96",
      "tree": "2f55db1ad5a0c5dea8750726c2fbdc409286e094",
      "parents": [
        "f367a5f1d21a61069d9a3c3f550e4c047946b6ad"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Wed Nov 11 01:07:33 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 22:37:21 2026"
      },
      "message": "system_api: Remove ARC container D-Bus constants and proto\n\nRemove unused ARC container D-Bus constants and ArcContainerStopReason\nfrom login_manager/dbus-constants.h, and UpgradeArcContainerRequest\nfrom arc/arc.proto, as all callers in Chrome and login_manager have\nbeen removed.\n\nBUG\u003db:578795676\nTEST\u003demerge-octopus system_api dev-rust/system_api; USE\u003d-cros-debug emerge-octopus --nodeps chromeos-login; cros_run_unit_tests\n\nChange-Id: Ib9086929d7a57978ff454dddb8a734b6d9fbf197\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8790493\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\n"
    },
    {
      "commit": "f367a5f1d21a61069d9a3c3f550e4c047946b6ad",
      "tree": "a63fea53aab3feda606d5000db1f2704ad7f31a3",
      "parents": [
        "ee03244042e31fd0f059e5447627400c7f5f17f4"
      ],
      "author": {
        "name": "maciek swiech",
        "email": "drmasquatch@google.com",
        "time": "Wed Nov 11 17:29:20 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 20:01:49 2026"
      },
      "message": "vm_tools: baguette_image: uprev to 160\n\nuprev repo to 160\n\nBUG\u003db:583801298\nTEST\u003dcq\n\nChange-Id: Iaa536e66eaf1ec30bf8a0e6b279bb596bd736a57\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8796952\nCommit-Queue: maciek swiech \u003cdrmasquatch@google.com\u003e\nAuto-Submit: maciek swiech \u003cdrmasquatch@google.com\u003e\nCommit-Queue: chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com\u003e\nReviewed-by: Zihan Chen \u003czihanchen@google.com\u003e\nCommit-Queue: Zihan Chen \u003czihanchen@google.com\u003e\nTested-by: maciek swiech \u003cdrmasquatch@google.com\u003e\n"
    },
    {
      "commit": "ee03244042e31fd0f059e5447627400c7f5f17f4",
      "tree": "96037ad10696e60cb52e231bede243d7a69131be",
      "parents": [
        "66dbd0bb2cb1035209755d427c35c7ba9a6ce0d8"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Wed Nov 11 12:00:29 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 15:31:59 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665430615675590033.\n\nChange-Id: I6e184c81148aca542796b2b4e316fdcb60d63ef8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8796685\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nCommit-Queue: chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "66dbd0bb2cb1035209755d427c35c7ba9a6ce0d8",
      "tree": "9146d54096b2217a529d18c84db2f4b17505b573",
      "parents": [
        "a54c598bf3f5fc9741de17198a27d8ba4f7c80cd"
      ],
      "author": {
        "name": "Ricardo Ribalda",
        "email": "ribalda@google.com",
        "time": "Tue Nov 10 12:33:38 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:43:31 2026"
      },
      "message": "camera: Update capability rules\n\nID_V4L_CAPABILITIES is an array of capabilities supported by the media\ndevice.\n\nCurrent rules only matched against cameras that had ONE capability and\nit was capture.\n\nUpdate the rules so it can work with meta nodes and multiple\ncapabilities.\n\nBUG\u003db:583756633\nTEST\u003dcheck group of /dev/video* in brya\n\nCq-Depend: chromium:8775036\nChange-Id: Ied4166ea3ca86c180d9c3e627b669f11a7797db8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8774557\nTested-by: Ricardo Ribalda \u003cribalda@chromium.org\u003e\nCommit-Queue: Ricardo Ribalda \u003cribalda@chromium.org\u003e\nReviewed-by: XING-GU CHEN \u003cxinggu@google.com\u003e\nReviewed-by: Chu-Hsuan Yang \u003cchuhsuan@chromium.org\u003e\n"
    },
    {
      "commit": "a54c598bf3f5fc9741de17198a27d8ba4f7c80cd",
      "tree": "40b794f6c68f3c7348640db2633bd1e7dae3becd",
      "parents": [
        "9bf7451aed14f0bfcc2b705ec5ca284946789e48"
      ],
      "author": {
        "name": "rajeshhs",
        "email": "rajeshhs@google.com",
        "time": "Tue Sep 29 05:01:29 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:59:58 2026"
      },
      "message": "hermes: Refresh profiles after disabling test mode and restart\n\nWhen test profiles are cleared on boot without going through OOBE,\nwiping /var/cache/hermes/* and restarting hermes leaves the restarted\nhermes daemon with an empty InstalledProfiles list on D-Bus because\nChrome already has the eUICC recorded in Local State\n(esim.refreshed_euiccs) and does not trigger another auto-refresh.\n\n1. Reduce SLEEP_SECONDS from 10s to 2s (and increase MAX_ATTEMPTS to\n   30 to preserve the 60s total timeout) so test profile cleanup starts\n   promptly once ModemManager finishes probing the modem.\n2. Refresh profiles after setting test_mode to false and after\n   restarting hermes so InstalledProfiles and the Hermes cache stay\n   synchronized with the SIM.\n\nBUG\u003db:483194625\nTEST\u003dVerify test profile is removed from UI after reboot when\n     /mnt/stateful_partition/test_profiles_cleared is deleted.\n\nChange-Id: Iec5175413324bcaf251a138bdfed9b7b3d0b1ac8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8484012\nCommit-Queue: Rajesh S (xWF) \u003crajeshhs@google.com\u003e\nReviewed-by: Ujjwal Pande \u003cujjwalpande@google.com\u003e\nReviewed-by: Eric Caruso \u003cejcaruso@chromium.org\u003e\nTested-by: Rajesh S (xWF) \u003crajeshhs@google.com\u003e\nReviewed-by: Madhav \u003cmadhavadas@google.com\u003e\n"
    },
    {
      "commit": "9bf7451aed14f0bfcc2b705ec5ca284946789e48",
      "tree": "d6b995ac0bffa7f3b214134ea0de510f29dbdac4",
      "parents": [
        "650980321123595ef269fb75ec12fc9b61d493a6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 10 08:20:19 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 06:57:49 2026"
      },
      "message": "patchpanel: move RTNL neighbor probe helper to net-base\n\nMove the RTM_NEWNEIGH NUD_PROBE message construction from\npatchpanel::NeighborLinkMonitor into\nnet_base::RTNLHandler::ProbeNeighbor and inline its callers in\nNeighborLinkMonitor so that other platform2 networking daemons (such as\nshill) can also trigger active kernel neighbor unreachability detection\nprobes.\n\nHaving multiple userspace services trigger NUD_PROBE requests\nindependently without synchronization does not disturb the kernel NUD\nstate machine: in the Linux kernel (__neigh_update), setting NUD_PROBE\non a valid neighbor entry transitions it to NUD_PROBE and starts unicast\nprobing if it was not already probing, or leaves the existing probe\ntimer and retry counter undisturbed if a probe is already in flight.\n\nBUG\u003db:581820172\nTEST\u003dFEATURES\u003dtest emerge-hatch libnet-base patchpanel\n\nChange-Id: I113067a82f431bc643538786a205e204410a8180\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8780096\nCommit-Queue: Hugo Benichi \u003chugobenichi@google.com\u003e\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\nReviewed-by: Chih-Yu Huang \u003cakahuang@chromium.org\u003e\n"
    },
    {
      "commit": "650980321123595ef269fb75ec12fc9b61d493a6",
      "tree": "d67992939c24473b518298b63a0f73b9b5f3ab13",
      "parents": [
        "9fcf9c73c8b35fff13e6f4aa33c997f8a1ec947d"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:19:30 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 03:33:58 2026"
      },
      "message": "libarc-attestation: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from libarc-attestation/\nOWNERS files, and delete any OWNERS files that become empty.\n\nUpdate chingkang@google.com to chingkang@chromium.org to match the\nactive Gerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Ifc158414ac2ef2e83ac5ba3d065d091657ef992e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690449\nReviewed-by: Ching-Kang Yen \u003cchingkang@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "9fcf9c73c8b35fff13e6f4aa33c997f8a1ec947d",
      "tree": "accb8ba74d1883154d9ff6a53b62c2c5c679d10f",
      "parents": [
        "0354371c2425ce6d471c29d7df32a73f7290c16f"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:18:46 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 01:45:41 2026"
      },
      "message": "codelab: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from codelab/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nUpdate zwisler@chromium.org to zwisler@google.com to match the active\nGerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I1ee75c68ae734aa5cf29da3d2656a15082f59912\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689508\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Ross Zwisler \u003czwisler@google.com\u003e\nCommit-Queue: Ross Zwisler \u003czwisler@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "0354371c2425ce6d471c29d7df32a73f7290c16f",
      "tree": "b3b4d0e20efcb7aeaa63fcb28bea8f22746edb5d",
      "parents": [
        "5c285b1c6ddde48255c70a60c77d49339514d0c1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Nov 06 00:38:16 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 01:42:50 2026"
      },
      "message": "patchpanel: Place VPN and CLAT rules above Option 121 dst rules\n\nMove kDstRulePriority (32764 \u003d kRulePriorityMain - 2) immediately before\nkCatchallPriority (32765 \u003d kRulePriorityMain - 1) and after\nkClatRulePriority (32761), kBypassVpnRulePriority (32762), and\nkVpnUidRulePriority (32763). This ensures DHCPv4 Option 121 destination\nrules on physical or unranked interfaces do not take precedence over VPN\nUID/fwmark rules, BYPASS_VPN rules, or CLAT rules during source IP\nselection and policy routing.\n\nBUG\u003db:516658596\nTEST\u003dFEATURES\u003dtest emerge-hatch patchpanel\n\nDisallow-Recycled-Builds: test-failures\nChange-Id: Id2fde45a0923f6d3bcdf66eed1b45f98ed8eadc7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8750580\nCommit-Queue: Hugo Benichi \u003chugobenichi@google.com\u003e\nReviewed-by: Jie Jiang \u003cjiejiang@chromium.org\u003e\nReviewed-by: Jason Iman \u003cjasongustaman@chromium.org\u003e\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\n"
    },
    {
      "commit": "5c285b1c6ddde48255c70a60c77d49339514d0c1",
      "tree": "0028fad080f54a15ea636b913a247fa8829c6541",
      "parents": [
        "2e0c3a02f69290217579846c361667ac69097ad6"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:19:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 01:36:37 2026"
      },
      "message": "farfetchd: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from farfetchd/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nUpdate sarthakkukreti@chromium.org to sarthakkukreti@google.com to match\nthe active Gerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I3059349cac8e622a49d555ea8ca9f037bd7a8303\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689509\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\nCommit-Queue: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\n"
    },
    {
      "commit": "2e0c3a02f69290217579846c361667ac69097ad6",
      "tree": "6569721cd8e289538b043c0c4f04d9669d6c2ca5",
      "parents": [
        "011676e84892ac37bc088034f668daa8bdcdbedc"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Wed Oct 28 09:12:10 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 00:44:15 2026"
      },
      "message": "login: Remove ARC container metrics and cgroup configs\n\nRemove CumulativeUseTimeMetric, ARC use-time and continue-boot-impulse\nmetrics from LoginMetrics, ArcSideloadStatus::IsAdbSideloadAllowed, and\nsession_manager_containers freezer/cpu cgroup configurations.\n\nBUG\u003db:578795676\nTEST\u003dcros_run_unit_tests --board\u003doctopus --packages chromeos-login\n\nChange-Id: I77b8628374c1e4725cb58da8066585c1ab821b33\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8766637\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "011676e84892ac37bc088034f668daa8bdcdbedc",
      "tree": "4d95e6ffea2cc45b7e2bfc6f37ff205cb0371d6f",
      "parents": [
        "138cd27358b0c7aaeadc790457c3497a8ffbd04c"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Tue Nov 10 23:53:32 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 00:25:15 2026"
      },
      "message": "hermes: Update OWNERS email domain\n\nUpdate andrewlassalle@google.com to andrewlassalle@chromium.org in\nhermes/OWNERS to match the active Gerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\n\nChange-Id: I696f9950f35245f411f96070763d30f826ade570\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690448\nReviewed-by: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "138cd27358b0c7aaeadc790457c3497a8ffbd04c",
      "tree": "7b98c83060e4e6f61ab9fdc6959d34afffdccc9d",
      "parents": [
        "1329d38c6a2f672153ba690eec17d14e61f32c60"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Sat Nov 07 10:32:27 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 17:05:01 2026"
      },
      "message": "cros-toolchain: expect Clang 24 FORTIFY warnings\n\nClang 24 (upstream commits 1e5e53db7a6f and 41823dd915c7) added built-in\n`-Wfortify-source` buffer-size diagnostics for `recv`/`recvfrom` and\n`poll`/`ppoll`, which fire alongside glibc\u0027s existing `diagnose_if`\nwarnings on the intentional out-of-bounds test calls in `TestPoll` and\n`TestSocket` (including the subobject `poll`/`ppoll` checks when\n`_FORTIFY_SOURCE \u003e 1`).\n\nGate the new `expected-warning` directives on `__clang_major__ \u003e\u003d 24` so\n`verify-fortify-diags.sh` passes with both pre-roll Clang and Clang 24\n(b/584227318 tracks removing these guards once Clang 24 sticks).\n\nCode by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003d3ac34e77-9674-4e3d-a256-c793e064ddc5\nBUG\u003db:583045060, b:584227318\nTEST\u003dFEATURES\u003dtest emerge-{amd64,arm64}-generic\nTEST\u003dchromeos-base/toolchain-tests\n\nChange-Id: I8ca0026b00cfd9a7fe023627f472b446550ddbe5\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8769207\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\nAuto-Submit: George Burgess \u003cgbiv@chromium.org\u003e\nReviewed-by: Bob Haarman \u003cinglorion@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "1329d38c6a2f672153ba690eec17d14e61f32c60",
      "tree": "e832291e680ba4dd830e4ad7caa11972d257376d",
      "parents": [
        "e19c8bc27a85ab5534a965b0f2699ae4a08b5539"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 22:16:06 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:19:03 2026"
      },
      "message": "chromeos-common-script: Prune OWNERS\n\nRemove folks who are no longer on the project from chromeos-common-\nscript/ OWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I560621c6420bd992941a29b8e4a76b14f09f1cbe\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690386\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "e19c8bc27a85ab5534a965b0f2699ae4a08b5539",
      "tree": "092836ba13d733173f84e76f22b7da71044e8b93",
      "parents": [
        "4318e9f2e64eb8c5c7d5124f7cc306d56a005790"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Nov 06 00:38:16 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 13:26:43 2026"
      },
      "message": "shill: Ignore duplicate default route in DHCPv4 Option 121\n\nWhen parsing DHCPv4 Option 121 (Classless Static Routes) in\nDHCPv4Config::ParseClasslessStaticRoutes, never add a /0 default route\ninto network_config-\u003erfc3442_routes. If no default gateway is set yet,\nuse the /0 route as network_config-\u003eipv4_gateway; otherwise log a\nwarning and ignore the duplicate default route so patchpanel does not\ninstall a 0.0.0.0/0 destination rule at kDstRulePriority.\n\nBUG\u003db:516658596\nTEST\u003dFEATURES\u003dtest emerge-hatch shill\nTEST\u003dtast run \u003cdut\u003e network.RoutingDHCPClasslessStatic\n\nDisallow-Recycled-Builds: test-failures\nChange-Id: Ia649402f7cc74aaa531d455b5bfd529011b1ad21\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8750579\nReviewed-by: Zikai Chen \u003cchenzikai@google.com\u003e\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\nCommit-Queue: Hugo Benichi \u003chugobenichi@google.com\u003e\n"
    },
    {
      "commit": "4318e9f2e64eb8c5c7d5124f7cc306d56a005790",
      "tree": "e5ddb60e279e7a705dbeb04f60ee4480cb3b0d1d",
      "parents": [
        "3e65bcec181a7754d21c1aeee720cac50903d89a"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Nov 06 03:45:51 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:25:50 2026"
      },
      "message": "fusebox: include \u003cerrno.h\u003e in file_system.cc\n\n`file_system.cc` uses `ENOSYS` without including `\u003cerrno.h\u003e`, relying on\na transitive include through libc++\u0027s `\u003cvector\u003e` that was removed in\nLLVM 24 (see b/582507103). Include `\u003cerrno.h\u003e` directly.\n\nCode by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003d423b5f3e-cdc3-4843-ae33-c479dc53ce12\nBUG\u003db:582507103\nTEST\u003dFEATURES\u003dtest emerge-amd64-generic chromeos-base/fusebox\n\nChange-Id: I0c8e446d0957da57bd7047207345d09fbb6e0da7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8769206\nAuto-Submit: George Burgess \u003cgbiv@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nReviewed-by: Jacob Drake \u003cjrdrake@google.com\u003e\nReviewed-by: Bob Haarman \u003cinglorion@chromium.org\u003e\nCommit-Queue: Bob Haarman \u003cinglorion@chromium.org\u003e\n"
    },
    {
      "commit": "3e65bcec181a7754d21c1aeee720cac50903d89a",
      "tree": "430fdb7dd60e08f61c0111401a4af013e247c7b4",
      "parents": [
        "e480a28d04b35999cc0690a775bdaec825acaff5"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Tue Nov 10 07:59:29 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:20:49 2026"
      },
      "message": "chaps: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from chaps/ OWNERS files,\nand delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\n\nChange-Id: I4529b3b6d09d3f815ed13fcf11bf4d998210ff2a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689547\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com\u003e\nReviewed-by: Howard Yang \u003chcyang@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "e480a28d04b35999cc0690a775bdaec825acaff5",
      "tree": "250ac906df8c7349300ce2f43e205d4fe878c950",
      "parents": [
        "670592b17d3c2167e711acf1ed3c159ea532aff9"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Nov 06 06:32:54 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:10:38 2026"
      },
      "message": "power: Avoid find in powerd-pre-start.sh\n\npowerd-pre-start.sh walks all of /sys/devices/ with find and xargs to\nchown power/wakeup files (~103 ms idle on Octopus). Match them in the\nexisting chown loop via /sys/devices/*, /sys/bus/*/devices/*,\n/sys/bus/thunderbolt/devices/*/usb4_port*, and /sys/class/*/* instead\n(~15 ms idle, starting powerd ~296 ms earlier during boot on Octopus).\n\nThis matches the same /sys/devices/.../power/wakeup files as find:\n- In the Linux driver core (device_add), every device with a bus or\n  class gets a flat symlink under /sys/bus/\u003cbus\u003e/devices/\u003cname\u003e or\n  /sys/class/\u003cclass\u003e/\u003cname\u003e pointing to its nested /sys/devices/...\n  directory.\n- The only wakeup-capable devices in the kernel without a bus or class\n  are top-level PCI host bridges (/sys/devices/pci*), covered by\n  /sys/devices/*/power/wakeup, and Thunderbolt usb4_port devices,\n  covered under /sys/bus/thunderbolt/devices/*/usb4_port*/power/wakeup.\n\nBUG\u003db:237305432\nTEST\u003dVerify 100% readlink -f wakeup path match and isolated power:power\nTEST\u003downership across 18 ChromeOS boards (Intel, AMD, MediaTek, Qualcomm\nTEST\u003dincluding rex with usb4_port); 10-boot A/B benchmark on Octopus\n\nChange-Id: I7e205c2d7ddaa6bae04a7b75cfde636d0cd65c43\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8752281\nReviewed-by: Tatsuyuki Ishi \u003cishitatsuyuki@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Mengqi Guo \u003cmqg@chromium.org\u003e\n"
    },
    {
      "commit": "670592b17d3c2167e711acf1ed3c159ea532aff9",
      "tree": "b10378de01b74fc47e00a8ea34ecb5880955578f",
      "parents": [
        "1626970b40ef92af1a0a73a2d9baa7a77ab2b2a3"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:09:59 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:02:17 2026"
      },
      "message": "feature_usage: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from feature_usage/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Ibfe0ac1798e80101bfd591ccf3c498cf7cdccf9c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689410\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Troy Wang \u003ctroywang@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "1626970b40ef92af1a0a73a2d9baa7a77ab2b2a3",
      "tree": "9072cf11d9abd4bb1cdc5eeb9efe1ba781ecb33d",
      "parents": [
        "f6b17616548617918b82886670089855063e5b4f"
      ],
      "author": {
        "name": "Zikai Chen",
        "email": "chenzikai@google.com",
        "time": "Mon Nov 09 08:40:01 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 05:58:20 2026"
      },
      "message": "shill: DHCP: Quote hostname argument for dhcpcd\n\nWhen configuring a DHCP hostname that consists only of hexadecimal\ncharacters and valid MAC delimiters (e.g. \"ab-00cd\"), dhcpcd\u0027s\nparse_str() misinterprets the unquoted argument to `-h` as a hardware\naddress via hwaddr_aton() and converts it into binary bytes.\n\nQuote `options.hostname` with double quotes when passing `-h` to dhcpcd\nso that `parse_str()` always treats it as a string.\n\nBUG\u003db:579864384\nTEST\u003dFEATURES\u003d\"test\" emerge-${BOARD} shill\nTEST\u003dtast run ${DUT} network.DHCPHostname*\n\nChange-Id: Id1b28e04eac8468631c1ead4c920b2dbec9d444e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8773048\nCommit-Queue: Zikai Chen \u003cchenzikai@google.com\u003e\nTested-by: Zikai Chen \u003cchenzikai@google.com\u003e\nReviewed-by: Hugo Benichi \u003chugobenichi@google.com\u003e\n"
    },
    {
      "commit": "f6b17616548617918b82886670089855063e5b4f",
      "tree": "54b22a9f664b9cd219aab65a0c6bf4e1385e34e7",
      "parents": [
        "fd1d1f423371251c1618c87fe8391a86ed5080b2"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 22:16:45 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 05:31:16 2026"
      },
      "message": "iioservice: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from iioservice/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I885e68317711ad9f9541eab057f6323f0656e5ef\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689411\nReviewed-by: Cheng-Hao Yang \u003cchenghaoyang@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Cheng-Hao Yang \u003cchenghaoyang@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "fd1d1f423371251c1618c87fe8391a86ed5080b2",
      "tree": "7f2614550377c1d5d831c8b26b574b4272cd62af",
      "parents": [
        "2e9ec175c427c4a27c7dafafb4599201013d36ab"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Nov 06 06:59:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 05:14:57 2026"
      },
      "message": "vm_tools: include \u003csys/types.h\u003e in spawn_util.h\n\n`spawn_util.h` uses `pid_t` directly without including `\u003csys/types.h\u003e`,\nrelying on a transitive `\u003ccstdlib\u003e` include from libc++\u0027s `\u003cvector\u003e`\nthat was dropped in LLVM 23/24 (see b/582552305). Include\n`\u003csys/types.h\u003e` directly.\n\nCode by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003dff66dec9-f417-4495-98bd-a28d6ce78a40\nBUG\u003db:582552305\nTEST\u003dFEATURES\u003dtest emerge-amd64-generic chromeos-base/vm_host_tools\n\nChange-Id: Ic4a1c48fa2bc57b0f1754ab75ccf0bbbf8fbd6c9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8776081\nAuto-Submit: George Burgess \u003cgbiv@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nCommit-Queue: Joel Hockey \u003cjoelhockey@chromium.org\u003e\nReviewed-by: Joel Hockey \u003cjoelhockey@chromium.org\u003e\n"
    },
    {
      "commit": "2e9ec175c427c4a27c7dafafb4599201013d36ab",
      "tree": "fd62db50be8a7fdcca16c7eb7610ea3de4bb2d22",
      "parents": [
        "353f649a1cc7398b8211089072140e52829429f6"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Mon Nov 09 06:17:44 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 03:47:05 2026"
      },
      "message": "Reland \"login_manager: Remove ARC container code and D-Bus methods\"\n\nThis is a reland of commit c2b712bac0adff8aa9306192f11cd993195e6367\n(reverts commit ee9db3311928c44d93726ec118636bd6a23cb543).\n\nPatch Set 1 is the original CL as-is. Patch Set 2 adds the missing\nsignal.h include to arc_manager_main.cc to fix release builds with\nUSE\u003d-cros-debug.\n\nOriginal description:\n\u003e login_manager: Remove ARC container code and D-Bus methods\n\u003e\n\u003e Remove ARC container management (AndroidOciWrapper,\n\u003e ContainerManagerInterface, FakeContainerManager) and the ARC container\n\u003e D-Bus methods and signals from ArcManager, ArcManagerProxy,\n\u003e SessionManagerImpl, and SessionManagerService.\n\u003e\n\u003e SessionManagerInterface.GetArcStartTimeTicks is kept returning\n\u003e kNotAvailable until crash-reporter drops GetArcContainerUptime\n\u003e (b/578795076).\n\nBUG\u003db:578795676\nTEST\u003dUSE\u003d\"-cros-debug -cheets\" emerge-octopus chromeos-login\nTEST\u003dcros_run_unit_tests --board\u003doctopus --packages chromeos-login\n\nChange-Id: I535d65c01b99d106972232123d618b1110f10a9a\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8773127\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\n"
    },
    {
      "commit": "353f649a1cc7398b8211089072140e52829429f6",
      "tree": "a168fac7eae2448f1e94e24aac23ae2f9b311e0a",
      "parents": [
        "11d9791036952d46978f4d15144557cea6593250"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 14 07:15:45 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 02:42:57 2026"
      },
      "message": "shill: vpn: Use UNIX domain socket for OpenVPN management server\n\nPreviously, OpenVPNManagementServer created an AF_INET TCP listening\nsocket bound to 127.0.0.1 on an ephemeral port. Because shill runs in\nthe root network namespace without network namespace isolation, any\nunprivileged local process could monitor /proc/net/tcp, race to connect\nto the listening port before the openvpn child process, and query or\nleak VPN credentials via the management protocol.\n\nMigrate OpenVPNManagementServer to use an AF_UNIX domain socket located\nunder the OpenVPN config directory (openvpn-mgmt.sock). Restrict socket\nfile permissions to 0660 with group ownership set to \"vpn\" (gid 20174),\nensuring only shill and the sandboxed openvpn process can access it.\nClean up the socket file when stopping the server, and update OpenVPN\ncommand line options to use the UNIX management interface.\n\nBUG\u003db:524005059\nTEST\u003dcros_run_unit_tests --packages shill\nTAG\u003dagy\nCONV\u003d9821f58c-6e75-4a5d-9c62-c27de3c9857e\n\nChange-Id: I699278496270b105cab8f060dd7543ff5576b87c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8417423\nCommit-Queue: Hugo Benichi \u003chugobenichi@google.com\u003e\nReviewed-by: Jie Jiang \u003cjiejiang@chromium.org\u003e\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\n"
    },
    {
      "commit": "11d9791036952d46978f4d15144557cea6593250",
      "tree": "bc89e764f4b6f60104506e17c15363b945e2b6ef",
      "parents": [
        "1881549d599d7b0df6ab8dca1202d8ef7e217280"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Fri Nov 06 03:53:23 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 02:24:39 2026"
      },
      "message": "camera: tools: mctk: include \u003cerrno.h\u003e for errno/ENOSPC\n\n`control_from_kernel.cc` uses `errno` and `ENOSPC` directly without\nincluding `\u003cerrno.h\u003e`, relying on a transitive `\u003ccerrno\u003e` include from\nlibc++\u0027s `\u003cvector\u003e` that was dropped in LLVM 23 (see b/582508053).\n\n`cros format` also moves `#include \"tools/mctk/control.h\"` into the\nproject headers block.\n\nCode by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003d2b719594-7bbc-4533-a52c-f25a4048ec7e\nBUG\u003db:582508053\nTEST\u003demerge-amd64-generic chromeos-base/mctk\n\nChange-Id: I7d44dccd63d5cbc7ad1fb6e33fc0560946ef728d\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8778820\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\nCommit-Queue: Hidenori Kobayashi \u003chidenorik@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nReviewed-by: Hidenori Kobayashi \u003chidenorik@chromium.org\u003e\nAuto-Submit: George Burgess \u003cgbiv@chromium.org\u003e\n"
    },
    {
      "commit": "1881549d599d7b0df6ab8dca1202d8ef7e217280",
      "tree": "a7c1e92b8bc4d36b761858b0ae0843a23df851a1",
      "parents": [
        "daefc6555b2cb4d7bbcb8be75eb79127a41e3ce7"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Sat Nov 07 12:56:54 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 02:21:37 2026"
      },
      "message": "thinpool_migrator: include \u003ctime.h\u003e in lvm_metadata.h\n\n`lvm_metadata.h` uses `time_t` directly without including `\u003ctime.h\u003e`,\nrelying on a transitive `\u003cctime\u003e` include from libc++\u0027s `\u003cmap\u003e`,\n`\u003cstring\u003e`, and `\u003cvector\u003e` headers that was dropped in LLVM 23/24 (see\nb/583045288). Include `\u003ctime.h\u003e` directly.\n\nCode by Gemini, reviewed by me.\n\nTAG\u003dagy\nCONV\u003d3ac34e77-9674-4e3d-a256-c793e064ddc5\nBUG\u003db:583045288\nTEST\u003dFEATURES\u003dtest emerge-{amd64,arm64}-generic chromeos-base/thinpool_migrator\n\nChange-Id: Ic8cfaef8b084a557aa3ff96bb13b26bddf753482\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8776590\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\nAuto-Submit: George Burgess \u003cgbiv@chromium.org\u003e\nCommit-Queue: George Burgess \u003cgbiv@chromium.org\u003e\nTested-by: George Burgess \u003cgbiv@chromium.org\u003e\nCommit-Queue: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\n"
    },
    {
      "commit": "daefc6555b2cb4d7bbcb8be75eb79127a41e3ce7",
      "tree": "155cc7337589864b2849c9687fd74a431268749d",
      "parents": [
        "ee9db3311928c44d93726ec118636bd6a23cb543"
      ],
      "author": {
        "name": "Brian Keegan",
        "email": "bkeegs@google.com",
        "time": "Thu Nov 05 16:53:58 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 21:35:33 2026"
      },
      "message": "login: Add Intel GPU 8086:7d45 to kSupportGpuIds\n\nAdd PCI ID 8086:7d45 (Intel Meteor Lake-P Graphics on Dell Latitude\n5450) to the ARCVM hardware filter allowlist in kSupportGpuIds so that\nARCVM DLC installation and Android VPN apps are supported on ChromeOS\nFlex devices with this GPU.\n\nBUG\u003db:571267580\nTEST\u003dcros_run_unit_tests --board\u003dreven --packages chromeos-login\nTAG\u003dagy\nCONV\u003dd1ff92e5-dc4c-4eb7-a569-91be677bb0bc\nChange-Id: I5712675807d45a1b2c3d4e5f60718293a4b5c6d7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8743054\nAuto-Submit: Brian Keegan \u003cbkeegs@google.com\u003e\nReviewed-by: Brian Keegan \u003cbkeegs@google.com\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nTested-by: Brian Keegan \u003cbkeegs@google.com\u003e\nCommit-Queue: Brian Keegan \u003cbkeegs@google.com\u003e\nReviewed-by: TingHao Lin \u003ctinghaolin@google.com\u003e\n"
    },
    {
      "commit": "ee9db3311928c44d93726ec118636bd6a23cb543",
      "tree": "35065b3618b2d243e1d757a559e8d91e3773eb96",
      "parents": [
        "c4c5759d85283c6cd89ad249e3806a4a75824b35"
      ],
      "author": {
        "name": "Baili Deng",
        "email": "bailideng@google.com",
        "time": "Mon Nov 09 02:58:05 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 05:51:41 2026"
      },
      "message": "Revert \"login_manager: Remove ARC container code and D-Bus methods\"\n\nThis reverts commit c2b712bac0adff8aa9306192f11cd993195e6367.\n\nReason for revert: Breaks chromeos-login build\n\nFailure Link: https://ci.chromium.org/ui/p/chromeos/builders/release/ambassador-release-main/b8665739065703419777/overview\n\nOriginal change\u0027s description:\n\u003e login_manager: Remove ARC container code and D-Bus methods\n\u003e\n\u003e Remove ARC container management (AndroidOciWrapper,\n\u003e ContainerManagerInterface, FakeContainerManager) and the ARC container\n\u003e D-Bus methods and signals from ArcManager, ArcManagerProxy,\n\u003e SessionManagerImpl, and SessionManagerService.\n\u003e\n\u003e SessionManagerInterface.GetArcStartTimeTicks is kept returning\n\u003e kNotAvailable until crash-reporter drops GetArcContainerUptime\n\u003e (b/578795076).\n\u003e\n\u003e BUG\u003db:578795676\n\u003e TEST\u003dcros_run_unit_tests --board\u003doctopus --packages chromeos-login\n\u003e\n\u003e Change-Id: If9c5f16f114050c51662c501d48dd86b7b62fd4e\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8673960\n\u003e Reviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\n\u003e Tested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n\u003e Commit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\n\nBUG\u003db:578795676, b:583542223\n\nChange-Id: Idb36dd9891710d09d11a37486bf31d04fbae7b9f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8772008\nCommit-Queue: Baili Deng \u003cbailideng@google.com\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nAuto-Submit: Baili Deng \u003cbailideng@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Baili Deng \u003cbailideng@google.com\u003e\nCommit-Queue: Hidehiko Abe \u003chidehiko@chromium.org\u003e\n"
    },
    {
      "commit": "c4c5759d85283c6cd89ad249e3806a4a75824b35",
      "tree": "8cec9cf84df62bcd14dce8794ad2b67ab76985d8",
      "parents": [
        "c2b712bac0adff8aa9306192f11cd993195e6367"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 23 13:16:33 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 08 15:26:54 2026"
      },
      "message": "hermes, modemloggerd: Skip starting on non-cellular SKUs\n\nOn unibuild boards with cellular support enabled (e.g. octopus),\nnon-cellular SKUs have an empty /modem/firmware-variant in cros_config.\nWhile shill and modemfwd already check /modem/firmware-variant to skip\ncellular setup or exit on non-cellular SKUs, hermes only checked it in\npost-start and modemloggerd stayed idle after finding no variant,\nleaving both daemons resident (~4.7 MiB PSS combined).\n\nCheck \"cros_config /modem firmware-variant\" in pre-start and stop both\njobs cleanly on non-cellular SKUs.\n\nBUG\u003db:237305432\nTEST\u003dFEATURES\u003dtest emerge-octopus hermes modemloggerd\n\nDisallow-Recycled-Builds: brya-cq, dedede-cq\nChange-Id: Ia250fb6371a7103f970acf3eb11797c51fc14c04\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8642953\nReviewed-by: Eric Caruso \u003cejcaruso@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Ujjwal Pande \u003cujjwalpande@google.com\u003e\n"
    },
    {
      "commit": "c2b712bac0adff8aa9306192f11cd993195e6367",
      "tree": "9c6a5f134dfa61444610835a43864a9d5f7d06f0",
      "parents": [
        "ad371e6c562596c27060af353051017f019a9d55"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Nov 06 04:37:24 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Nov 07 15:38:35 2026"
      },
      "message": "login_manager: Remove ARC container code and D-Bus methods\n\nRemove ARC container management (AndroidOciWrapper,\nContainerManagerInterface, FakeContainerManager) and the ARC container\nD-Bus methods and signals from ArcManager, ArcManagerProxy,\nSessionManagerImpl, and SessionManagerService.\n\nSessionManagerInterface.GetArcStartTimeTicks is kept returning\nkNotAvailable until crash-reporter drops GetArcContainerUptime\n(b/578795076).\n\nBUG\u003db:578795676\nTEST\u003dcros_run_unit_tests --board\u003doctopus --packages chromeos-login\n\nChange-Id: If9c5f16f114050c51662c501d48dd86b7b62fd4e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8673960\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "ad371e6c562596c27060af353051017f019a9d55",
      "tree": "27e993f5317b4460b256c3a7b1b1136bab18448b",
      "parents": [
        "b8bc47bff22229a61ffd5769ec0837a895a5b56c"
      ],
      "author": {
        "name": "Keigo Oka",
        "email": "oka@google.com",
        "time": "Tue Nov 03 13:27:25 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 22:04:12 2026"
      },
      "message": "vm_tools: pstore_dump: Fix ring buffer OOB read\n\nGetPersistentRamBufferContent() calls the three-argument overload\nstd::string::append(const char*, size_type pos, size_type count) on\nbuf-\u003edata. That overload implicitly constructs a temporary std::string\nfrom a NUL-terminated C string via strlen(buf-\u003edata) before slicing\n[pos, pos + count). Because persistent_ram_buffer::data is a raw\nfixed-size ring buffer without a trailing NUL terminator, strlen() reads\npast the end of the buffer (and truncates any content after an embedded\nNUL byte).\n\nIn addition, GetPersistentRamBufferContent() does not validate that\nbuf-\u003esize \u003c\u003d buf_capacity and buf-\u003estart \u003c\u003d buf-\u003esize before computing\nbuf_capacity - buf-\u003estart, and WritePersistentRamBufferToFd() passes\nbuf-\u003esize as buf_capacity instead of the ramoops zone capacity.\n\nValidate that buf-\u003esize \u003c\u003d buf_capacity and buf-\u003estart \u003c\u003d buf-\u003esize, use\nthe two-argument pointer-and-length std::string::append(const char*,\nsize_type count) overload, and pass the zone capacity to\nWritePersistentRamBufferToFd().\n\nBUG\u003db:580685934\nTEST\u003dFEATURES\u003dtest emerge-brya vm_host_tools\n\nChange-Id: Ifb5d9ef084bf72439e7016def3052722c53e5441\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8714224\nCommit-Queue: Junichi Uekawa \u003cuekawa@chromium.org\u003e\nAuto-Submit: Keigo Oka \u003coka@chromium.org\u003e\nTested-by: Keigo Oka \u003coka@chromium.org\u003e\nReviewed-by: Junichi Uekawa \u003cuekawa@chromium.org\u003e\n"
    },
    {
      "commit": "b8bc47bff22229a61ffd5769ec0837a895a5b56c",
      "tree": "0fa1852c2a29cd7bcd5cdcf2d9b362e7e5fe173d",
      "parents": [
        "900f2dbdd1dcfb4be43d7b69e855e3e8c1c829e4"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "reinauer@chromium.org",
        "time": "Fri Jan 30 21:50:50 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 21:56:52 2026"
      },
      "message": "croslog: Add debounce to viewer plaintext refresh\n\nWhen many log files change rapidly (e.g., during log rotation or heavy\nlogging), the ViewerPlaintext::OnLogFileChanged callback can be\ntriggered repeatedly, causing excessive CPU usage. This change adds a\n50ms debounce to the refresh logic to prevent tight loops.\n\nBUG\u003db:479495405\nTEST\u003dobserve cpu usage reduction in case of chrome crashes\nChange-Id: Ib690e3dd6dc10ec7c81a90a75ea9c9df972450e0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/7531119\nTested-by: Stefan Reinauer \u003creinauer@google.com\u003e\nReviewed-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Stefan Reinauer \u003creinauer@google.com\u003e\n"
    },
    {
      "commit": "900f2dbdd1dcfb4be43d7b69e855e3e8c1c829e4",
      "tree": "13f9e4760cc36be255144e04dca1f8ea57490b8d",
      "parents": [
        "783677f5c4aed33b2e69a85d56e9df169c6c19b3"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Fri Nov 06 12:00:34 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:28:57 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665883598409338849.\n\nChange-Id: I1c8f2ddb3155ac6f5ea41469246ecfbb68227e18\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8750780\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "783677f5c4aed33b2e69a85d56e9df169c6c19b3",
      "tree": "6ee17ecdae3bd84bcf72a727cca0cb5a98617610",
      "parents": [
        "5fe9ce68a793371dc67edb757feb85295ef8782b"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Nov 06 04:51:08 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 08:18:06 2026"
      },
      "message": "init: Reduce subprocess forks in cgroups.conf cpuset setup\n\nIn cgroups.conf cpuset setup, mkdir -p was called 7 times across two\nloops and chown was called 6 times across the chrome cpusets.\n\nBatch all 7 cpuset directories into a single mkdir -p call, initialize\ncpus and mems in one loop using shell builtins, and batch the 6 chrome\nownership updates into a single chown call. On Octopus (Celeron N4000),\nthis avoids 11 subprocess spawns, cutting the cpuset setup block from\n25.5 ms to 9.7 ms (-62%) and total cgroups.conf execution time from\n80.7 ms to 63.9 ms (-16.8 ms / -21%, mean of 50 runs).\n\nBUG\u003db:237305432\nTEST\u003dcros lint init/upstart/cgroups.conf; verified on Octopus\n\nChange-Id: I23172c118d2c95a880d34dec6fd298815135650e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8752699\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: chromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-runner@chromeos-bot.iam.gserviceaccount.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "5fe9ce68a793371dc67edb757feb85295ef8782b",
      "tree": "53de304fa562c3447d5f1d268144b2eb00f7fb06",
      "parents": [
        "93f9cc36750e08084e463d9f427177ae0bec7c58"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Thu Nov 05 06:33:20 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 04:03:38 2026"
      },
      "message": "init: Reduce subprocess forks in cgroups.conf\n\nIn the cgroups.conf subsystem mount loop, id -u was invoked on every\nsubsystem to check whether optional android-root and user-containers\nusers exist, and separate mkdir -p and chown calls were used for\nsibling paths.\n\nCheck the optional users once before the loop and combine the per-loop\nmkdir -p and freezer.state chown calls. On Octopus (Celeron N4000),\nthis avoids 14 subprocess spawns during early boot and reduces\ncgroups.conf execution time by ~18 ms (-20%, from 92.5 ms to 74.1 ms\nmean; min from 77.4 ms to 60.7 ms over 30 interleaved runs).\n\nBUG\u003db:237305432\nTEST\u003dcros lint init/upstart/cgroups.conf\n\nChange-Id: I28daac635bfdb3efac82c4f43e36917958b11f67\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8642950\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "93f9cc36750e08084e463d9f427177ae0bec7c58",
      "tree": "276169746e6ee90c32fdda4eacccab8421b5c6ad",
      "parents": [
        "91fd5ebf4565bc56e5c45db5568b9eb9e9bace3d"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Nov 06 03:52:18 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 04:03:08 2026"
      },
      "message": "hwsec-optee-plugin: Assign ownership to HW Sec team\n\nReplace chenyian@google.com, who is no longer working on hardware\nsecurity, with chromiumos/owners:v1:/firmware/OWNERS.cros_gsc to match\nother hwsec packages and include recent contributors.\n\nBUG\u003db:580129644\nTEST\u003dNone\n\nChange-Id: I39ec076c1cb5331d721c6249415d4253824f2db7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8752279\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Vadím Sukhomlínov \u003csukhomlinov@google.com\u003e\nCommit-Queue: Yi-An Chen \u003cchenyian@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Yi-An Chen \u003cchenyian@google.com\u003e\n"
    },
    {
      "commit": "91fd5ebf4565bc56e5c45db5568b9eb9e9bace3d",
      "tree": "9918a5f26595313112e83bee361dc2b8083a8c89",
      "parents": [
        "9cc2e1d0bc6b6b9b3b554b8c1a4bd40f4e46aa1c"
      ],
      "author": {
        "name": "Long Cheng",
        "email": "lgcheng@google.com",
        "time": "Fri Nov 06 01:25:09 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 04:00:15 2026"
      },
      "message": "Revert \"arc: keymint: Stop arc-keymintd on stop-arcvm-instance\"\n\nThis reverts commit 093db79314ff0a54b7ed2b454b9036e3107e38f4.\n\nReason for revert: b/582427940\n\nFailure Link: \u003cLINK TO FAILURE\u003e\n\nOriginal change\u0027s description:\n\u003e arc: keymint: Stop arc-keymintd on stop-arcvm-instance\n\u003e\n\u003e arc-keymintd\u0027s Upstart script was previously configured to:\n\u003e   stop on stopping ui or stopping arcvm-pre-login-services\n\u003e\n\u003e Because arcvm-pre-login-services is only active during the pre-login\n\u003e mini-ARCVM phase, arc-keymintd was not signaled to stop when an active\n\u003e post-login ARCVM instance terminated or restarted (e.g. during user\n\u003e session reset or ARC restart). As a result, arc-keymintd persisted as a\n\u003e stale daemon with broken Mojo IPC pipes, rejecting incoming connections\n\u003e or dropping cached enterprise keys upon subsequent ARCVM boots.\n\u003e\n\u003e Update the Upstart stanza to:\n\u003e   stop on stop-arcvm-instance or stopping ui\n\u003e\n\u003e This aligns arc-keymintd with arc-keymasterd and other ARCVM infrastructure\n\u003e jobs, ensuring arc-keymintd is cleanly torn down whenever the ARCVM\n\u003e instance stops.\n\u003e\n\u003e BUG\u003db:409157851\n\u003e TEST\u003demerge-nissa chromeos-base/arc-keymint\n\u003e TEST\u003dcros deploy localhost:2200 chromeos-base/arc-keymint\n\u003e TEST\u003dinitctl status arc-keymintd after stopping ARCVM\n\u003e\n\u003e Change-Id: Iace3da27d3daac532e8ae70860f30ead1b5442a0\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8348486\n\u003e Commit-Queue: Vaibhav Raheja \u003cvraheja@chromium.org\u003e\n\u003e Reviewed-by: Vaibhav Raheja \u003cvraheja@chromium.org\u003e\n\u003e Tested-by: Rajesh S (xWF) \u003crajeshhs@google.com\u003e\n\nBUG\u003db:409157851\nBUG\u003db:582427940\n\nChange-Id: Iae545afe0def99d1b505c5e23b450ac8556b9776\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8749942\nAuto-Submit: Long Cheng \u003clgcheng@google.com\u003e\nCommit-Queue: Long Cheng \u003clgcheng@google.com\u003e\nTested-by: Long Cheng \u003clgcheng@google.com\u003e\nCommit-Queue: Yao Li \u003cyaohuali@google.com\u003e\nReviewed-by: Long Cheng \u003clgcheng@google.com\u003e\nReviewed-by: Yao Li \u003cyaohuali@google.com\u003e\n"
    },
    {
      "commit": "9cc2e1d0bc6b6b9b3b554b8c1a4bd40f4e46aa1c",
      "tree": "364cce332d0cacdc8b11428389ca20425613dd9f",
      "parents": [
        "96121d1ac09661cc52106559959c8e01c1be3360"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:01 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 03:54:15 2026"
      },
      "message": "hwsec-host-utils: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from hwsec-host-utils/\nOWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Ia6385205a2e0e4b885fd383b6cc9d4961abef170\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690447\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Ching-Kang Yen \u003cchingkang@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "96121d1ac09661cc52106559959c8e01c1be3360",
      "tree": "7d6e8095aba144566e637e721cce64eb57e27635",
      "parents": [
        "1f13677bb72a6d0a3072358caaa561ad444125cf"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 03:54:06 2026"
      },
      "message": "hwsec-optee-plugin: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from hwsec-optee-plugin/\nOWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I32b09b694837deb8cf1d0a7cc9924ab5daf83737\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690391\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Yi-An Chen \u003cchenyian@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "1f13677bb72a6d0a3072358caaa561ad444125cf",
      "tree": "4e9b3404ef8aa4d66f76e204f11356a363399fc5",
      "parents": [
        "3374f2624b2247993477781b4183a0b3065d3255"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:09:58 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 03:26:16 2026"
      },
      "message": "diagnostics: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from diagnostics/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Icad5476f69e0606981776727d58ce2311289bfa7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690445\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Byron Lee \u003cbyronlee@chromium.org\u003e\nCommit-Queue: Byron Lee \u003cbyronlee@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "3374f2624b2247993477781b4183a0b3065d3255",
      "tree": "5068f30cc61298b86bcc471cd62df56527b317a7",
      "parents": [
        "289e996f7e5c5168886426c5241b4839eef3da4f"
      ],
      "author": {
        "name": "Jon Murphy",
        "email": "jpmurphy@google.com",
        "time": "Thu Oct 29 16:54:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 02:17:36 2026"
      },
      "message": "crash-reporter: Collect syslog and dmesg for daisydog crashes\n\nAdd a daisydog entry to crash_reporter_logs.conf to collect recent\ndaisydog syslog entries via croslog and tail of dmesg when daisydog\naborts due to repeated keepalive failures.\n\nBUG\u003db:574386480\nTEST\u003dFEATURES\u003dtest emerge-brya crash-reporter\nChange-Id: Id9ca2a5981a5ac97d54b954f090d5f5502968492\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8643613\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Tomasz Figa \u003ctfiga@chromium.org\u003e\nTested-by: Jon Murphy \u003cjpmurphy@google.com\u003e\nCommit-Queue: Jon Murphy \u003cjpmurphy@google.com\u003e\n"
    },
    {
      "commit": "289e996f7e5c5168886426c5241b4839eef3da4f",
      "tree": "8ef093b0ac5b8c5e5878db125feeb581e7c4ad68",
      "parents": [
        "a45bd9808043fec5b3f1237cace5637e82ef1e4c"
      ],
      "author": {
        "name": "Mike Ho",
        "email": "homi@google.com",
        "time": "Wed Nov 04 05:25:55 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 18:33:18 2026"
      },
      "message": "power_manager: Emit ExternalScreenBrightnessFailed on DDC/CI failure\n\nExternal monitors connected over USB-C DisplayPort Alt Mode, HDMI, or\nDisplayLink adapters can lack an exposed DDC/CI I2C bus, have DDC/CI\ndisabled in the monitor OSD, or reject VCP 0x10 luminance reads or\nwrites. Previously, ExternalDisplay and ExternalBacklightController\nsilently dropped those failures without notifying Chrome. Signal\nChrome so it can alert the user when DDC/CI brightness control fails.\n\nEmit a bare ExternalScreenBrightnessFailed D-Bus signal on\nuser-initiated external brightness adjustments when no external DDC/CI\ndisplay is connected outside DisplayWatcher\u0027s hotplug debounce window\n(!HasPendingDisplayChange()), or when every connected external display\nfails its VCP 0x10 read or write in that request cycle. Preserve\nUSER_REQUEST across coalesced SetBrightness() updates and treat clamped\n0%/100% boundaries and cancelling adjustments as non-failures.\n\nTo prevent spurious unsupported toasts and slider disabling in Ash:\n- Suppress failure signal emission while displays are powered down\n  (currently_off_) or during the 2-second post-wake settle window\n  after turning displays back on, allowing monitor scaler MCUs and AUX\n  channels to power up and modeset.\n- Gate failure emission in MaybeFinishUserBrightnessCycle() on\n  !external_displays_.empty() and !HasPendingDisplayChange(),\n  suppressing signals when docks or displays are unplugged mid-cycle.\n- Retry transient I2C/AUX NACKs and timeout errors once in\n  ExternalDisplay with kDdcGetDelay / kDdcSetDelay before treating an\n  operation as failed.\n- Centralize D-Bus failure signal emission in a null-safe helper.\n\nBug: b:572950366\nTest: clang-format --dry-run --Werror on modified files (exit 0)\nTest: power_manager unit tests in CQ+1 dry run (fizz-labstation-cq)\nChange-Id: Id404f5fa7488c99a0734176a8205cebdc30eb399\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8688300\nTested-by: Mike Ho \u003chomi@google.com\u003e\nCommit-Queue: Mike Ho \u003chomi@google.com\u003e\nReviewed-by: Puthikorn Voravootivat \u003cputhik@chromium.org\u003e\n"
    },
    {
      "commit": "a45bd9808043fec5b3f1237cace5637e82ef1e4c",
      "tree": "1c7090d143e57c8483ae2d604ff5f297da54a52a",
      "parents": [
        "f2d60dc5518d20464a348a2527f54b73885cc9aa"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 05 12:00:48 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:38:10 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8665974178172772481.\n\nChange-Id: I83821dcb1b0b89ef19d418cb05bb7ddc7b9f1c91\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8743794\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f2d60dc5518d20464a348a2527f54b73885cc9aa",
      "tree": "ed62d880d1763616cced43935d27b978798e8675",
      "parents": [
        "f0722c54917e955a4e34a00f782d4941c00bad07"
      ],
      "author": {
        "name": "Patryk Duda",
        "email": "patrykd@google.com",
        "time": "Fri Oct 30 09:45:31 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:28:25 2026"
      },
      "message": "biod: Update bio_fw_updater log symlinks safely via SafeFD\n\nbrillo::UpdateLogSymlinks() operates on raw paths and calls\nbase::Move(), which follows symlinks via stat() and can fall back to\nrecursive base::CopyDirectory() without O_NOFOLLOW when running as root\nin a biod-writable directory, allowing arbitrary root file disclosure\nand overwrite.\n\nReplace brillo::UpdateLogSymlinks() with UpdateLogSymlinksSafely(),\noperating relative to the open log directory SafeFD without following\nsymlinks and only rotating bio_fw_updater.LATEST when it is a symlink\nowned by the expected uid. The expected uid is a parameter so that the\nownership check is covered by unit tests without root privileges.\n\nBUG\u003db:537015831\nTEST\u003dFEATURES\u003d\"test\" emerge-${BOARD} biod\n\nChange-Id: Id073068ef333bc6069592bd8f313f440f0a6141c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8680809\nReviewed-by: Tom Hughes \u003ctomhughes@chromium.org\u003e\nCommit-Queue: Patryk Duda \u003cpatrykd@google.com\u003e\nTested-by: Patryk Duda \u003cpatrykd@google.com\u003e\n"
    },
    {
      "commit": "f0722c54917e955a4e34a00f782d4941c00bad07",
      "tree": "851aef5e5b17424609e7a44736766bef58e1422e",
      "parents": [
        "fa0a6d45c051f1aaa17073db55eb12ccd4708cf2"
      ],
      "author": {
        "name": "Patryk Duda",
        "email": "patrykd@google.com",
        "time": "Fri Oct 30 09:44:09 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:28:22 2026"
      },
      "message": "biod: Open bio_fw_updater log file safely with SafeFD\n\nbio_fw_updater runs as root while /var/log/biod is owned by biod.\nPassing log_file_path to logging::InitLogging() opens the target path\nwith fopen() without O_NOFOLLOW, allowing a compromised biod process to\ncreate or append to arbitrary root-owned files via symlinks.\n\nOpen the log directory and timestamped log file via brillo::SafeFD\n(OpenDirectorySafely and OpenFileForWritingSafely), verify that the\nopened descriptor is a regular file with the expected permissions, and\nconvert it to a FILE* stream (SafeFDToScopedFILE) for\nlogging::LoggingSettings::log_file. The helpers live in update_utils so\nthat they are covered by unit tests.\n\nBUG\u003db:537015831\nTEST\u003dFEATURES\u003d\"test\" emerge-${BOARD} biod\n\nChange-Id: I169597714e9f3b4e4bd429a145f8ce68acc31ef9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8680808\nTested-by: Patryk Duda \u003cpatrykd@google.com\u003e\nReviewed-by: Tom Hughes \u003ctomhughes@chromium.org\u003e\nCommit-Queue: Patryk Duda \u003cpatrykd@google.com\u003e\n"
    },
    {
      "commit": "fa0a6d45c051f1aaa17073db55eb12ccd4708cf2",
      "tree": "f5d1bfec53bb92d79eb0b6fb0ee4aff11b72438a",
      "parents": [
        "bb1fcedb4cf211737cf2abcfb631b9ef446d975e"
      ],
      "author": {
        "name": "Patryk Duda",
        "email": "patrykd@google.com",
        "time": "Fri Oct 30 09:56:48 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:28:19 2026"
      },
      "message": "biod: Fall back to syslog if LogSetupDirectory fails in bio_fw_updater\n\nPreviously, bio_fw_updater only fell back to syslog when the log\ndirectory did not exist. It ignored logging::InitLogging() failures\nwhen the log file could not be opened and logged the fallback error\nbefore initializing brillo::InitLog(), so the error never reached\nsyslog. It also updated bio_fw_updater.LATEST before the log file was\ncreated, leaving a dangling symlink when InitLogging() failed.\n\nFall back to syslog whenever the directory is missing or file logging\ninitialization fails, initialize brillo::InitLog() before logging the\nfallback error, and update the log symlinks only after file logging is\ninitialized.\n\nNote that the fallback error is now reported through syslog. Since\nstderr is redirected to a file by the boot-update-firmware job and\nbrillo::InitLog() is set up with kLogToStderrIfTty, the message no\nlonger appears in /var/log/bio_fw_updater.out.\n\nBUG\u003db:537015831\nTEST\u003dFEATURES\u003d\"test\" emerge-${BOARD} biod\n\nChange-Id: I37bbde92301e5edfecfb249ed8838a3e4fd679e9\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8680807\nCommit-Queue: Patryk Duda \u003cpatrykd@google.com\u003e\nTested-by: Patryk Duda \u003cpatrykd@google.com\u003e\nReviewed-by: Tom Hughes \u003ctomhughes@chromium.org\u003e\n"
    },
    {
      "commit": "bb1fcedb4cf211737cf2abcfb631b9ef446d975e",
      "tree": "9d0b4ac6fe183e6416b538dcaed886cd9ae9da60",
      "parents": [
        "57f6e9aa68a0a26af34931ff0b722018ff7ba7eb"
      ],
      "author": {
        "name": "Patryk Duda",
        "email": "patrykd@google.com",
        "time": "Fri Oct 30 09:56:17 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 05 14:28:15 2026"
      },
      "message": "biod: Move bio_fw_updater logging setup to update_utils\n\nMove the log directory setup and the syslog fallback from\nbio_fw_updater\u0027s main() into biod::updater::SetupLogging() in\nupdate_utils, which is part of libbiod and linked into biod_test_runner,\nso that upcoming fixes to the logging setup can be unit tested.\n\nNo functional change.\n\nBUG\u003db:537015831\nTEST\u003dCQ\n\nChange-Id: I2cf2c3027e4e015d59abdcc7c40fcd9fb4a5ffb6\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689708\nReviewed-by: Tom Hughes \u003ctomhughes@chromium.org\u003e\nTested-by: Patryk Duda \u003cpatrykd@google.com\u003e\nCommit-Queue: Patryk Duda \u003cpatrykd@google.com\u003e\n"
    },
    {
      "commit": "57f6e9aa68a0a26af34931ff0b722018ff7ba7eb",
      "tree": "dab61139d7e8eb61260bb144bba62592419da19f",
      "parents": [
        "7e558b5ac8cb0bb7745a4568453142ffbf56625f"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Wed Nov 04 06:19:16 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 17:47:17 2026"
      },
      "message": "debugd: Use z- for /sys/kernel/tracing entries in tmpfiles.d\n\nPreviously, debugd\u0027s tmpfiles.d configs used strict \u0027z\u0027 entries for\n/sys/kernel/tracing and /sys/kernel/tracing/instances/drm paths. When\ntracing nodes or the drm trace instance were not yet initialized during\nearly boot, the Upstart tmpfiles stanza failed with exit status 73 and\nleft debugd in stop/waiting before pre-start ran.\n\nPrefix the /sys/kernel/tracing entries in both debugd.conf and\ndebugd-dev.conf with \u0027z-\u0027 so missing tracing nodes are ignored while\nrequired /run directories remain strictly checked, and drop the\npre-start workaround in share/debugd.conf.\n\nBUG\u003db:580639447, b:580920563\nTEST\u003dcros lint debugd/share/debugd.conf debugd/tmpfiles.d/debugd.conf debugd/tmpfiles.d/on-demand/debugd-dev.conf\n\nChange-Id: I98a95bb35c6d979dbf25148969ccb2c761bfac1c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8722312\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nAuto-Submit: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\n"
    },
    {
      "commit": "7e558b5ac8cb0bb7745a4568453142ffbf56625f",
      "tree": "3703588d9adb863c36685647364f3f2fd298dc06",
      "parents": [
        "8da959569fed734e033faf1ecf9815f501e452eb"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 17:16:53 2026"
      },
      "message": "hwsec-test-utils: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from hwsec-test-utils/\nOWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I31405eb35ff174889cb3a604c31be4db42c4315c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690392\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Jett Rink \u003cjettrink@google.com\u003e\nCommit-Queue: Jett Rink \u003cjettrink@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "8da959569fed734e033faf1ecf9815f501e452eb",
      "tree": "4d84e2622edd126e0846eaf1b74d8db8625ddf6f",
      "parents": [
        "73489806c5069f9c412df79c10e7deea234de036"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Wed Nov 04 12:00:49 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 14:45:53 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8666064785596633201.\n\nChange-Id: Ia90f0543be2a8ff66ecde41a2d4bbf7f6d36481c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8725308\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "73489806c5069f9c412df79c10e7deea234de036",
      "tree": "98e80f3975f63af41ff407f9736e980859584801",
      "parents": [
        "5102cba3820dcd00921b22ce8ffd68091987ee86"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Wed Nov 04 04:55:37 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 12:29:35 2026"
      },
      "message": "init: boot-splash: Remove bogus export fork stanza\n\nCommit eaebb1bab79a (\"init: Execute frecon as user:group root:frecon\")\nadded \"export fork\" to boot-splash.conf as a typo for \"expect fork\".\nBecause \"export fork\" in Upstart exports an unset environment variable\nnamed \"fork\" to job events rather than enabling fork tracking, it was\na no-op.\n\nRemove the line rather than changing it to \"expect fork\": downstream\njobs (such as boot-services and boot-alert-ready) start on \"stopped\nboot-splash\", so boot-splash is intended to exit once frecon --daemon\nhas been launched rather than tracking the long-lived frecon daemon\nprocess.\n\nBUG\u003db:237305432\nTEST\u003dcros lint init/upstart/boot-splash.conf\n\nChange-Id: I2b76924305085ae920b1eb0fe53defabc8728ef0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8723029\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "5102cba3820dcd00921b22ce8ffd68091987ee86",
      "tree": "eb3df7b5ab62d471c64541675bee40d0cd8b6bb0",
      "parents": [
        "34c9e7d78584ef5f835471f74562fef274ad0c63"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 02 06:34:58 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 11:30:28 2026"
      },
      "message": "tpm2-simulator: Drop `-o sync` from NVChip ext4 loopback mount\n\nMounting the `NVChip` ext4 loopback image with `-o loop,sync` forced a\nsynchronous ext4 journal and loopback flush on every 4-byte flash word\nwrite in `ti50-emulator`. Under concurrent stateful partition I/O on\n`betty`, `TPM2_CC_HIERARCHY_CHANGE_AUTH` (`ChangeOwnerPassword`) stalled\npast the 2000ms kernel `TPM2_DURATION_LONG` timeout (`-ETIME`), causing\n`trunksd` to self-restart and failing post-test TPM checks.\n\nMount `NVChip` with `-o loop` instead now that `ti50-emulator` flushes\nbacking flash bank files once per flash operation via `fdatasync()`.\n\nBUG\u003db:553426317, b:580727950\nTEST\u003dBuild tpm2-simulator for betty\nTAG\u003dagy\nCONV\u003d3287991b-d9c4-4bf0-896b-0846c3861180\n\nCq-Depend: chrome-internal:9992175\nChange-Id: I3c4cbf7860255367d93dee377d61e8c98d8969db\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8702775\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nReviewed-by: Allen Webb \u003callenwebb@google.com\u003e\n"
    },
    {
      "commit": "34c9e7d78584ef5f835471f74562fef274ad0c63",
      "tree": "8682822fe7ac8a7b9ddaf490c85939f46de67dd6",
      "parents": [
        "46ea709e043de5d8b515784831e8c2ba5ec8e0c6"
      ],
      "author": {
        "name": "Jon Murphy",
        "email": "jpmurphy@google.com",
        "time": "Mon Oct 19 03:23:13 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 09:35:21 2026"
      },
      "message": "camera: usb: Release V4L2 buffers on StreamOn() failure\n\nIn V4L2CameraDevice::StreamOn(), VIDIOC_REQBUFS with count \u003e 0 allocates\nbuffers in the kernel driver\u0027s vb2_queue (q-\u003enum_buffers \u003d 4) and\nresizes buffers_at_client_ before VIDIOC_EXPBUF, EnqueueBuffer()\n(VIDIOC_QBUF), and StartStreaming() (VIDIOC_STREAMON) execute. However,\nstream_on_ is only set to true at the end of StreamOn().\n\nIf VIDIOC_EXPBUF, EnqueueBuffer(), or StartStreaming() fails, StreamOn()\nreturns early with stream_on_ \u003d\u003d false while leaving the kernel\nvb2_queue buffers allocated. When the caller invokes StreamOff() during\nerror cleanup, V4L2CameraDevice::StreamOff() returns early on\n!stream_on_ without calling VIDIOC_REQBUFS(count \u003d 0). On every\nsubsequent StreamOn() retry, the kernel UVC driver (uvc_ioctl_s_fmt() in\ndrivers/media/usb/uvc/uvc_v4l2.c) sees vb2_is_busy() (q-\u003enum_buffers \u003e\n0) and rejects VIDIOC_S_FMT with EBUSY (16) (\"Unable to S_FMT: Device or\nresource busy (16)\").\n\nFactor out V4L2CameraDevice::ReleaseBuffers() (which calls\nVIDIOC_REQBUFS with count \u003d 0 and clears buffers_at_client_) and arm a\nbase::ScopedClosureRunner in StreamOn() immediately after VIDIOC_REQBUFS\nsucceeds. Because release_buffers is declared before temp_fds, C++\nreverse destruction order ensures all exported DMABUF file descriptors\nin temp_fds are closed before ReleaseBuffers() frees the kernel V4L2\nbuffers on error exit. Also stage buffer_sizes into temp_buffer_sizes so\ncaller output vectors are only populated once StreamOn() succeeds.\n\nBUG\u003db:575228867\nTEST\u003dCQ (cros-camera-hal-usb unit tests)\nTEST\u003dVerified with out-of-tree standalone gtest harness (attached to\n     b/575228867) wrapping ioctl() against the Linux uvcvideo +\n     videobuf2 queue state machine:\n     - Unpatched V4L2CameraDevice::StreamOn() leaves q-\u003enum_buffers \u003d 4\n       after a transient VIDIOC_STREAMON (-EIO) or VIDIOC_EXPBUF\n       (-ENOMEM) failure, causing subsequent StreamOn() calls to fail in\n       VIDIOC_S_FMT with EBUSY (16).\n     - Patched V4L2CameraDevice::StreamOn() calls VIDIOC_REQBUFS(0) on\n       failure, freeing q-\u003enum_buffers \u003d 0 so the next StreamOn()\n       succeeds.\n\nChange-Id: I0d61ad3181efbdc3b74c88dded305191d5bde0c2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8609170\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nReviewed-by: Allen Webb \u003callenwebb@google.com\u003e\nReviewed-by: XING-GU CHEN \u003cxinggu@google.com\u003e\nTested-by: Jon Murphy \u003cjpmurphy@google.com\u003e\nCommit-Queue: Chu-Hsuan Yang \u003cchuhsuan@chromium.org\u003e\nReviewed-by: Kyle Williams \u003ckdgwill@chromium.org\u003e\n"
    },
    {
      "commit": "46ea709e043de5d8b515784831e8c2ba5ec8e0c6",
      "tree": "c73e58bb75415a527deb6026f804f811349d87e8",
      "parents": [
        "6478a57e7f7f0a03ac6593101eb0339d9f2d6895"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 23 13:08:02 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 06:28:48 2026"
      },
      "message": "camera: Lazily initialize root_gpu_resources_ when opening a camera device\n\nInitializing root_gpu_resources_ starts RootGpuResourcesThread, creates\na surfaceless EGL context (loading Mesa\u0027s libgallium_dri.so and spawning\n5 Mesa worker threads), and compiles 11 GLSL shaders for\nGpuImageProcessor, consuming ~16.6 MiB PSS in cros_camera_service at\nboot even when no camera is ever opened.\n\nSince root_gpu_resources_ is only used in\nCameraHalAdapter::OpenDeviceImpl(), defer its initialization until the\nfirst time a camera device is opened:\n- Memory on Octopus at boot: cros_camera_service PSS drops from\n  25.4 MiB to 8.4 MiB (-16.6 MiB PSS).\n- First camera open latency on Octopus: ~90-95 ms. Subsequent camera\n  opens reuse root_gpu_resources_.\n\nBUG\u003db:237305432\nTEST\u003dFEATURES\u003d\"test\" emerge-octopus chromeos-base/cros-camera\nChange-Id: I920a73b5895f71dfc794589916575b1c3b1ed39e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8643810\nReviewed-by: kamesan \u003ckamesan@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "6478a57e7f7f0a03ac6593101eb0339d9f2d6895",
      "tree": "39f2a6cb015147cf1f39e3280a2f8741dcf7567d",
      "parents": [
        "ee998a80d07ae9cc0b8215e1460824bf51046458"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 02 07:32:49 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 05:36:35 2026"
      },
      "message": "arc: vm: mojo_proxy: Prevent SIGPIPE on writes to closed peers\n\nDuring ARCVM CTS tests (such as tast.arc.CtsKeystoreAttestation), when a\nlazy AIDL service in the guest (e.g. vendor.drm-widevine-hal) exited\nafter becoming idle, its Mojo socket closed while mojo_proxy still had\npending writes. Calling write(2) on the closed peer raised SIGPIPE\n(signal 13) and killed the proxy before write could return EPIPE to\nerror_handler_.\n\nIgnore SIGPIPE in server_proxy_main so writes on closed sockets and\npipes cleanly return EPIPE to the error handler without crashing.\nThe guest-side arc-mojo-proxy counterpart is in ag/43441606.\n\nBUG\u003db:322407756, b:573835258, b:578741183\nTEST\u003dmojo_proxy_test\n\nChange-Id: I57530082b75596e8bb34b1d969e00bff516a09a7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8627248\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nAuto-Submit: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\n"
    },
    {
      "commit": "ee998a80d07ae9cc0b8215e1460824bf51046458",
      "tree": "8a477634907d27ebd8f5a6a3499228f76fd8ad4d",
      "parents": [
        "a367aecaa5a31ebe0ee53944298e5c302e14b195"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 02 17:31:09 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 04 04:40:05 2026"
      },
      "message": "tpm2-simulator: Wait for simulator processes in post-stop\n\nPreviously, `post-stop` killed `tpm2-simulator` processes without\n`|| true` (aborting before `sync` under `sh -e` if a PID exited between\n`pgrep` and `kill`) or waiting for exit. After crrev.com/i/9942069\n(67f26ab899, R159-16872.0.0) replaced `ti50-emulator`\u0027s immediate\n`exit(0)` on SIGTERM with a deferred flash flush (up to 1 s), processes\nholding `CLONE_NEWNS` outlived `stop`, unmounting `NVChip` (`loop1`)\nwhile callers like `hwsec.CrossVersionChromeLogin.*` archived it.\n\nAdd `|| true` and wait for exit before `sync` (normally \u003c\u003d 1 s, ~0 s\nwith companion fix crrev.com/i/10044035, up to 6 s worst-case with a\n5 s SIGKILL fallback).\n\nBUG\u003db:580937362, b:566229859\nTEST\u003dVerified in CQ tast_vm-hwsec-cq (b/8666219631189135457) that\n     `EXT4-fs (loop1): unmounting filesystem` is logged before\n     `stop tpm2-simulator` returns to `crossVersionBackup`\n\nChange-Id: I2af4616d39b4dd237da0fe71183be4a58b8f8363\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8706274\nAuto-Submit: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nReviewed-by: Vadím Sukhomlínov \u003csukhomlinov@google.com\u003e\n"
    },
    {
      "commit": "a367aecaa5a31ebe0ee53944298e5c302e14b195",
      "tree": "76ee04511a8e6a8bbaede754e7b6a4b1349d382c",
      "parents": [
        "9fa56dbfc690bfaa3c59d8599f025deed21ad105"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:00 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 19:07:21 2026"
      },
      "message": "flex_id: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from flex_id/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I3d612fd6198bfb5cd0d65eb1a5101ed84da474d2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690389\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Justin Ouellette \u003cjustinoue@google.com\u003e\nReviewed-by: Justin Ouellette \u003cjustinoue@google.com\u003e\n"
    },
    {
      "commit": "9fa56dbfc690bfaa3c59d8599f025deed21ad105",
      "tree": "e617f3cade4dfa492ef73bfb7f7813256f0f6c64",
      "parents": [
        "9496eed31581d5bf01bd488d12040630f91b6808"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 03 12:00:35 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 14:24:22 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8666155388824139057.\n\nChange-Id: Id44c03d2e5a56750c9831b56353a71774669e94c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8714800\nCommit-Queue: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9496eed31581d5bf01bd488d12040630f91b6808",
      "tree": "9052161d6bdb7086e4c61ff6b59ac6e9458628c0",
      "parents": [
        "7527b72ce4411484bd59ea00603dbc75a5f40952"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:09:40 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 10:03:01 2026"
      },
      "message": "avtest_label_detect: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from avtest_label_detect/\nOWNERS files, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I134e0ad691ff1918e9e7cb8a4cb798a80ab887e3\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689506\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Hirokazu Honda \u003chiroh@chromium.org\u003e\nReviewed-by: Hirokazu Honda \u003chiroh@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Hirokazu Honda \u003chiroh@chromium.org\u003e\n"
    },
    {
      "commit": "7527b72ce4411484bd59ea00603dbc75a5f40952",
      "tree": "5ba01b8bb126924ed388770b670089f5e86c758b",
      "parents": [
        "0f2014a3989f115c4abb56f11e0f8b57af495051"
      ],
      "author": {
        "name": "Chu-Hsuan Yang",
        "email": "chuhsuan@google.com",
        "time": "Thu Oct 29 13:13:56 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 07:09:22 2026"
      },
      "message": "camera: diagnostics: Fix integer overflow and session poisoning\n\nWiden Size::area() and SupportedFormat::area() from uint32_t to uint64_t\nto prevent 32-bit multiplication wraparound when validating stream and\nframe dimensions (such as 151358x113518). Use base::CheckedNumeric\u003cuint32_t\u003e\nwhen computing Y and NV12 buffer byte sizes across\nDiagnosticsStreamManipulator, CameraDiagnosticsClientImpl,\nCameraDiagnosticsSession, DirtyLensAnalyzer, and PrivacyShutterAnalyzer,\nand verify shared memory buffer sizes before mapping or scaling with\nlibyuv::NV12Scale().\n\nAdditionally, filter candidate streams in DiagnosticsStreamManipulator\nagainst ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS and return a\nboolean from CameraDiagnosticsClient::AddCameraSession() so secondary\ncamera sessions cannot poison the active session size or tear down an\nin-progress diagnostics session.\n\nBUG\u003db:537016211\nTEST\u003dFEATURES\u003dtest emerge-betty chromeos-base/cros-camera-libs chromeos-base/cros-camera-diagnostics\n\nChange-Id: I78dd7c3c6e6fd87e486ff2c45ce07ee0c8f28099\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8680245\nCommit-Queue: kamesan \u003ckamesan@chromium.org\u003e\nReviewed-by: kamesan \u003ckamesan@chromium.org\u003e\nTested-by: Chu-Hsuan Yang \u003cchuhsuan@chromium.org\u003e\n"
    },
    {
      "commit": "0f2014a3989f115c4abb56f11e0f8b57af495051",
      "tree": "53ca3a840ff67baaa287ef3b7d58f96c90adaf51",
      "parents": [
        "8e3962c6ed8efe21318f60896506b210d27df045"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:09:40 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 03:05:59 2026"
      },
      "message": "attestation: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from attestation/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I3357df8ffdfac0382e41c9673740b3a4d350381b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689406\nReviewed-by: Ching-Kang Yen \u003cchingkang@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Ching-Kang Yen \u003cchingkang@chromium.org\u003e\n"
    },
    {
      "commit": "8e3962c6ed8efe21318f60896506b210d27df045",
      "tree": "979477822251db915d0962b965fec5d47fa1826a",
      "parents": [
        "d1b2e2c2f86f5bbf00cecd4fc1cb1b1edfbb4a70"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:18:23 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 03 01:04:18 2026"
      },
      "message": "arc: Update OWNERS to match active Gerrit accounts\n\nUpdate @google.com and @chromium.org to match their active Gerrit\naccounts for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: Ic035ffc33688b69dcc9f3e7d5745ce40c1e377f0\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690385\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Vaibhav Raheja \u003cvraheja@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "d1b2e2c2f86f5bbf00cecd4fc1cb1b1edfbb4a70",
      "tree": "62074b18210c2af9e210db132d366d386cf7dead",
      "parents": [
        "0cd83b04a1b3fa779a991b38bcb155d2454aba0c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Oct 30 07:09:13 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 23:28:02 2026"
      },
      "message": "permission_broker: restrict port forwarding to guest IPv4 prefixes\n\nTighten PortTracker::ValidatePortRule destination IPv4 validation from\n100.115.92.0/23 to the two prefixes allocated by patchpanel to guest OSs\nand containers (100.115.92.0/25 and 100.115.92.192/26). This excludes\nthe 100.115.92.128/26 subnet used by patchpanel for host network\nnamespaces (GuestType::kNetns) as well as the removed 100.115.93.0/24\nParallels VM subnet.\n\nBUG\u003db:516661431\nTEST\u003dFEATURES\u003dtest emerge-$BOARD permission_broker\n\nChange-Id: I54b00b8e877450ea7fd58992ea74bd9d22ebce5e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689545\nAuto-Submit: Hugo Benichi \u003chugobenichi@google.com\u003e\nCommit-Queue: Eric Caruso \u003cejcaruso@chromium.org\u003e\nReviewed-by: Eric Caruso \u003cejcaruso@chromium.org\u003e\nReviewed-by: maciek swiech \u003cdrmasquatch@google.com\u003e\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\nReviewed-by: Jason Iman \u003cjasongustaman@chromium.org\u003e\n"
    },
    {
      "commit": "0cd83b04a1b3fa779a991b38bcb155d2454aba0c",
      "tree": "b80ea37d1a5690dd72c4a581f5408f82ea00707e",
      "parents": [
        "6de36e345e061383c640b950a8e187a1f3651a3c"
      ],
      "author": {
        "name": "yoshiki iguchi",
        "email": "yoshiki@google.com",
        "time": "Mon Nov 02 16:32:09 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 21:21:28 2026"
      },
      "message": "debugd: Harden Upstart pre-start and post-start against boot races\n\nPreviously, debugd.conf ran systemd-tmpfiles on debugd-dev.conf under\nset -e without error handling and waited only 15s for\norg.chromium.debugd in post-start. When either step failed during early\nboot on ARM64 boards, Upstart transitioned debugd to stop/waiting\npermanently without respawn.\n\nLog a warning instead of aborting pre-start if optional dev tracing\ntmpfiles fail, and extend the post-start D-Bus wait timeout to 60s.\n\nBUG\u003db:580639447, b:580920563\nTEST\u003dcros lint debugd/share/debugd.conf\n\nChange-Id: I6a387f67ffded2981866893a88f001b6dddbf6fa\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8706293\nAuto-Submit: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nTested-by: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Yoshiki IGUCHI \u003cyoshiki@chromium.org\u003e\nCommit-Queue: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\n"
    },
    {
      "commit": "6de36e345e061383c640b950a8e187a1f3651a3c",
      "tree": "89c53f579433ccb9e1d4500599bbe22370a636f8",
      "parents": [
        "47bce8d11f689e5d6d0ff32bc8bef8cc6de89df1"
      ],
      "author": {
        "name": "Eric Caruso",
        "email": "ejcaruso@chromium.org",
        "time": "Mon Nov 02 19:08:42 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 20:16:08 2026"
      },
      "message": "hermes: update OWNERS\n\npholla@ is no longer with the team. Replace with\nujjwalpande@.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I9d5546d92770443f9c0803c99b2bf2373861eb2b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8702246\nReviewed-by: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\nTested-by: Eric Caruso \u003cejcaruso@chromium.org\u003e\nAuto-Submit: Eric Caruso \u003cejcaruso@chromium.org\u003e\nCommit-Queue: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\n"
    },
    {
      "commit": "47bce8d11f689e5d6d0ff32bc8bef8cc6de89df1",
      "tree": "feff5c0f26dd47dcb10880eebb5fc7628b0a3300",
      "parents": [
        "030bf0197a5f1eec0ad36be223873018bcfdaaaa"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@chromium.org",
        "time": "Tue Oct 27 00:45:46 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 19:35:37 2026"
      },
      "message": "resourced: remove orphaned vm_grpc directory and D-Bus policy rules\n\nDelete the orphaned resourced/vm_grpc/ directory that was left behind\nwhen commit c7bb41594eee (\"resourced: Remove vm_grpc\") removed\nresourced/src/vm_grpc/.\n\nAlso clean up obsolete D-Bus policy permissions in\norg.chromium.ResourceManager.conf:\n- Under \u003cpolicy user\u003d\"resourced\"\u003e: remove permissions for\n  org.chromium.VmConcierge (GetVmInfo) and org.chromium.SessionManager\n  (RetrievePrimarySession), which were only needed by the removed\n  vm_grpc module.\n- Under \u003cpolicy user\u003d\"crosvm\"\u003e: remove permissions for\n  GetForegroundAvailableMemoryKB and GetGameMode, which were only used\n  by vm_concierge for Borealis game mode balloon polling.\n\nBUG\u003db:391178243\nTEST\u003dFEATURES\u003dtest emerge-brya --nodeps resourced\nTAG\u003dagy\nCONV\u003d17ee4327-8ce3-4b79-b270-0cb3451019f2\n\nChange-Id: I4fd0566f15cfa6f2e3f5ea70fd4e2fc6a1cffd6c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8678579\nCommit-Queue: Dmitry Torokhov \u003cdtor@chromium.org\u003e\nTested-by: Dmitry Torokhov \u003cdtor@chromium.org\u003e\nReviewed-by: David Stevens \u003cstevensd@chromium.org\u003e\n"
    },
    {
      "commit": "030bf0197a5f1eec0ad36be223873018bcfdaaaa",
      "tree": "97f28b14f00432173ff60a44fdc7ca8876b8a4da",
      "parents": [
        "04058f1e2178c1d0fd702d3876178860e3cfcb88"
      ],
      "author": {
        "name": "I\u0026I Copybara",
        "email": "cros-reporting-team@google.com",
        "time": "Fri Oct 30 21:13:12 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 16:42:04 2026"
      },
      "message": "missive: Sync pipeline protos from chromium\n\nBUG\u003dnone\nTEST\u003dCQ\n\nDisallow-Recycled-Builds: test-failures\nGitOrigin-RevId: 0cc9a4447f135f29906dee13efedc135a011ecc2\nChange-Id: If55d835ee902859f8c31d4e6cf70c9de40111ec7\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8695823\nCommit-Queue: Shanthanu Bhardwaj \u003cxanth@google.com\u003e\nTested-by: Shanthanu Bhardwaj \u003cxanth@google.com\u003e\nReviewed-by: Shanthanu Bhardwaj \u003cxanth@google.com\u003e\n"
    },
    {
      "commit": "04058f1e2178c1d0fd702d3876178860e3cfcb88",
      "tree": "ae23b32bdb2f179bfa4ca0a4d6cc2eaf0b04fd02",
      "parents": [
        "bdc14ca64f0daf28cdcaad057520ef6736f4bd50"
      ],
      "author": {
        "name": "crosvm-luci-ci-builder",
        "email": "crosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com",
        "time": "Mon Nov 02 12:00:39 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 16:23:59 2026"
      },
      "message": "vm_tools: Uprev baguette_image version\n\nGenerated by https://cr-buildbucket.appspot.com/build/8666245984432069681.\n\nChange-Id: Ic4eb294a5d7ee6471dcbe7d795a38048175b4c19\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8702878\nCommit-Queue: chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com\u003e\nBot-Commit: crosvm LUCI CI \u003ccrosvm-luci-ci-builder@crosvm-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bdc14ca64f0daf28cdcaad057520ef6736f4bd50",
      "tree": "c64b3ef81efcfce13900c3848d3f834ad86bf4f8",
      "parents": [
        "ab4237b5459fdcfaba3b442924dca4c0d0facccd"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jul 13 04:56:26 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 15:33:53 2026"
      },
      "message": "patchpanel: check caller identity of Concierge\n\nBUG\u003db:524048256\nTEST\u003dFEATURES\u003dtest emerge-$BOARD patchpanel\n\nChange-Id: I3a1f98fc9fa19035b664f4f9ee64cc64d150c6c2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8083701\nTested-by: Hugo Benichi \u003chugobenichi@google.com\u003e\nCommit-Queue: chromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com \u003cchromeos-auto-retry@chromeos-bot.iam.gserviceaccount.com\u003e\nReviewed-by: Jason Iman \u003cjasongustaman@chromium.org\u003e\n"
    },
    {
      "commit": "ab4237b5459fdcfaba3b442924dca4c0d0facccd",
      "tree": "3b2c0a15eb6498e2da047da04c510916bca96c08",
      "parents": [
        "feb996ef43167e8809733100e5ea2783628732c1"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:19:11 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 14:51:04 2026"
      },
      "message": "gsclog: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from gsclog/ OWNERS files,\nand delete any OWNERS files that become empty.\n\nUpdate jettrink@chromium.org to jettrink@google.com to match the active\nGerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I3459a92524fb806749c35839d8e0e5201e517852\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690390\nReviewed-by: Jett Rink \u003cjettrink@google.com\u003e\nCommit-Queue: Jett Rink \u003cjettrink@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "feb996ef43167e8809733100e5ea2783628732c1",
      "tree": "583cea2d9dac0f45f5af95aa2ef331338f4c2e0a",
      "parents": [
        "0d7e7e96c84ad7dea56d35018c964c6ebbb684e7"
      ],
      "author": {
        "name": "Hirokazu Honda",
        "email": "hiroh@chromium.org",
        "time": "Wed Oct 28 22:27:01 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 14:46:58 2026"
      },
      "message": "hwsec-optee-ta: Prevent unlimited recursive calls\n\nGetVerifiedCounterData() handles TPM_RC_NV_UNINITIALIZED by calling\nIncreaseVerifiedCounter() and then calling itself again.\nThis allows the initialize-and-retry only once, and fail with\nTEE_ERROR_BAD_STATE if the retried read still reports the space as\nuninitialized.\n\nBUG\u003db:518787695\nTEST\u003dvideo.PlayDRM*_l1\n\nChange-Id: I9ccd1013795ac7b35ec389268c40fe22026b9480\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8678179\nCommit-Queue: Nathan Hebert \u003cnhebert@chromium.org\u003e\nReviewed-by: Nathan Hebert \u003cnhebert@chromium.org\u003e\nAuto-Submit: Hirokazu Honda \u003chiroh@chromium.org\u003e\nTested-by: Hirokazu Honda \u003chiroh@chromium.org\u003e\n"
    },
    {
      "commit": "0d7e7e96c84ad7dea56d35018c964c6ebbb684e7",
      "tree": "8645c59bcfe499018e41c4acdb69a65da21222bd",
      "parents": [
        "a4fc23d954f2c8d8d3444141adcd30a54cc734ed"
      ],
      "author": {
        "name": "Allen Shih",
        "email": "allenshihmc@chromium.org",
        "time": "Mon Nov 02 09:09:06 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 12:17:12 2026"
      },
      "message": "runtime_probe: Fix null deref on invalid input device\n\nWhen `/proc/bus/input/devices` contains an entry with an unexpected\nformat , `InputDeviceImpl::From()` returns `nullptr`.\n`AppendInputDevice()` previously dereferenced `input_device` without a\nnull check, causing a `SIGSEGV` in `InputDeviceImpl::type()`.\n\nTo fix this issue, this CL adds a check for a null `input_device` in\n`AppendInputDevice()` so invalid entries are skipped gracefully.\n\nBUG\u003db:580739975\nTEST\u003dFEATURES\u003dtest emerge-${BOARD} chromeos-base/runtime_probe\n\nChange-Id: Iadc0b9b77fc519c6f2b14887f77a7f4ee3c4d3dc\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8702778\nCommit-Queue: Allen Shih \u003callenshihmc@chromium.org\u003e\nReviewed-by: Yong Hong \u003cyhong@chromium.org\u003e\nTested-by: Allen Shih \u003callenshihmc@chromium.org\u003e\n"
    },
    {
      "commit": "a4fc23d954f2c8d8d3444141adcd30a54cc734ed",
      "tree": "bc6d0dc7c932e6bdfb9062b587a436833bed2e92",
      "parents": [
        "b9978db27e7ce3679113a45b339b89bf795b67c5"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 12:47:16 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 10:32:33 2026"
      },
      "message": "camera: Clean up subdirectory OWNERS files\n\nRemove owners who are no longer on the project (beckerh@, jcliang@,\nshik@, skyostil@, wtlee@) across camera/**/OWNERS:\n\n- Delete subdirectory OWNERS files that become empty or only duplicate\n  kamesan@chromium.org from camera/OWNERS (camera3_test, common,\n  common/jpeg, common/libcamera_connector,\n  common/libcamera_connector_test, diagnostics, hal/usb, hal_adapter)\n  so they inherit directly from camera/OWNERS.\n- Remove shik@chromium.org from camera/app/OWNERS.\n- Remove skyostil@google.com from camera/features/effects/OWNERS, and\n  update jmpollock@google.com to jmpollock@chromium.org to match the\n  active Gerrit account.\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: Iff1b3321bb2b24097333aa7436a055d19f8483bb\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8691886\nReviewed-by: kamesan \u003ckamesan@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: kamesan \u003ckamesan@chromium.org\u003e\n"
    },
    {
      "commit": "b9978db27e7ce3679113a45b339b89bf795b67c5",
      "tree": "e491917333b6bd9681475d5cace718985c949b06",
      "parents": [
        "d3403441f351c9639056d971fd0f3b845d7629cb"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 09:10:01 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 02 08:28:35 2026"
      },
      "message": "hammerd: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from hammerd/ OWNERS\nfiles, and delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I65db813188eabc96e6571cfb99866e022213964f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690446\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nCommit-Queue: Ting Shen \u003cphoenixshen@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Ting Shen \u003cphoenixshen@chromium.org\u003e\n"
    },
    {
      "commit": "d3403441f351c9639056d971fd0f3b845d7629cb",
      "tree": "bb139f0adcf3cfc825f66ebaa096675b92ede8b7",
      "parents": [
        "42784997efcffaf21afae7444f8c14a7f3138428"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Sat Oct 31 09:49:54 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 01 21:07:20 2026"
      },
      "message": "ml_core: Remove owners no longer on the project\n\nRemove OWNERS entries for accounts no longer active on this project.\n\nUpdate @google.com entries to @chromium.org to match their active Gerrit accounts for this Gerrit host.\n\nBUG\u003db:580129644\nChange-Id: I40273deb1ea41ecd588d4e55fae92ed628048043\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8689556\nReviewed-by: Jim Pollock \u003cjmpollock@chromium.org\u003e\nCommit-Queue: Jim Pollock \u003cjmpollock@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "42784997efcffaf21afae7444f8c14a7f3138428",
      "tree": "6ff352d5556ae7ae2387e1056ee2a81b3061437c",
      "parents": [
        "9f61f6558b462140bc1966111f95cddfbd17aaec"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor@chromium.org",
        "time": "Thu Oct 29 00:30:46 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 01 00:34:40 2026"
      },
      "message": "crosh: remove Borealis insert_coin command\n\nBorealis is being deprecated and removed across ChromeOS. Remove the\ninsert_coin command implementation, its registration from crosh, and the\nunused textwrap crate dependency.\n\nBUG\u003db:391178243\nTEST\u003dCQ\nTAG\u003dagy\nCONV\u003d17ee4327-8ce3-4b79-b270-0cb3451019f2\n\nChange-Id: I815e46fc180de32e320c9e6c72a2017b8c56fcd3\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8682668\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Dmitry Torokhov \u003cdtor@chromium.org\u003e\nTested-by: Dmitry Torokhov \u003cdtor@chromium.org\u003e\n"
    },
    {
      "commit": "9f61f6558b462140bc1966111f95cddfbd17aaec",
      "tree": "028e134dda2de401e17f6b8a14ec0503544a0502",
      "parents": [
        "e6f3232021c8a30f650411e386a4f3ea61c0976a"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 23:18:55 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 31 08:31:51 2026"
      },
      "message": "dlp: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from dlp/ OWNERS files,\nand delete any OWNERS files that become empty.\n\nUpdate brinky@chromium.org to brinky@google.com to match the active\nGerrit account for this Gerrit host.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I3109f8bf447d964a7d35a1e78a4f1c0cf445b7ee\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690387\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Sergey Poromov \u003cporomov@chromium.org\u003e\nCommit-Queue: Sergey Poromov \u003cporomov@chromium.org\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\n"
    },
    {
      "commit": "e6f3232021c8a30f650411e386a4f3ea61c0976a",
      "tree": "9b7088c582e1ac7c4d550095fb9f4e879be9e7e3",
      "parents": [
        "ee6c4ec2ccfdbcd7fce540d21e4bfce5f0227e89"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 22:16:59 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 31 08:29:46 2026"
      },
      "message": "init: Remove owners no longer on the project\n\nRemove folks who are no longer on the project from init/ OWNERS files,\nand delete any OWNERS files that become empty.\n\nBUG\u003db:580129644\nTEST\u003dNone\nChange-Id: I8677db3f6204d672d7ce5ba97c75d19a47032ecd\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8690393\nTested-by: Satoru Takabayashi \u003csatorux@google.com\u003e\nAuto-Submit: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\nCommit-Queue: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\n"
    },
    {
      "commit": "ee6c4ec2ccfdbcd7fce540d21e4bfce5f0227e89",
      "tree": "664b8476224b838e9317cd2f51ac69c857cd569d",
      "parents": [
        "e73e24110e8634955699ba560beb0949bb0dd52d"
      ],
      "author": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@google.com",
        "time": "Thu Oct 15 05:25:26 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 31 06:56:28 2026"
      },
      "message": "update_engine: Harden migration checks and dev file:// URLs\n\n1. Replace the duplicate Migrate D-Bus policy rule in UpdateEngine.conf\n   with IsEligibleForMigration so chronos can query migration\n   eligibility over D-Bus, and initialize *out_is_eligible in\n   UpdateAttempter::IsEligibleForMigration().\n2. Enforce IsEligibleForMigration() in UpdateAttempter::CheckForInstall()\n   when migration is requested, and do not override forced_omaha_url_\n   with kOmahaDefaultAUTestURL when migration is true.\n3. Enable LibcurlHttpFetcher::SetCurlOptionsForFile() on official builds\n   when developer features are enabled (AreDevFeaturesEnabled()), and\n   allow InstallAction to fetch directly from a file:/// custom URL when\n   it points to an existing local file on disk.\n\nBUG\u003db:349626232\nTEST\u003dcros_run_unit_tests --packages update_engine\n\nChange-Id: Id231f472a071e338265b4577d3ef55f0ccf2db85\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8576244\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Michal Dubiel \u003cdubielm@google.com\u003e\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\nTested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "e73e24110e8634955699ba560beb0949bb0dd52d",
      "tree": "5ed7ef8a07afb0744a3127fa89096e6aa3c2eecb",
      "parents": [
        "23f007daf4cd57fe5ad7a9cbb4069ab3c5ccb1b1"
      ],
      "author": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@google.com",
        "time": "Thu Oct 15 05:22:52 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 31 06:56:24 2026"
      },
      "message": "update_engine: Protect migrated partitions while pending reboot\n\nOnce a migration completes and update_engine enters UPDATED_NEED_REBOOT\nwith kPrefsUpdateCompletedIsMigration set (IsMigration() \u003d\u003d true), the\ninactive partition layout has already been migrated and vbmeta_a marked\nactive. Allowing CheckForUpdate(), IsRepeatedUpdatesEnabled(),\nResetStatus(), or InvalidateUpdate() before reboot would either\noverwrite the migrated partitions or reset update_engine to IDLE while\nleaving the GPT partition layout modified.\n\nBlock CheckForUpdate(), IsRepeatedUpdatesEnabled(), ResetStatus(), and\nInvalidateUpdate() when IsMigration() is true.\n\nBUG\u003db:349626232\nTEST\u003dcros_run_unit_tests --packages update_engine\n\nChange-Id: I445143c30bd8f7ff9de481391738001b40ccee3b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8576243\nTested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Michal Dubiel \u003cdubielm@google.com\u003e\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "23f007daf4cd57fe5ad7a9cbb4069ab3c5ccb1b1",
      "tree": "fdb41c8eda4e2a39dba30e6034d66864e2a5a788",
      "parents": [
        "943bee666ee134e589ecf91dd087e36ec8d5f483"
      ],
      "author": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@google.com",
        "time": "Thu Oct 15 05:21:56 2026"
      },
      "committer": {
        "name": "CrOS LUCI",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 31 06:56:19 2026"
      },
      "message": "update_engine: Reschedule updates and validate manifest in Install()\n\nWhen UpdateAttempter::Install() returns early due to invalid DLC count,\nmissing inactive slot, or invalid migration manifest, status_ remains\nIDLE while waiting_for_scheduled_check_ is false. Because\nOnUpdateScheduled() asserts CHECK(IsBusyOrUpdateScheduled()) after\ninvoking Install(), an early return in Install() crashes update_engine.\n\nAdd a ScopedClosureRunner in Install() to reset pm_ to\nProcessMode::UPDATE, reset update status, and call ScheduleUpdates() on\nearly return. Also validate the migration DLC manifest (fs-type \u003d\u003d blob,\n_PARTITIONS_ layout, and vbmeta_a partition number) via a shared\nGetMigrationPartitionsLayout() helper in Install() before downloading\nthe payload.\n\nBUG\u003db:349626232\nTEST\u003dcros_run_unit_tests --packages update_engine\n\nChange-Id: I9d68f2014800104008e4756df44b8c7dbbb11829\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/8576242\nTested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nReviewed-by: Michal Dubiel \u003cdubielm@google.com\u003e\nReviewed-by: Sarthak Kukreti \u003csarthakkukreti@google.com\u003e\n"
    }
  ],
  "next": "943bee666ee134e589ecf91dd087e36ec8d5f483"
}
