[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] intel_txt: to fix intel txt S3 resume failure since c/s 21108
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1274090721 -3600 # Node ID 102dca3f485ba8e2a1742d98cca918da3a0393ae # Parent 8d274f678da6017c8c3ea31280f2e6f3eef4f235 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@xxxxxxxxx> --- xen/arch/x86/tboot.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff -r 8d274f678da6 -r 102dca3f485b xen/arch/x86/tboot.c --- a/xen/arch/x86/tboot.c Mon May 17 10:56:36 2010 +0100 +++ b/xen/arch/x86/tboot.c Mon May 17 11:05:21 2010 +0100 @@ -230,8 +230,6 @@ static void tboot_gen_domain_integrity(c *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( } *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)); } @@ -324,8 +320,6 @@ static void tboot_gen_frametable_integri - pdx_to_page(sidx * PDX_GROUP_COUNT), &ctx); *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; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |