diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-05-17 11:05:21 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-05-17 11:05:21 +0100 |
commit | f3837f3a610d37a1238638a3e2fd2d250fb2a29c (patch) | |
tree | 09f3f613519a710ba3daac48eec9323388bd14b3 /xen/arch/x86/tboot.c | |
parent | c8272ff4cb07f2a953af6e68062e9c180e2caeab (diff) | |
download | xen-f3837f3a610d37a1238638a3e2fd2d250fb2a29c.tar.gz xen-f3837f3a610d37a1238638a3e2fd2d250fb2a29c.tar.bz2 xen-f3837f3a610d37a1238638a3e2fd2d250fb2a29c.zip |
intel_txt: to fix intel txt S3 resume failure since c/s 21108
This patch is to fix S3 resume failure with Intel TXT/tboot launched,
brought by c/s 21108. Don't printk anything between two
tboot_gen_xenheap_integrity() calls for release build or debug build.
Or else xen heap will be changed, which causes that memory integrity
will be lost on S3 resume.
Signed-off-by: Shane Wang <shane.wang@intel.com>
Diffstat (limited to 'xen/arch/x86/tboot.c')
-rw-r--r-- | xen/arch/x86/tboot.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c index 4a0a171a42..9cbed0b09f 100644 --- a/xen/arch/x86/tboot.c +++ b/xen/arch/x86/tboot.c @@ -230,8 +230,6 @@ static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE], *mac = vmac(NULL, 0, nonce, NULL, &ctx); - printk("MAC for domains is: 0x%08"PRIx64"\n", *mac); - /* wipe ctx to ensure key is not left in memory */ memset(&ctx, 0, sizeof(ctx)); } @@ -294,8 +292,6 @@ static void tboot_gen_xenheap_integrity(const uint8_t key[TB_KEY_SIZE], } *mac = vmac(NULL, 0, nonce, NULL, &ctx); - printk("MAC for xenheap is: 0x%08"PRIx64"\n", *mac); - /* wipe ctx to ensure key is not left in memory */ memset(&ctx, 0, sizeof(ctx)); } @@ -325,8 +321,6 @@ static void tboot_gen_frametable_integrity(const uint8_t key[TB_KEY_SIZE], *mac = vmac(NULL, 0, nonce, NULL, &ctx); - printk("MAC for frametable is: 0x%08"PRIx64"\n", *mac); - /* wipe ctx to ensure key is not left in memory */ memset(&ctx, 0, sizeof(ctx)); } @@ -505,14 +499,20 @@ int tboot_s3_resume(void) /* need to do these in reverse order of shutdown */ tboot_gen_xenheap_integrity(g_tboot_shared->s3_key, &mac); + printk("MAC for xenheap before S3 is: 0x%08"PRIx64"\n", xenheap_mac); + printk("MAC for xenheap after S3 is: 0x%08"PRIx64"\n", mac); if ( mac != xenheap_mac ) return -1; tboot_gen_frametable_integrity(g_tboot_shared->s3_key, &mac); + printk("MAC for frametable before S3 is: 0x%08"PRIx64"\n", frametable_mac); + printk("MAC for frametable after S3 is: 0x%08"PRIx64"\n", mac); if ( mac != frametable_mac ) return -2; tboot_gen_domain_integrity(g_tboot_shared->s3_key, &mac); + printk("MAC for domains before S3 is: 0x%08"PRIx64"\n", domain_mac); + printk("MAC for domains after S3 is: 0x%08"PRIx64"\n", mac); if ( mac != domain_mac ) return -3; |