)]}'
{
  "commit": "b8f56590bae9621438ecb3f873ed75d5064c92cd",
  "tree": "ce0256f52e93b363117da576cabc66c44c695055",
  "parents": [
    "f4964de1d8ad66eb891967bae47585fa03ba0d32"
  ],
  "author": {
    "name": "Grzegorz Bernacki",
    "email": "bernacki@google.com",
    "time": "Fri Mar 13 12:26:15 2026 +0000"
  },
  "committer": {
    "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Apr 16 11:58:50 2026 -0700"
  },
  "message": "vboot: Explicitly return rollback error from vb2api_load_kernel\n\nPreviously, vb2api_load_kernel() collapsed all kernel loading errors\ninto generic VB2_ERROR_LK_INVALID_KERNEL_FOUND or\nVB2_ERROR_LK_NO_KERNEL_FOUND. This prevented the caller from\nidentifying rollback protection failures.\n\nModify vb2api_load_kernel() to specifically translate\nVB2_ERROR_AVB_ERROR_ROLLBACK_INDEX into a new VB2_ERROR_LK_ROLLBACK\nerror code. This allows the UI layer to display a specific error\nmessage for rollback violations (e.g., \"Outdated recovery image\")\ninstead of a generic failure screen.\n\nBUG\u003db:488131983\nBRANCH\u003dnone\nTEST\u003dVerified that the \"Outdated recovery image\" screen is displayed\n     when a rollback error occurs during recovery.\n\nCq-Depend: chromium:7666120\nChange-Id: I9c0c090730fdad7dd4acc06bd83fb04919c2e1b7\nSigned-off-by: Grzegorz Bernacki \u003cbernacki@google.com\u003e\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/7666079\nReviewed-by: Julius Werner \u003cjwerner@chromium.org\u003e\nReviewed-by: Yu-Ping Wu \u003cyupingso@chromium.org\u003e\nTested-by: Tomasz Michalec \u003ctmichalec@google.com\u003e\nReviewed-by: Konrad Adamczyk \u003ckonrada@google.com\u003e\nCommit-Queue: Tomasz Michalec \u003ctmichalec@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eec806e00215b5b0d8c8cb10421fba0687696c7e",
      "old_mode": 33188,
      "old_path": "firmware/2lib/2load_kernel.c",
      "new_id": "c64f1bf114d2b5718fb0e8a0df316262b01799eb",
      "new_mode": 33188,
      "new_path": "firmware/2lib/2load_kernel.c"
    },
    {
      "type": "modify",
      "old_id": "7590bf68ddf1a153a34ba53ecfccb70a95986079",
      "old_mode": 33188,
      "old_path": "firmware/2lib/2recovery_reasons.c",
      "new_id": "ce2e92c5817ef4718638098aabdaeeab36def2f2",
      "new_mode": 33188,
      "new_path": "firmware/2lib/2recovery_reasons.c"
    },
    {
      "type": "modify",
      "old_id": "4dd2eaf34ba25692d1459aa99ea88eca0ad0d8e8",
      "old_mode": 33188,
      "old_path": "firmware/2lib/include/2recovery_reasons.h",
      "new_id": "fb6c0dd4869da0c2d6cc1a18a17e8d8b5c2c2de7",
      "new_mode": 33188,
      "new_path": "firmware/2lib/include/2recovery_reasons.h"
    },
    {
      "type": "modify",
      "old_id": "ec8a43607649278112c32f13785308c3b519e043",
      "old_mode": 33188,
      "old_path": "firmware/2lib/include/2return_codes.h",
      "new_id": "c35745cef5980f03d3548917a62361d588c8746e",
      "new_mode": 33188,
      "new_path": "firmware/2lib/include/2return_codes.h"
    },
    {
      "type": "modify",
      "old_id": "2e7a67f1e269034a95b65dbe9e466649c708f5be",
      "old_mode": 33188,
      "old_path": "tests/vb2_load_android_tests.c",
      "new_id": "2e669223ec9f4a6426b371ccea15fc103f76d93b",
      "new_mode": 33188,
      "new_path": "tests/vb2_load_android_tests.c"
    }
  ]
}
