Преглед изворни кода

x86, mce: store record length into memory struct mce anchor

This makes it easier for tools who want to extract the mcelog out of
crash images or memory dumps to adapt to changing struct mce size.
The length field replaces padding, so it's fully compatible.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Andi Kleen пре 16 година
родитељ
комит
f6fb0ac086
2 измењених фајлова са 4 додато и 3 уклоњено
  1. 1 1
      arch/x86/include/asm/mce.h
  2. 3 2
      arch/x86/kernel/cpu/mcheck/mce.c

+ 1 - 1
arch/x86/include/asm/mce.h

@@ -59,7 +59,7 @@ struct mce_log {
 	unsigned len;	    /* = MCE_LOG_LEN */
 	unsigned len;	    /* = MCE_LOG_LEN */
 	unsigned next;
 	unsigned next;
 	unsigned flags;
 	unsigned flags;
-	unsigned pad0;
+	unsigned recordlen;	/* length of struct mce */
 	struct mce entry[MCE_LOG_LEN];
 	struct mce entry[MCE_LOG_LEN];
 };
 };
 
 

+ 3 - 2
arch/x86/kernel/cpu/mcheck/mce.c

@@ -108,8 +108,9 @@ EXPORT_PER_CPU_SYMBOL_GPL(injectm);
  */
  */
 
 
 static struct mce_log mcelog = {
 static struct mce_log mcelog = {
-	MCE_LOG_SIGNATURE,
-	MCE_LOG_LEN,
+	.signature	= MCE_LOG_SIGNATURE,
+	.len		= MCE_LOG_LEN,
+	.recordlen	= sizeof(struct mce),
 };
 };
 
 
 void mce_log(struct mce *mce)
 void mce_log(struct mce *mce)