]> xenbits.xensource.com Git - pvdrivers/win/xenvif.git/commitdiff
Dont mix Exclusive and Shared locking calls
authorOwen Smith <owen.smith@citrix.com>
Tue, 4 Aug 2020 14:49:21 +0000 (15:49 +0100)
committerPaul Durrant <pdurrant@amazon.com>
Tue, 4 Aug 2020 16:26:54 +0000 (17:26 +0100)
If the lock is acquired with ExAcquireSpinLockSharedAtDpcLevel(), it
should always be released with ExReleaseSpinLockSharedFromDpcLevel()
(unless the lock is converted to an exclusive lock)

Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xenvif/mac.c

index 3301ef96e45fb08c5c05a44b68b5fd330add610b..a89904b0f72a6b92322eb7be30f8f7fd075ede14 100644 (file)
@@ -394,7 +394,7 @@ fail2:
 fail1:
     Error("fail1 (%08x)\n", status);
 
-    __MacReleaseLockExclusive(Mac);
+    __MacReleaseLockShared(Mac);
     KeLowerIrql(Irql);
 
     return status;
@@ -974,7 +974,7 @@ MacQueryMulticastAddresses(
 fail1:
     *Count = Mac->MulticastCount;
 
-    __MacReleaseLockExclusive(Mac);
+    __MacReleaseLockShared(Mac);
     KeLowerIrql(Irql);
 
     return status;