From: Hartmut Birr Date: Sat, 26 Nov 2005 16:35:23 +0000 (+0000) Subject: Don't use the OldIrql value from fmutex after releasing it. X-Git-Tag: backups/ros-branch-0_2_9@19949~289 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=405f0b60f1fb6eca74f642796611bcec1d5e0dfd Don't use the OldIrql value from fmutex after releasing it. svn path=/trunk/; revision=19641 --- diff --git a/reactos/hal/halx86/generic/fmutex.c b/reactos/hal/halx86/generic/fmutex.c index 2ada2b41925..a7624edb748 100644 --- a/reactos/hal/halx86/generic/fmutex.c +++ b/reactos/hal/halx86/generic/fmutex.c @@ -56,8 +56,11 @@ VOID FASTCALL ExReleaseFastMutex(PFAST_MUTEX FastMutex) { + KIRQL OldIrql; + /* Erase the owner */ FastMutex->Owner = (PVOID)1; + OldIrql = FastMutex->OldIrql; /* Increase the count */ if (InterlockedIncrement(&FastMutex->Count) <= 0) @@ -67,7 +70,7 @@ ExReleaseFastMutex(PFAST_MUTEX FastMutex) } /* Lower IRQL back */ - KfLowerIrql(FastMutex->OldIrql); + KfLowerIrql(OldIrql); } BOOLEAN diff --git a/reactos/ntoskrnl/ex/fmutex.c b/reactos/ntoskrnl/ex/fmutex.c index 6b229e2cc07..2c574e004d4 100644 --- a/reactos/ntoskrnl/ex/fmutex.c +++ b/reactos/ntoskrnl/ex/fmutex.c @@ -106,10 +106,12 @@ VOID FASTCALL ExReleaseFastMutex (PFAST_MUTEX FastMutex) { + KIRQL oldIrql; ASSERT_IRQL(APC_LEVEL); /* Erase the owner */ FastMutex->Owner = NULL; + OldIrql = FastMutex->OldIrql; /* Increase the count */ if (InterlockedIncrement(&FastMutex->Count) <= 0) @@ -119,7 +121,7 @@ ExReleaseFastMutex (PFAST_MUTEX FastMutex) } /* Lower IRQL back */ - KfLowerIrql(FastMutex->OldIrql); + KfLowerIrql(OldIrql); } /*