)]}'
{
  "commit": "7b60a487528a2b6dfa43da179f9ae9ef7ce34e76",
  "tree": "563e4ed718b82a369bd2fdf4709e350ca3be246e",
  "parents": [
    "f48b01cb016921cf0f58bd6be676c17042923719"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Nov 04 20:28:09 2022 +0000"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Fri Nov 04 20:28:09 2022 +0000"
  },
  "message": "[efi] Clear DMA-coherent buffers before mapping\n\nThe DMA mapping is performed implicitly as part of the call to\ndma_alloc().  The current implementation creates the IOMMU mapping for\nthe allocated and potentially uninitialised data before returning to\nthe caller (which will immediately zero out or otherwise initialise\nthe buffer).  This leaves a small window within which a malicious PCI\ndevice could potentially attempt to retrieve firmware-owned secrets\npresent in the uninitialised buffer.  (Note that the hypothetically\nmalicious PCI device has no viable way to know the address of the\nbuffer from which to attempt a DMA read, rendering the attack\nextremely implausible.)\n\nGuard against any such hypothetical attacks by zeroing out the\nallocated buffer prior to creating the coherent DMA mapping.\n\nSuggested-by: Mateusz Siwiec \u003cMateusz.Siwiec@ioactive.com\u003e\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "19e34170765f8047dc0ddfa9de3138de4fc7c57d",
      "old_mode": 33188,
      "old_path": "src/interface/efi/efi_pci.c",
      "new_id": "4796201e92be6b942b23d8ba8575ff41f68d1849",
      "new_mode": 33188,
      "new_path": "src/interface/efi/efi_pci.c"
    }
  ]
}
