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 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 […]
Mitigating the $I30:$Bitmap NTFS Bug
Update 1/26 Our sources at Microsoft provided us the following info: Microsoft is aware of a recent research blog post discussing a bug that could appear to lead to possible NTFS corruption. We have investigated this issue and confirmed that NTFS corruption does not result. When the symptom appears, a flag is set to […]
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 […]