-
Notifications
You must be signed in to change notification settings - Fork 30
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Cleanup of various issues before RI.
- Update name/message of KeSetEventPaged to KeSetEventPageable - Add missing diff for RoutineFunctionTypeNotExpected - Update baseline for KeWaitLocal - Add RoutineFunctionTypeNotExpected to ported_driver_ca_checks suite
- Loading branch information
1 parent
143fe74
commit 0976a3c
Showing
11 changed files
with
190 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,14 @@ | ||
// Copyright (c) Microsoft Corporation. | ||
// Licensed under the MIT license. | ||
/** | ||
* @id cpp/drivers/ke-set-event-irql | ||
* @name KeSetEvent called in paged segment with wait | ||
* @description Calles to KeSetEvent in a paged segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out. | ||
* @id cpp/drivers/ke-set-event-pageable | ||
* @name KeSetEvent called in pageable segment with wait | ||
* @description Calls to KeSetEvent in a pageable segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out. | ||
* @platform Desktop | ||
* @security.severity Low | ||
* @feature.area Multiple | ||
* @impact Exploitable Design | ||
* @repro.text The following call to KeSetEvent has Wait set to true while in a paged segment. | ||
* @repro.text The following call to KeSetEvent has Wait set to true while in a pageable segment. | ||
* @owner.email [email protected] | ||
* @opaqueid CQLD-D0004 | ||
* @kind problem | ||
|
@@ -32,5 +32,5 @@ where | |
enclosingFunc = ksec.getEnclosingFunction() and | ||
ksec.getArgument(2).getValue() = "1" | ||
select ksec, | ||
"$@: KeSetEvent should not be called with the Wait parameter set to true when in a paged function.", | ||
"$@: KeSetEvent should not be called with the Wait parameter set to true when in a pageable segment.", | ||
ksec.getControlFlowScope(), ksec.getControlFlowScope().getQualifiedName() |
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,41 +24,41 @@ | |
} | ||
} ], | ||
"rules" : [ { | ||
"id" : "cpp/drivers/ke-set-event-irql", | ||
"name" : "cpp/drivers/ke-set-event-irql", | ||
"id" : "cpp/drivers/ke-set-event-pageable", | ||
"name" : "cpp/drivers/ke-set-event-pageable", | ||
"shortDescription" : { | ||
"text" : "KeSetEvent called in paged segment with wait" | ||
"text" : "KeSetEvent called in pageable segment with wait" | ||
}, | ||
"fullDescription" : { | ||
"text" : "Calles to KeSetEvent in a paged segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out." | ||
"text" : "Calls to KeSetEvent in a pageable segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out." | ||
}, | ||
"defaultConfiguration" : { | ||
"enabled" : true, | ||
"level" : "warning" | ||
"level" : "error" | ||
}, | ||
"properties" : { | ||
"tags" : [ "correctness", "wddst" ], | ||
"description" : "Calles to KeSetEvent in a paged segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out.", | ||
"description" : "Calls to KeSetEvent in a pageable segment must not call with the Wait parameter set to true. This can cause a system crash if the segment is paged out.", | ||
"feature.area" : "Multiple", | ||
"id" : "cpp/drivers/ke-set-event-irql", | ||
"id" : "cpp/drivers/ke-set-event-pageable", | ||
"impact" : "Exploitable Design", | ||
"kind" : "problem", | ||
"name" : "KeSetEvent called in paged segment with wait", | ||
"name" : "KeSetEvent called in pageable segment with wait", | ||
"opaqueid" : "CQLD-D0004", | ||
"owner.email" : "[email protected]", | ||
"platform" : "Desktop", | ||
"precision" : "medium", | ||
"problem.severity" : "warning", | ||
"precision" : "high", | ||
"problem.severity" : "error", | ||
"query-version" : "v1", | ||
"repro.text" : "The following call to KeSetEvent has Wait set to true while in a paged segment.", | ||
"repro.text" : "The following call to KeSetEvent has Wait set to true while in a pageable segment.", | ||
"scope" : "domainspecific", | ||
"security.severity" : "Low" | ||
} | ||
} ] | ||
}, | ||
"extensions" : [ { | ||
"name" : "microsoft/windows-drivers", | ||
"semanticVersion" : "0.2.0+234ee9b709196a3a802b2c02ad7945ba0dfb0ac0", | ||
"semanticVersion" : "0.2.0+143fe74d66f4093412a7b21390672217b557bba2", | ||
"locations" : [ { | ||
"uri" : "file:///C:/codeql-home/Windows-Driver-Developer-Supplemental-Tools/src/", | ||
"description" : { | ||
|
@@ -165,14 +165,14 @@ | |
} | ||
} ], | ||
"results" : [ { | ||
"ruleId" : "cpp/drivers/ke-set-event-irql", | ||
"ruleId" : "cpp/drivers/ke-set-event-pageable", | ||
"ruleIndex" : 0, | ||
"rule" : { | ||
"id" : "cpp/drivers/ke-set-event-irql", | ||
"id" : "cpp/drivers/ke-set-event-pageable", | ||
"index" : 0 | ||
}, | ||
"message" : { | ||
"text" : "[KeSetEventIrql_Fail2](1): KeSetEvent should not be called with the Wait parameter set to true when in a paged function." | ||
"text" : "[KeSetEventIrql_Fail2](1): KeSetEvent should not be called with the Wait parameter set to true when in a pageable segment." | ||
}, | ||
"locations" : [ { | ||
"physicalLocation" : { | ||
|
@@ -211,14 +211,14 @@ | |
} | ||
} ] | ||
}, { | ||
"ruleId" : "cpp/drivers/ke-set-event-irql", | ||
"ruleId" : "cpp/drivers/ke-set-event-pageable", | ||
"ruleIndex" : 0, | ||
"rule" : { | ||
"id" : "cpp/drivers/ke-set-event-irql", | ||
"id" : "cpp/drivers/ke-set-event-pageable", | ||
"index" : 0 | ||
}, | ||
"message" : { | ||
"text" : "[KeSetEventIrql_Fail1](1): KeSetEvent should not be called with the Wait parameter set to true when in a paged function." | ||
"text" : "[KeSetEventIrql_Fail1](1): KeSetEvent should not be called with the Wait parameter set to true when in a pageable segment." | ||
}, | ||
"locations" : [ { | ||
"physicalLocation" : { | ||
|
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
src/drivers/test/diff/RoutineFunctionTypeNotExpected.sarif
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
{ | ||
"all": { | ||
"+": 0, | ||
"-": 0 | ||
}, | ||
"error": { | ||
"+": 0, | ||
"-": 0, | ||
"codes": [] | ||
}, | ||
"warning": { | ||
"+": 0, | ||
"-": 0, | ||
"codes": [] | ||
}, | ||
"note": { | ||
"+": 0, | ||
"-": 0, | ||
"codes": [] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters