SDV reports false DoubleCompletion
SDV from EWDK for Windows Server 2022 reports DoubleCompletion in a driver.
Report viewer shows that SDV skips branch with if (ActionFlags & 0x1)
condition, where ActionFlags
is 268435457
. But 268435457 & 0x1
is obviously TRUE.
This is the place in the code: https://github.com/virtio-win/kvm-guest-drivers-windows/blob/60db79b36a0a02bd2c7423efe7600778682a807b/vioserial/sys/Port.c#L1330
Value 0x1
is actually WdfRequestStopActionSuspend
.
SDV doesn't notice WdfRequestStopAcknowledge
and mistakenly reports DoubleCompletion rule fail.
Is it possible to fix SDV behaviour?