[BitVisor-devel:39] [PATCH] storage_bgenc: ignore interrupt and key events issued by mini-OS

Katsuya MATSUBARA matsu @ igel.co.jp
2012年 11月 26日 (月) 19:11:55 JST


Hi guys,

I found an issue for the background-disk-encryption implemented
in BitVisor 1.3.
You should apply this patch if you would like to enable the
background-disk-encryption capability.

Thanks,

Katsuya Matsubara
---
The 'login' and 'login-simple' mini-OS for the pre-boot
authentication should boot and run on BitVisor without the
storage driver.
In this situation, storage_bgenc_hook_exint() and
storage_bgenc_hook_kbdio() could be invoked for events issued
by the mini-OS despite no storage driver initialized.

This makes the functions ignore interrupt and key events
until the driver is initialized.
---
 storage/storage_bgenc.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/storage/storage_bgenc.c b/storage/storage_bgenc.c
index 3287fc6..54e752e 100644
--- a/storage/storage_bgenc.c
+++ b/storage/storage_bgenc.c
@@ -574,7 +574,8 @@ storage_bgenc_hook_exint (int int_no)
 {
 	struct storage_bgenc *root = storage_bgenc_root;
 
-	root->exint_count++;
+	if (root)
+		root->exint_count++;
 }
 
 void
@@ -582,7 +583,8 @@ storage_bgenc_hook_kbdio (void)
 {
 	struct storage_bgenc *root = storage_bgenc_root;
 
-	root->kbdio_count++;
+	if (root)
+		root->kbdio_count++;
 }
 
 void
-- 
1.7.0.4




BitVisor-devel メーリングリストの案内