mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 11:08:02 -06:00
Windows: correctly handle SEH exceptions during self-tests in order to disable CPU extended features in such case.
This commit is contained in:
@@ -153,7 +153,16 @@ NTSTATUS DriverEntry (PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath)
|
||||
if (startKeyValue->Type == REG_DWORD && *((uint32 *) startKeyValue->Data) == SERVICE_BOOT_START)
|
||||
{
|
||||
if (!SelfTestsPassed)
|
||||
TC_BUG_CHECK (STATUS_INVALID_PARAMETER);
|
||||
{
|
||||
// in case of system encryption, if self-tests fail, disable all extended CPU
|
||||
// features and try again in order to workaround faulty configurations
|
||||
DisableCPUExtendedFeatures ();
|
||||
SelfTestsPassed = AutoTestAlgorithms();
|
||||
|
||||
// BUG CHECK if the self-tests still fail
|
||||
if (!SelfTestsPassed)
|
||||
TC_BUG_CHECK (STATUS_INVALID_PARAMETER);
|
||||
}
|
||||
|
||||
LoadBootArguments();
|
||||
VolumeClassFilterRegistered = IsVolumeClassFilterRegistered();
|
||||
|
||||
Reference in New Issue
Block a user