)]}'
{
  "commit": "8af037fe4cfeb88bbcded3122cec2c5be0b90907",
  "tree": "c88b5196ac5eb2ade7784a54d45684b71c1de65a",
  "parents": [
    "dda860b9c031d6a2768f75e5e622545d41d4b688"
  ],
  "author": {
    "name": "Lukas Tschoke",
    "email": "lukts330@gmail.com",
    "time": "Sat Apr 08 00:11:38 2023 +0200"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Tue Apr 11 13:53:03 2023 +0200"
  },
  "message": "block/vhdx: fix dynamic VHDX BAT corruption\n\nThe corruption occurs when a BAT entry aligned to 4096 bytes is changed.\n\nSpecifically, the corruption occurs during the creation of the LOG Data\nDescriptor. The incorrect behavior involves copying 4088 bytes from the\noriginal 4096 bytes aligned offset to `tmp[8..4096]` and then copying\nthe new value for the first BAT entry to the beginning `tmp[0..8]`.\nThis results in all existing BAT entries inside the 4K region being\nincorrectly moved by 8 bytes and the last entry being lost.\n\nThis bug did not cause noticeable corruption when only sequentially\nwriting once to an empty dynamic VHDX (e.g.\nusing `qemu-img convert -O vhdx -o subformat\u003ddynamic ...`), but it\nstill resulted in invalid values for the (unused) Sector Bitmap BAT\nentries.\n\nImportantly, this corruption would only become noticeable after the\ncorrupted BAT is re-read from the file.\n\nResolves: https://gitlab.com/qemu-project/qemu/-/issues/727\nCc: qemu-stable@nongnu.org\nSigned-off-by: Lukas Tschoke \u003clukts330@gmail.com\u003e\nMessage-Id: \u003c6cfb6d6b-adc5-7772-c8a5-6bae9a0ad668@gmail.com\u003e\nReviewed-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c48cf65d62ee601abc640a00bbe310d8149e6638",
      "old_mode": 33188,
      "old_path": "block/vhdx-log.c",
      "new_id": "38148f107a97a5a9d2439869432ed4ff5237d9f8",
      "new_mode": 33188,
      "new_path": "block/vhdx-log.c"
    }
  ]
}
