hw/virtio: Remove NULL check in virtio_free_region_cache()
authorPhilippe Mathieu-Daudé <philmd@redhat.com>
Thu, 26 Aug 2021 17:26:57 +0000 (19:26 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Sat, 4 Sep 2021 21:34:05 +0000 (17:34 -0400)
virtio_free_region_cache() is called within call_rcu(),
always with a non-NULL argument. Ensure new code keep it
that way by replacing the NULL check by an assertion.
Add a comment this function is called within call_rcu().

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210826172658.2116840-3-philmd@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/virtio/virtio.c

index a5214bca6121e4ba5190b99443075166acaf8b0f..3a1f6c520cb573b1cbde45917b7b7efdfeca713b 100644 (file)
@@ -133,12 +133,10 @@ struct VirtQueue
     QLIST_ENTRY(VirtQueue) node;
 };
 
+/* Called within call_rcu().  */
 static void virtio_free_region_cache(VRingMemoryRegionCaches *caches)
 {
-    if (!caches) {
-        return;
-    }
-
+    assert(caches != NULL);
     address_space_cache_destroy(&caches->desc);
     address_space_cache_destroy(&caches->avail);
     address_space_cache_destroy(&caches->used);