)]}'
{
  "commit": "4b00855f0ee2e2eee8fd2500ffef27c108be6dc3",
  "tree": "4203dd2a9b8ab45760085e60bf22674fa70dfd88",
  "parents": [
    "f037f5b4b91a32bf8f1ec2c8ff92d2d14242adb4"
  ],
  "author": {
    "name": "Alexandra Diupina",
    "email": "adiupina@astralinux.ru",
    "time": "Sun Apr 28 21:11:31 2024 +0300"
  },
  "committer": {
    "name": "Peter Maydell",
    "email": "peter.maydell@linaro.org",
    "time": "Tue Apr 30 15:39:54 2024 +0100"
  },
  "message": "hw/dmax/xlnx_dpdma: fix handling of address_extension descriptor fields\n\nThe DMA descriptor structures for this device have\na set of \"address extension\" fields which extend the 32\nbit source addresses with an extra 16 bits to give a\n48 bit address:\n https://docs.amd.com/r/en-US/ug1085-zynq-ultrascale-trm/ADDR_EXT-Field\n\nHowever, we misimplemented this address extension in several ways:\n * we only extracted 12 bits of the extension fields, not 16\n * we didn\u0027t shift the extension field up far enough\n * we accidentally did the shift as 32-bit arithmetic, which\n   meant that we would have an overflow instead of setting\n   bits [47:32] of the resulting 64-bit address\n\nAdd a type cast and use extract64() instead of extract32()\nto avoid integer overflow on addition. Fix bit fields\nextraction according to documentation.\n\nFound by Linux Verification Center (linuxtesting.org) with SVACE.\n\nCc: qemu-stable@nongnu.org\nFixes: d3c6369a96 (\"introduce xlnx-dpdma\")\nSigned-off-by: Alexandra Diupina \u003cadiupina@astralinux.ru\u003e\nMessage-id: 20240428181131.23801-1-adiupina@astralinux.ru\n[PMM: adjusted commit message]\nReviewed-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\nSigned-off-by: Peter Maydell \u003cpeter.maydell@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1f5cd64ed10230b3fbaad97951104956a054d0e9",
      "old_mode": 33188,
      "old_path": "hw/dma/xlnx_dpdma.c",
      "new_id": "530717d188537cd5a4f089bb09f6447d470313ca",
      "new_mode": 33188,
      "new_path": "hw/dma/xlnx_dpdma.c"
    }
  ]
}
