[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Remove MRSW shared acquire from VifReceiverReturnPacket
- To: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Owen Smith <owen.smith@xxxxxxxxxx>
- Date: Wed, 20 May 2026 14:47:51 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=045TW9Sh+A9M6C/7ANY1rEA5E34dUEF6RWfdSWuVXuo=; b=ealRZxM6WTGO3uaw1sTu+DNITyt4Z1FdlV4reSH3NovNavOM60iCd/8ofGvCpjhwxthzRNbZuDokdk34fiVQ0upgBtzThxSAJ9QQVcNY+082Ej7AGaxnAIq7omdo3dqHX0t6lBIwCtl/nvdYky5G+huX3LEI7c6sbXKdxtEe0fKDSNzdAJxUFy4P9zHR/in9w92IfEJHBn3eSrAME9teTKFghwoJQWDy1Mu6zXzhoXA/+6JuXK7yb4ViSZAgMwod7Psfg74kvLy9Ak2uuKZjb6xqNujDHOHoXjM4sMZEQvo7l7Wsl10WjX5jTfZHKCEEmrWIyao3ck/CQEqI/bi/xA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XxDMGNmNaIfJ7z9NciGKVKCg5eg+dtLoxcg1x9dLhdYabXOAk+DxfOE9VaH0iG7kC/IaA1KKmAC26M7wBm9vSObb1EGFRKprqJDBiqgJ4UF+xkR+oK25V/xXTnESzyF1c9oMqX+4ZozRNl0xb26jhxa22xL+viGNJDUnYmKs3nRYp4QJ+ySTTjBSRFk9i8cJdfsK/lFcdZ6PXYRXsWd3rw9/Ts6fI5//g53S/lVLaofQrH2tBeYwc0aWBTOpBqErDxaqyNPUdo1UzIJwwRbg8mTtjSuy3L8nCtb8Hv9laMgfDEWDwWv2Bn7jZ/A92gZMmAqza51O8Ziw8cuKjc6dVg==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=citrix.com header.i="@citrix.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Delivery-date: Wed, 20 May 2026 14:47:55 +0000
- List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
- Msip_labels:
- Thread-index: AQHc5qpQR1z8gROqh0mbgXiPC/9ew7YXAd6o
- Thread-topic: [PATCH] Remove MRSW shared acquire from VifReceiverReturnPacket
Reviewed-by: Owen Smith <owen.smith@xxxxxxxxxx>
________________________________________
From: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
Sent: 18 May 2026 10:39 AM
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Cc: Tu Dinh; Owen Smith
Subject: [PATCH] Remove MRSW shared acquire from VifReceiverReturnPacket
VifReceiverReturnPacket may be called early/late during the enable/
disable sequence respectively. Notably, this can happen during the
exclusive window of VifEnable/VifDisable, and so acquiring a shared lock
via spinning will cause a deadlock.
As ReceiverReturnPacket is protected by the VIF refcount (and in fact
can be called regardless of enabled/disabled state), remove the MRSW
shared lock requirement from it.
Reported-by: Owen Smith <owen.smith@xxxxxxxxxx>
Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
src/xenvif/vif.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/src/xenvif/vif.c b/src/xenvif/vif.c
index 6782cc7..38b6b71 100644
--- a/src/xenvif/vif.c
+++ b/src/xenvif/vif.c
@@ -565,13 +565,8 @@ VifReceiverReturnPacket(
{
PXENVIF_VIF_CONTEXT Context = Interface->Context;
- // Called from MINIPORT_RETURN_NET_BUFFER_LISTS
- SpinAcquireMrswLockShared(&Context->Lock);
-
ReceiverReturnPacket(FrontendGetReceiver(Context->Frontend),
Cookie);
-
- ReleaseMrswLockShared(&Context->Lock);
}
static NTSTATUS
--
2.54.0.windows.1
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|