[NTOS:KE]
authorThomas Faber <thomas.faber@reactos.org>
Sat, 29 Aug 2015 14:30:29 +0000 (14:30 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sat, 29 Aug 2015 14:30:29 +0000 (14:30 +0000)
- Fix swapped parameters of KeSetIntervalProfile
- Calculate the correct bucket pointer in KiParseProfileList, and actually increment the counter
CORE-10066

svn path=/trunk/; revision=68859

reactos/ntoskrnl/include/internal/ke.h
reactos/ntoskrnl/ke/profobj.c

index 4475c1c..6d4590a 100644 (file)
@@ -399,8 +399,8 @@ KeQueryIntervalProfile(KPROFILE_SOURCE ProfileSource);
 VOID
 NTAPI
 KeSetIntervalProfile(
-    KPROFILE_SOURCE ProfileSource,
-    ULONG Interval
+    ULONG Interval,
+    KPROFILE_SOURCE ProfileSource
 );
 
 VOID
index d137e12..6be1dee 100644 (file)
@@ -261,8 +261,8 @@ KeQueryIntervalProfile(IN KPROFILE_SOURCE ProfileSource)
 
 VOID
 NTAPI
-KeSetIntervalProfile(IN KPROFILE_SOURCE ProfileSource,
-                     IN ULONG Interval)
+KeSetIntervalProfile(IN ULONG Interval,
+                     IN KPROFILE_SOURCE ProfileSource)
 {
     HAL_PROFILE_SOURCE_INTERVAL ProfileSourceInterval;
 
@@ -330,12 +330,12 @@ KiParseProfileList(IN PKTRAP_FRAME TrapFrame,
         }
 
         /* Get the Pointer to the Bucket Value representing this Program Counter */
-        BucketValue = (PULONG)((((ULONG_PTR)Profile->Buffer +
-                               (ProgramCounter - (ULONG_PTR)Profile->RangeBase))
+        BucketValue = (PULONG)((ULONG_PTR)Profile->Buffer +
+                               ((ProgramCounter - (ULONG_PTR)Profile->RangeBase)
                                 >> Profile->BucketShift) &~ 0x3);
 
         /* Increment the value */
-        ++BucketValue;
+        (*BucketValue)++;
     }
 }