VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Driver/EncryptedIoQueue.c
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2019-01-09 00:25:06 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2019-01-09 00:30:12 +0100
commit652e989d238fff2ade0de5a33a0e307e233c06e0 (patch)
tree21ead198c765bc51b839748ca06c7cdecea663d7 /src/Driver/EncryptedIoQueue.c
parent7c2cf7889f96292d037c21c680b641f70a4d390f (diff)
downloadVeraCrypt-652e989d238fff2ade0de5a33a0e307e233c06e0.tar.gz
VeraCrypt-652e989d238fff2ade0de5a33a0e307e233c06e0.zip
Windows Security: Add new entry point in driver that allows emergency clearing of all encryption keys from memory. This entry point requires administrative privileges and it will caused BSDO when system encryption is active. It can be useful for example to applications that monitors physical access to the machine and which need to erase sensitive key material from RAM when unauthorized access is detected.
Diffstat (limited to 'src/Driver/EncryptedIoQueue.c')
-rw-r--r--src/Driver/EncryptedIoQueue.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/Driver/EncryptedIoQueue.c b/src/Driver/EncryptedIoQueue.c
index f7e453fd..6f1d3777 100644
--- a/src/Driver/EncryptedIoQueue.c
+++ b/src/Driver/EncryptedIoQueue.c
@@ -383,7 +383,9 @@ static VOID IoThreadProc (PVOID threadArg)
// Perform IO request if no preceding request of the item failed
if (NT_SUCCESS (request->Item->Status))
{
- if (queue->IsFilterDevice)
+ if (queue->ThreadBlockReadWrite)
+ request->Item->Status = STATUS_DEVICE_BUSY;
+ else if (queue->IsFilterDevice)
{
if (queue->RemapEncryptedArea && request->EncryptedLength > 0)
{