|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/2] Check Process and UseRequestId in CsqPeekNextIrp
Each Context object may be associated with a different process and a
different API (V1/V2). We must check for these settings when looking for
a matching IRP.
Assisted-by: LLM
Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx>
---
src/xeniface/irp_queue.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/xeniface/irp_queue.c b/src/xeniface/irp_queue.c
index 420cecf..511a36a 100644
--- a/src/xeniface/irp_queue.c
+++ b/src/xeniface/irp_queue.c
@@ -98,9 +98,12 @@ CsqPeekNextIrp(
if (PeekContext) {
Context = NextIrp->Tail.Overlay.DriverContext[0];
- BOOL Match = TargetContext->Type == Context->Type;
+ BOOL Match = TargetContext->Type == Context->Type &&
+ TargetContext->Process == Context->Process;
if (TargetContext->UseRequestId)
- Match = Match && (TargetContext->RequestId ==
Context->RequestId);
+ Match = Match &&
+ TargetContext->UseRequestId == Context->UseRequestId &&
+ TargetContext->RequestId == Context->RequestId;
else
Match = Match && (TargetContext->UserVa == Context->UserVa);
--
2.55.0.windows.3
--
Ngoc Tu Dinh | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |