)]}'
{
  "commit": "295f3bed20bc8f7c53a2adeef767fe901afe4dd3",
  "tree": "2c3c3150dcffe92103fbba2b1b8d9b7d0fe48396",
  "parents": [
    "1c54e7e8a454f80a77350b52d21ec5ce55ca667b"
  ],
  "author": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Thu Apr 23 23:03:26 2026 +0100"
  },
  "committer": {
    "name": "Michael Brown",
    "email": "mcb30@ipxe.org",
    "time": "Thu Apr 23 23:10:24 2026 +0100"
  },
  "message": "[virtio] Ensure that device is closed before unmapping regions\n\nCommit 988243c (\"[virtio] Add virtio-net 1.0 support\") erroneously\nplaced the code to unmap the device regions before the code to\nunregister the network device.  In the common case that the network\ndevice is still open at the time that we shut down to boot the OS,\nthis results in the regions being accessed after having been unmapped.\n\nFor 32-bit BIOS or for UEFI with no IOMMU enabled, the iounmap()\noperation is a no-op and so the driver still happens to work despite\nthe ordering bug.  For 64-bit BIOS or for UEFI with an IOMMU enabled,\nthe iounmap() operation is not a no-op, and the driver will trigger a\npage fault.\n\nFix by moving the call to unregister_netdev() to before the code that\nunmaps the device regions.\n\nSigned-off-by: Michael Brown \u003cmcb30@ipxe.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e4700279887085888db305aaa1e3da8ec45a5682",
      "old_mode": 33188,
      "old_path": "src/drivers/net/virtio-net.c",
      "new_id": "32dad9ac064fd858b14aa2d29d127280dc32ebcc",
      "new_mode": 33188,
      "new_path": "src/drivers/net/virtio-net.c"
    }
  ]
}
