)]}'
{
  "commit": "67550d65b4bfdbcbfee2dae7ae1ebbbccd01dfe5",
  "tree": "7cc442c4e1026ca8b32b25f724eada72f9f96a89",
  "parents": [
    "733a98a552e4bd68932de1f58bd6ea39b57b261c"
  ],
  "author": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Thu Jul 23 07:58:43 2026 -0400"
  },
  "committer": {
    "name": "Michael S. Tsirkin",
    "email": "mst@redhat.com",
    "time": "Mon Jul 27 15:13:20 2026 -0400"
  },
  "message": "virtio-iommu: fix OOM due to unbounded call_rcu\n\nCurrently, within virtio-iommu, handle_command processes the command vq\nwithout any limits on the number of entries processed.\nThis can easily and repeatedly enable/disable multiple memory regions.\nWithin the memory code, this causes an accumulation of an\nunbounded number of RCU-deferred FlatViews - each of these\nis supposed to be freed with call_rcu, but that never happens\nbecause the main thread never returns to the main loop.\n\nGiven FlatView is big, it\u0027s easy to have this balloon out to multiple\nGigabytes of memory.\n\nLimit the loop defer any remaining work to a timer.\n\nResolves: https://gitlab.com/qemu-project/qemu/-/issues/3930\nCc: Eric Auger \u003ceric.auger@redhat.com\u003e\nCc: Jean-Philippe Brucker \u003cjean-philippe@linaro.org\u003e\nReviewed-by: Eric Auger \u003ceric.auger@redhat.com\u003e\nTested-by: Eric Auger \u003ceric.auger@redhat.com\u003e\nReported-by: Jia Jia \u003cphysicalmtea@gmail.com\u003e\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nMessage-ID: \u003ceb46ab360dbe28c29cfa78812a7440dcb7444d59.1784807826.git.mst@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "08f7e8b783b87d0197852b9338c1359ace7de8eb",
      "old_mode": 33188,
      "old_path": "hw/virtio/virtio-iommu.c",
      "new_id": "533bd5073f2398d53228f8e47ff497257b3427d1",
      "new_mode": 33188,
      "new_path": "hw/virtio/virtio-iommu.c"
    },
    {
      "type": "modify",
      "old_id": "3b86050f2cfe4e8d8e0e4634364ab25f1be8753b",
      "old_mode": 33188,
      "old_path": "include/hw/virtio/virtio-iommu.h",
      "new_id": "1f265540ada232adf637bfeea173bf029dab8aa9",
      "new_mode": 33188,
      "new_path": "include/hw/virtio/virtio-iommu.h"
    }
  ]
}
