Last Update: 9 July 2024 (14:50 US Eastern Time — see bottom of the blog post for summary of updates) We significantly updated this blog on 13 May 2024, to reflect the fact that the problem appears to be a bug that is only present when Verifier is enabled via the GUI. The problem does […]
It Passes Code Analysis
It’s great that your driver passes Code Analysis! But do you know that even the “Driver Recommended” rule set leaves out a lot of useful tests? We are indeed extremely fortunate to have the tooling that is available to us for Windows driver development. Static tools such as Code Analysis (CA) and Static Driver Verifier […]
The Windows Driver Kit and Visual Studio 2022
It took “a while” but, without any fanfare, sometime in May of 2022, Microsoft released a version of the Windows Driver Kit (WDK) that supports Visual Studio (VS) 2022. This version is referred to as the Windows 11 Version 22H2 WDK. This new version of the WDK is only support on VS 2022. It cannot […]
The Names, They Are a Changin’
Times change. People, even engineers, eventually “clue up.” As people become sensitive to the negative impact that the names of things can have on those who don’t share their own ethnic, racial, cultural, or social background, they get on board with the idea of changing those names. Sometimes the changes are simple; As easy as […]
Should I Set PnPLockdown=1?
At some point recently (“recently” being defined as “in the last year or so”) the WDK started whining at me with the following warning: It insists that I should specify PnPLockdown=1 in my INF. What IS this warning, does it matter, and do you really want to do what it advises? Here’s the scoop. What […]
Using WinDbg Over KDNet on QEMU-KVM
We spent several months working on a very intensive (and very interesting) project that required a writing a driver that was specifically intended to run on a Windows system running under QEMU-KVM hosted on a Linux system (specifically, RHEL 8). I’ll spare you all the gory details about why we had to actually dev and […]
Lost Cause: No Driver Updates Allowed, Except for Win 10
For months, the team here at OSR has been actively working with folks at Microsoft to find a solution to allow drivers on Windows 7, Windows 8, and Windows 8.1 systems, including Server 2012 R2, to be updated. This issue was first reported by us back in October 2020. Several MSFT Program Managers (PMs) have […]
Mitigations and Best Practices for ExAllocatePoolZero Security Vulnerabilities
tl;dr The Windows V2004 WDK/EWDK had a serious security vulnerability. It has been updated to mitigate that vulnerability, and you should update all of your machines that have the WDK/EWDK installed. However, updating the WDK/EWDK might not be enough in all circumstances. There are driver code-level mitigations that you should implement to ensure security regardless […]
Making SDV Work with VS 2019 and WDK 2004
My article in the latest issue of The NT Insider on static analysis tools for driver developers included the following off-hand comment: We’re not going to discuss SDV in this article because (a) it provides a very different type of analysis from that provided by Code Analysis and Clang-Tidy, and (b) nobody at OSR has […]
Microsoft: No Driver Updates Allowed for Win7 and Win8
Microsoft has announced that it is ending the ability to cross-sign drivers, effective 1 July 2021. This will effectively make it impossible to release new or updated drivers for Windows 7, Windows 8, and Windows 8.1 systems, including Server 2012 R2. This is not an exaggeration. The only option that will remain available to devs […]