@samitouri / QOSamiQemu / commits / d915f9d607

hw/hyperv/vmbus: Use QEMU_LOCK_GUARD()

Replace manual qemu_mutex_(un)lock() calls with QEMU_LOCK_GUARD() to remove 'goto out' code Signed-off-by: Evgeny Kolmakov <randomjack94dev@gmail.com> Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>

Evgeny Kolmakov committed Jul 9, 2026 at 23:27 UTC d915f9d607880e1b05293f098a8988be7a496abc
1 file changed +5 -11
hw/hyperv/vmbus.c
+5 -11
@@ -1525,14 +1525,12 @@ static VMBusChannel *find_channel(VMBus *vmbus, uint32_t id)
1525 static int enqueue_incoming_message(VMBus *vmbus,
1526 const struct hyperv_post_message_input *msg)
1527 {
1528 - int ret = 0;
1528 uint8_t idx, prev_size;
1529
1531 - qemu_mutex_lock(&vmbus->rx_queue_lock);
1530 + QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
1531
1532 if (vmbus->rx_queue_size == HV_MSG_QUEUE_LEN) {
1534 - ret = -ENOBUFS;
1535 - goto out;
1533 + return -ENOBUFS;
1534 }
1535
1536 prev_size = vmbus->rx_queue_size;
@@ -1544,9 +1542,7 @@ static int enqueue_incoming_message(VMBus *vmbus,
1542 if (!prev_size) {
1543 vmbus_resched(vmbus);
1544 }
1547 -out:
1548 - qemu_mutex_unlock(&vmbus->rx_queue_lock);
1549 - return ret;
1545 + return 0;
1546 }
1547
1548 static uint16_t vmbus_recv_message(const struct hyperv_post_message_input *msg,
@@ -2097,10 +2093,10 @@ static void process_message(VMBus *vmbus)
2093 void *msgdata;
2094 uint32_t msglen;
2095
2100 - qemu_mutex_lock(&vmbus->rx_queue_lock);
2096 + QEMU_LOCK_GUARD(&vmbus->rx_queue_lock);
2097
2098 if (!vmbus->rx_queue_size) {
2103 - goto unlock;
2099 + return;
2100 }
2101
2102 hv_msg = &vmbus->rx_queue[vmbus->rx_queue_head];
@@ -2149,8 +2145,6 @@ out:
2145 vmbus->rx_queue_head %= HV_MSG_QUEUE_LEN;
2146
2147 vmbus_resched(vmbus);
2152 -unlock:
2153 - qemu_mutex_unlock(&vmbus->rx_queue_lock);
2148 }
2149
2150 static const struct {