diff --git a/90-mcelog.rules b/90-mcelog.rules deleted file mode 100644 index 817cc46..0000000 --- a/90-mcelog.rules +++ /dev/null @@ -1,2 +0,0 @@ -ACTION=="add", KERNEL=="mcelog", SUBSYSTEM=="misc", TAG+="systemd", ENV{SYSTEMD_WANTS}+="mcelog.service" - diff --git a/Start-consolidating-AMD-specific-stuff.patch b/Start-consolidating-AMD-specific-stuff.patch index e7789c2..67e87f8 100644 --- a/Start-consolidating-AMD-specific-stuff.patch +++ b/Start-consolidating-AMD-specific-stuff.patch @@ -16,10 +16,10 @@ Signed-off-by: Borislav Petkov rename k8.c => amd.c (97%) rename k8.h => amd.h (79%) -Index: mcelog-1.29/Makefile +Index: mcelog-1.36/Makefile =================================================================== ---- mcelog-1.29.orig/Makefile 2016-01-28 15:33:45.402475555 +0100 -+++ mcelog-1.29/Makefile 2016-01-28 15:33:51.646831409 +0100 +--- mcelog-1.36.orig/Makefile 2016-05-03 17:44:06.934899300 +0200 ++++ mcelog-1.36/Makefile 2016-05-03 17:44:29.032158410 +0200 @@ -33,7 +33,7 @@ all: mcelog .PHONY: install clean depend FORCE @@ -29,9 +29,9 @@ Index: mcelog-1.29/Makefile nehalem.o dunnington.o tulsa.o config.o memutil.o msg.o \ eventloop.o leaky-bucket.o memdb.o server.o trigger.o \ client.o cache.o sysfs.o yellow.o page.o rbtree.o \ -Index: mcelog-1.29/k8.c +Index: mcelog-1.36/k8.c =================================================================== ---- mcelog-1.29.orig/k8.c 2016-01-20 18:33:20.000000000 +0100 +--- mcelog-1.36.orig/k8.c 2016-05-03 17:44:06.938899528 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,281 +0,0 @@ -/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and @@ -125,7 +125,7 @@ Index: mcelog-1.29/k8.c - [0] = "err cpu0", -}; -static char *k8threshold[] = { -- [0 ... K8_MCELOG_THRESHOLD_DRAM_ECC - 1] = "Unknow threshold counter", +- [0 ... K8_MCELOG_THRESHOLD_DRAM_ECC - 1] = "Unknown threshold counter", - [K8_MCELOG_THRESHOLD_DRAM_ECC] = "MC4_MISC0 DRAM threshold", - [K8_MCELOG_THRESHOLD_LINK] = "MC4_MISC1 Link threshold", - [K8_MCELOG_THRESHOLD_L3_CACHE] = "MC4_MISC2 L3 Cache threshold", @@ -315,10 +315,10 @@ Index: mcelog-1.29/k8.c - } - return 1; -} -Index: mcelog-1.29/amd.c +Index: mcelog-1.36/amd.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mcelog-1.29/amd.c 2016-01-28 15:33:51.646831409 +0100 ++++ mcelog-1.36/amd.c 2016-05-03 17:44:29.036158703 +0200 @@ -0,0 +1,282 @@ +/* Based on K8 decoding code written for the 2.4 kernel by Andi Kleen and + * Eric Morton. Hacked and extended for mcelog by AK. @@ -602,9 +602,9 @@ Index: mcelog-1.29/amd.c + } + return 1; +} -Index: mcelog-1.29/k8.h +Index: mcelog-1.36/k8.h =================================================================== ---- mcelog-1.29.orig/k8.h 2016-01-20 18:33:20.000000000 +0100 +--- mcelog-1.36.orig/k8.h 2016-05-03 17:44:06.938899528 +0200 +++ /dev/null 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -char *k8_bank_name(unsigned num); @@ -618,10 +618,10 @@ Index: mcelog-1.29/k8.h -#define K8_MCELOG_THRESHOLD_LINK (4 * 9 + 1) -#define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2) -#define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3) -Index: mcelog-1.29/amd.h +Index: mcelog-1.36/amd.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mcelog-1.29/amd.h 2016-01-28 15:33:51.650831636 +0100 ++++ mcelog-1.36/amd.h 2016-05-03 17:44:29.036158703 +0200 @@ -0,0 +1,14 @@ +char *k8_bank_name(unsigned num); +void decode_amd_mc(enum cputype, struct mce *mce, int *ismemerr); @@ -637,10 +637,10 @@ Index: mcelog-1.29/amd.h + +#define CASE_AMD_CPUS \ + case CPU_K8 -Index: mcelog-1.29/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.29.orig/mcelog.c 2016-01-28 15:33:45.406475783 +0100 -+++ mcelog-1.29/mcelog.c 2016-01-28 15:33:51.650831636 +0100 +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:44:06.938899528 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:44:29.036158703 +0200 @@ -41,7 +41,7 @@ #include #include "mcelog.h" @@ -650,7 +650,7 @@ Index: mcelog-1.29/mcelog.c #include "intel.h" #include "p4.h" #include "dmi.h" -@@ -419,9 +419,9 @@ static void dump_mce(struct mce *m, unsi +@@ -421,9 +421,9 @@ static void dump_mce(struct mce *m, unsi time_t t = m->time; Wprintf("TIME %llu %s", m->time, ctime(&t)); } diff --git a/add-f10h-support.patch b/add-f10h-support.patch index 0fa83e8..6c50dca 100644 --- a/add-f10h-support.patch +++ b/add-f10h-support.patch @@ -1,10 +1,10 @@ Add F10h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.20/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.20.orig/amd.c 2015-06-15 15:16:07.712107628 +0200 -+++ mcelog-1.20/amd.c 2015-06-15 15:16:14.564499430 +0200 +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:20.771106536 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:35.943971068 +0200 @@ -14,7 +14,7 @@ #include "mcelog.h" #include "amd.h" @@ -14,7 +14,7 @@ Index: mcelog-1.20/amd.c "data cache", "instruction cache", "bus unit", -@@ -22,28 +22,34 @@ +@@ -22,28 +22,34 @@ static char *k8bank[] = { "northbridge", "fixed-issue reoder" }; @@ -58,7 +58,7 @@ Index: mcelog-1.20/amd.c static char *nbextendederr[] = { "RAM ECC error", "CRC error", -@@ -65,6 +71,46 @@ +@@ -65,6 +71,46 @@ static char *nbextendederr[] = { "L3 Cache Tag Error", "L3 Cache LRU Error" }; @@ -105,7 +105,7 @@ Index: mcelog-1.20/amd.c static char *highbits[32] = { [31] = "valid", [30] = "error overflow (multiple errors)", -@@ -100,6 +146,21 @@ +@@ -100,6 +146,21 @@ static char *k8threshold[] = { "Unknown threshold counter", }; @@ -127,7 +127,7 @@ Index: mcelog-1.20/amd.c static void decode_k8_generic_errcode(u64 status) { -@@ -245,21 +306,393 @@ +@@ -245,21 +306,393 @@ static decoder_t decoders[] = { [5] = decode_k8_fr_mc, }; @@ -529,7 +529,7 @@ Index: mcelog-1.20/amd.c if (num < NELE(k8bank)) s = k8bank[num]; else if (num >= K8_MCE_THRESHOLD_BASE && -@@ -270,13 +703,16 @@ +@@ -270,13 +703,16 @@ char *k8_bank_name(unsigned num) return buf; } @@ -554,10 +554,10 @@ Index: mcelog-1.20/amd.c + } + return 1; } -Index: mcelog-1.20/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.20.orig/amd.h 2015-06-15 15:16:07.728108543 +0200 -+++ mcelog-1.20/amd.h 2015-06-15 15:16:14.576500082 +0200 +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:20.791107676 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:35.943971068 +0200 @@ -1,6 +1,25 @@ +#include + @@ -585,7 +585,7 @@ Index: mcelog-1.20/amd.h #define K8_MCE_THRESHOLD_BASE (MCE_EXTENDED_BANK + 1) /* MCE_AMD */ #define K8_MCE_THRESHOLD_TOP (K8_MCE_THRESHOLD_BASE + 6 * 9) -@@ -10,6 +29,8 @@ +@@ -10,6 +29,8 @@ int mce_filter_k8(struct mce *m); #define K8_MCELOG_THRESHOLD_L3_CACHE (4 * 9 + 2) #define K8_MCELOG_THRESHOLD_FBDIMM (4 * 9 + 3) @@ -594,7 +594,7 @@ Index: mcelog-1.20/amd.h #define EC(x) ((x) & 0xffff) #define XEC(x, mask) (((x) >> 16) & mask) -@@ -22,23 +43,20 @@ +@@ -22,23 +43,20 @@ int mce_filter_k8(struct mce *m); #define INT_ERROR(x) (((x) & 0xF4FF) == 0x0400) #define TT(x) (((x) >> 2) & 0x3) @@ -624,7 +624,7 @@ Index: mcelog-1.20/amd.h enum tt_ids { TT_INSTR = 0, -@@ -72,3 +90,7 @@ +@@ -72,3 +90,7 @@ enum rrrr_ids { R4_EVICT, R4_SNOOP, }; @@ -632,11 +632,11 @@ Index: mcelog-1.20/amd.h +#define CASE_AMD_CPUS \ + case CPU_K8: \ + case CPU_F10H -Index: mcelog-1.20/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.20.orig/mcelog.h 2015-06-15 15:16:07.740109229 +0200 -+++ mcelog-1.20/mcelog.h 2015-06-15 15:16:14.580500307 +0200 -@@ -111,6 +111,7 @@ +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:20.727104029 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:35.943971068 +0200 +@@ -111,6 +111,7 @@ enum cputype { CPU_P6OLD, CPU_CORE2, /* 65nm and 45nm */ CPU_K8, @@ -644,11 +644,11 @@ Index: mcelog-1.20/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.20/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.20.orig/mcelog.c 2015-06-15 15:16:07.752109915 +0200 -+++ mcelog-1.20/mcelog.c 2015-06-15 15:19:18.771031150 +0200 -@@ -144,19 +144,20 @@ +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:20.771106536 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:35.943971068 +0200 +@@ -145,19 +145,20 @@ static void resolveaddr(unsigned long lo static int mce_filter(struct mce *m, unsigned recordlen) { @@ -673,7 +673,7 @@ Index: mcelog-1.20/mcelog.c } static void print_tsc(int cpunum, __u64 tsc, unsigned long time) -@@ -223,6 +224,7 @@ +@@ -224,6 +225,7 @@ static char *cputype_name[] = { [CPU_P6OLD] = "Intel PPro/P2/P3/old Xeon", [CPU_CORE2] = "Intel Core", /* 65nm and 45nm */ [CPU_K8] = "AMD K8 and derivates", @@ -681,7 +681,7 @@ Index: mcelog-1.20/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -245,6 +247,7 @@ +@@ -250,6 +252,7 @@ static struct config_choice cpu_choices[ { "p6old", CPU_P6OLD }, { "core2", CPU_CORE2 }, { "k8", CPU_K8 }, @@ -689,7 +689,7 @@ Index: mcelog-1.20/mcelog.c { "p4", CPU_P4 }, { "dunnington", CPU_DUNNINGTON }, { "xeon74xx", CPU_DUNNINGTON }, -@@ -343,15 +346,13 @@ +@@ -354,15 +357,13 @@ static enum cputype setup_cpuid(u32 cpuv parse_cpuid(cpuid, &family, &model); @@ -708,7 +708,7 @@ Index: mcelog-1.20/mcelog.c cpuvendor, family, model); return CPU_GENERIC; } -@@ -526,14 +527,9 @@ +@@ -539,14 +540,9 @@ int is_cpu_supported(void) } if (seen == ALL) { diff --git a/add-f11h-support.patch b/add-f11h-support.patch index b0b8e7c..ae322a9 100644 --- a/add-f11h-support.patch +++ b/add-f11h-support.patch @@ -1,10 +1,10 @@ Add F11h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.0.1/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.0.1.orig/amd.c -+++ mcelog-1.0.1/amd.c +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:35.943971068 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:39.500173684 +0200 @@ -155,6 +155,8 @@ enum cputype select_amd_cputype(u32 fami return CPU_K8; case 0x10: @@ -54,10 +54,10 @@ Index: mcelog-1.0.1/amd.c default: Eprintf("Huh? What family is it: 0x%x?!\n", cpu); return; -Index: mcelog-1.0.1/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.0.1.orig/amd.h -+++ mcelog-1.0.1/amd.h +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:35.943971068 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:39.500173684 +0200 @@ -93,4 +93,5 @@ enum rrrr_ids { #define CASE_AMD_CPUS \ @@ -65,11 +65,11 @@ Index: mcelog-1.0.1/amd.h - case CPU_F10H + case CPU_F10H: \ + case CPU_F11H -Index: mcelog-1.0.1/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.0.1.orig/mcelog.h -+++ mcelog-1.0.1/mcelog.h -@@ -108,6 +108,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:35.943971068 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:39.500173684 +0200 +@@ -112,6 +112,7 @@ enum cputype { CPU_CORE2, /* 65nm and 45nm */ CPU_K8, CPU_F10H, @@ -77,11 +77,11 @@ Index: mcelog-1.0.1/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.0.1/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.1.orig/mcelog.c -+++ mcelog-1.0.1/mcelog.c -@@ -223,6 +223,7 @@ static char *cputype_name[] = { +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:35.943971068 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:39.500173684 +0200 +@@ -226,6 +226,7 @@ static char *cputype_name[] = { [CPU_CORE2] = "Intel Core", /* 65nm and 45nm */ [CPU_K8] = "AMD K8 and derivates", [CPU_F10H] = "AMD Greyhound", @@ -89,7 +89,7 @@ Index: mcelog-1.0.1/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -242,6 +243,7 @@ static struct config_choice cpu_choices[ +@@ -253,6 +254,7 @@ static struct config_choice cpu_choices[ { "core2", CPU_CORE2 }, { "k8", CPU_K8 }, { "f10h", CPU_F10H }, diff --git a/add-f12h-support.patch b/add-f12h-support.patch index 8d96d2b..2c349f6 100644 --- a/add-f12h-support.patch +++ b/add-f12h-support.patch @@ -1,10 +1,10 @@ Add F12h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.0.1/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.0.1.orig/amd.c -+++ mcelog-1.0.1/amd.c +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:39.500173684 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:41.996315929 +0200 @@ -157,6 +157,8 @@ enum cputype select_amd_cputype(u32 fami return CPU_F10H; case 0x11: @@ -37,10 +37,10 @@ Index: mcelog-1.0.1/amd.c default: Eprintf("Huh? What family is it: 0x%x?!\n", cpu); return; -Index: mcelog-1.0.1/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.0.1.orig/amd.h -+++ mcelog-1.0.1/amd.h +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:39.500173684 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:41.996315929 +0200 @@ -9,6 +9,7 @@ enum amdcpu { AMD_K8 = 0, AMD_F10H, @@ -56,11 +56,11 @@ Index: mcelog-1.0.1/amd.h - case CPU_F11H + case CPU_F11H: \ + case CPU_F12H -Index: mcelog-1.0.1/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.0.1.orig/mcelog.h -+++ mcelog-1.0.1/mcelog.h -@@ -109,6 +109,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:39.500173684 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:41.996315929 +0200 +@@ -113,6 +113,7 @@ enum cputype { CPU_K8, CPU_F10H, CPU_F11H, @@ -68,11 +68,11 @@ Index: mcelog-1.0.1/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.0.1/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.1.orig/mcelog.c -+++ mcelog-1.0.1/mcelog.c -@@ -224,6 +224,7 @@ static char *cputype_name[] = { +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:39.500173684 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:41.996315929 +0200 +@@ -227,6 +227,7 @@ static char *cputype_name[] = { [CPU_K8] = "AMD K8 and derivates", [CPU_F10H] = "AMD Greyhound", [CPU_F11H] = "AMD Griffin", @@ -80,7 +80,7 @@ Index: mcelog-1.0.1/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -244,6 +245,7 @@ static struct config_choice cpu_choices[ +@@ -255,6 +256,7 @@ static struct config_choice cpu_choices[ { "k8", CPU_K8 }, { "f10h", CPU_F10H }, { "f11h", CPU_F11H }, diff --git a/add-f14h-support.patch b/add-f14h-support.patch index 08df5a1..4cfd71a 100644 --- a/add-f14h-support.patch +++ b/add-f14h-support.patch @@ -1,10 +1,10 @@ Add F14h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.0.1/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.0.1.orig/amd.c -+++ mcelog-1.0.1/amd.c +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:41.996315929 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:43.452398891 +0200 @@ -159,6 +159,8 @@ enum cputype select_amd_cputype(u32 fami return CPU_F11H; case 0x12: @@ -128,11 +128,11 @@ Index: mcelog-1.0.1/amd.c default: Eprintf("Huh? What family is it: 0x%x?!\n", cpu); return; -Index: mcelog-1.0.1/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.0.1.orig/mcelog.h -+++ mcelog-1.0.1/mcelog.h -@@ -110,6 +110,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:41.996315929 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:43.452398891 +0200 +@@ -114,6 +114,7 @@ enum cputype { CPU_F10H, CPU_F11H, CPU_F12H, @@ -140,10 +140,10 @@ Index: mcelog-1.0.1/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.0.1/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.0.1.orig/amd.h -+++ mcelog-1.0.1/amd.h +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:41.996315929 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:43.452398891 +0200 @@ -96,4 +96,5 @@ enum rrrr_ids { case CPU_K8: \ case CPU_F10H: \ @@ -151,11 +151,11 @@ Index: mcelog-1.0.1/amd.h - case CPU_F12H + case CPU_F12H: \ + case CPU_F14H -Index: mcelog-1.0.1/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.1.orig/mcelog.c -+++ mcelog-1.0.1/mcelog.c -@@ -225,6 +225,7 @@ static char *cputype_name[] = { +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:41.996315929 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:43.456399118 +0200 +@@ -228,6 +228,7 @@ static char *cputype_name[] = { [CPU_F10H] = "AMD Greyhound", [CPU_F11H] = "AMD Griffin", [CPU_F12H] = "AMD Llano", @@ -163,7 +163,7 @@ Index: mcelog-1.0.1/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -246,6 +247,7 @@ static struct config_choice cpu_choices[ +@@ -257,6 +258,7 @@ static struct config_choice cpu_choices[ { "f10h", CPU_F10H }, { "f11h", CPU_F11H }, { "f12h", CPU_F12H }, diff --git a/add-f15h-support.patch b/add-f15h-support.patch index ed952ef..47c29d9 100644 --- a/add-f15h-support.patch +++ b/add-f15h-support.patch @@ -1,10 +1,10 @@ Add F15h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.0.1/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.0.1.orig/amd.c -+++ mcelog-1.0.1/amd.c +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:43.452398891 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:45.316505087 +0200 @@ -72,6 +72,43 @@ static char *nbextendederr[] = { "L3 Cache LRU Error" }; @@ -214,11 +214,11 @@ Index: mcelog-1.0.1/amd.c default: Eprintf("Huh? What family is it: 0x%x?!\n", cpu); return; -Index: mcelog-1.0.1/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.0.1.orig/mcelog.h -+++ mcelog-1.0.1/mcelog.h -@@ -111,6 +111,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:43.452398891 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:45.316505087 +0200 +@@ -115,6 +115,7 @@ enum cputype { CPU_F11H, CPU_F12H, CPU_F14H, @@ -226,10 +226,10 @@ Index: mcelog-1.0.1/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.0.1/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.0.1.orig/amd.h -+++ mcelog-1.0.1/amd.h +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:43.452398891 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:45.316505087 +0200 @@ -97,4 +97,5 @@ enum rrrr_ids { case CPU_F10H: \ case CPU_F11H: \ @@ -237,11 +237,11 @@ Index: mcelog-1.0.1/amd.h - case CPU_F14H + case CPU_F14H: \ + case CPU_F15H -Index: mcelog-1.0.1/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.1.orig/mcelog.c -+++ mcelog-1.0.1/mcelog.c -@@ -226,6 +226,7 @@ static char *cputype_name[] = { +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:43.456399118 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:45.320505319 +0200 +@@ -229,6 +229,7 @@ static char *cputype_name[] = { [CPU_F11H] = "AMD Griffin", [CPU_F12H] = "AMD Llano", [CPU_F14H] = "AMD Bobcat", @@ -249,7 +249,7 @@ Index: mcelog-1.0.1/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -248,6 +249,7 @@ static struct config_choice cpu_choices[ +@@ -259,6 +260,7 @@ static struct config_choice cpu_choices[ { "f11h", CPU_F11H }, { "f12h", CPU_F12H }, { "f14h", CPU_F14H }, diff --git a/add-f16h-support.patch b/add-f16h-support.patch index a6a4def..b430ab7 100644 --- a/add-f16h-support.patch +++ b/add-f16h-support.patch @@ -1,10 +1,10 @@ Add F16h decoding support Signed-off-by: Borislav Petkov -Index: mcelog-1.0.1/amd.c +Index: mcelog-1.36/amd.c =================================================================== ---- mcelog-1.0.1.orig/amd.c -+++ mcelog-1.0.1/amd.c +--- mcelog-1.36.orig/amd.c 2016-05-03 17:45:45.316505087 +0200 ++++ mcelog-1.36/amd.c 2016-05-03 17:45:47.828648285 +0200 @@ -200,6 +200,8 @@ enum cputype select_amd_cputype(u32 fami return CPU_F14H; case 0x15: @@ -86,11 +86,11 @@ Index: mcelog-1.0.1/amd.c default: Eprintf("Huh? What family is it: 0x%x?!\n", cpu); return; -Index: mcelog-1.0.1/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.0.1.orig/mcelog.h -+++ mcelog-1.0.1/mcelog.h -@@ -112,6 +112,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-05-03 17:45:45.316505087 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:45:47.828648285 +0200 +@@ -116,6 +116,7 @@ enum cputype { CPU_F12H, CPU_F14H, CPU_F15H, @@ -98,10 +98,10 @@ Index: mcelog-1.0.1/mcelog.h CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, -Index: mcelog-1.0.1/amd.h +Index: mcelog-1.36/amd.h =================================================================== ---- mcelog-1.0.1.orig/amd.h -+++ mcelog-1.0.1/amd.h +--- mcelog-1.36.orig/amd.h 2016-05-03 17:45:45.316505087 +0200 ++++ mcelog-1.36/amd.h 2016-05-03 17:45:47.832648501 +0200 @@ -98,4 +98,5 @@ enum rrrr_ids { case CPU_F11H: \ case CPU_F12H: \ @@ -109,11 +109,11 @@ Index: mcelog-1.0.1/amd.h - case CPU_F15H + case CPU_F15H: \ + case CPU_F16H -Index: mcelog-1.0.1/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.1.orig/mcelog.c -+++ mcelog-1.0.1/mcelog.c -@@ -227,6 +227,7 @@ static char *cputype_name[] = { +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:45.320505319 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:47.832648501 +0200 +@@ -230,6 +230,7 @@ static char *cputype_name[] = { [CPU_F12H] = "AMD Llano", [CPU_F14H] = "AMD Bobcat", [CPU_F15H] = "AMD Bulldozer", @@ -121,7 +121,7 @@ Index: mcelog-1.0.1/mcelog.c [CPU_P4] = "Intel P4", [CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")", [CPU_DUNNINGTON] = "Intel Xeon 7400 series", -@@ -250,6 +251,7 @@ static struct config_choice cpu_choices[ +@@ -261,6 +262,7 @@ static struct config_choice cpu_choices[ { "f12h", CPU_F12H }, { "f14h", CPU_F14H }, { "f15h", CPU_F15H }, diff --git a/email.patch b/email.patch index c0126ff..a848e8c 100644 --- a/email.patch +++ b/email.patch @@ -7,18 +7,18 @@ msg.c | 8 ++ 6 files changed, 343 insertions(+), 2 deletions(-) -Index: mcelog-1.29/Makefile +Index: mcelog-1.36/Makefile =================================================================== ---- mcelog-1.29.orig/Makefile 2016-01-20 18:33:20.000000000 +0100 -+++ mcelog-1.29/Makefile 2016-02-01 17:35:54.959649090 +0100 +--- mcelog-1.36.orig/Makefile 2016-04-15 22:19:32.000000000 +0200 ++++ mcelog-1.36/Makefile 2016-05-03 17:43:23.544426782 +0200 @@ -1,3 +1,4 @@ +CONFIG_EMAIL := 1 CFLAGS := -g -Os prefix := /usr etcprefix := @@ -40,8 +41,9 @@ OBJ := p4.o k8.o mcelog.o dmi.o tsc.o co - broadwell_de.o broadwell_epex.o msr.o bus.o \ - unknown.o + broadwell_de.o broadwell_epex.o skylake_xeon.o \ + msr.o bus.o unknown.o DISKDB_OBJ := diskdb.o dimm.o db.o +EMAIL_OBJ := email.o CLEAN := mcelog dmi tsc dbquery .depend .depend.X dbquery.o ${DISKDB_OBJ} \ @@ -40,10 +40,10 @@ Index: mcelog-1.29/Makefile SRC := $(OBJ:.o=.c) mcelog: ${OBJ} version.o -Index: mcelog-1.29/email.c +Index: mcelog-1.36/email.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mcelog-1.29/email.c 2016-02-01 17:33:02.709891934 +0100 ++++ mcelog-1.36/email.c 2016-05-03 17:43:23.548427010 +0200 @@ -0,0 +1,200 @@ +#include +#include @@ -245,10 +245,10 @@ Index: mcelog-1.29/email.c + smtp_destroy_session (session); + return 0; +} -Index: mcelog-1.29/email.h +Index: mcelog-1.36/email.h =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mcelog-1.29/email.h 2016-02-01 17:33:02.709891934 +0100 ++++ mcelog-1.36/email.h 2016-05-03 17:43:23.548427010 +0200 @@ -0,0 +1,34 @@ +#ifndef _MCELOG_EMAIL_H_ +#define _MCELOG_EMAIL_H_ @@ -284,10 +284,10 @@ Index: mcelog-1.29/email.h +#endif + +#endif -Index: mcelog-1.29/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.29.orig/mcelog.c 2016-01-20 18:33:20.000000000 +0100 -+++ mcelog-1.29/mcelog.c 2016-02-01 17:35:10.417125475 +0100 +--- mcelog-1.36.orig/mcelog.c 2016-04-15 22:19:32.000000000 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:43:23.548427010 +0200 @@ -37,6 +37,7 @@ #include #include @@ -315,7 +315,7 @@ Index: mcelog-1.29/mcelog.c static char *inputfile; char *processor_flags; static int foreground; -@@ -973,6 +977,7 @@ void usage(void) +@@ -976,6 +980,7 @@ void usage(void) "--no-imc-log Disable extended iMC logging\n" "--is-cpu-supported Exit with return code indicating whether the CPU is supported\n" ); @@ -323,7 +323,7 @@ Index: mcelog-1.29/mcelog.c diskdb_usage(); printf("\n"); print_cputypes(); -@@ -1043,6 +1048,7 @@ static struct option options[] = { +@@ -1046,6 +1051,7 @@ static struct option options[] = { { "no-imc-log", 0, NULL, O_NO_IMC_LOG }, { "is-cpu-supported", 0, NULL, O_IS_CPU_SUPPORTED }, DISKDB_OPTIONS @@ -331,7 +331,7 @@ Index: mcelog-1.29/mcelog.c {} }; -@@ -1223,11 +1229,86 @@ static void drop_cred(void) +@@ -1226,11 +1232,86 @@ static void drop_cred(void) } } @@ -418,7 +418,7 @@ Index: mcelog-1.29/mcelog.c if (recordlen == 0) { Wprintf("no data in mce record\n"); -@@ -1254,12 +1335,16 @@ static void process(int fd, unsigned rec +@@ -1257,12 +1338,16 @@ static void process(int fd, unsigned rec finish = 1; if (!mce_filter(mce, recordlen)) continue; @@ -435,7 +435,7 @@ Index: mcelog-1.29/mcelog.c flushlog(); } -@@ -1370,6 +1455,8 @@ int main(int ac, char **av) +@@ -1373,6 +1458,8 @@ int main(int ac, char **av) exit(0); } else if (diskdb_cmd(opt, ac, av)) { exit(0); @@ -444,7 +444,7 @@ Index: mcelog-1.29/mcelog.c } else if (opt == 0) break; } -@@ -1402,6 +1489,10 @@ int main(int ac, char **av) +@@ -1405,6 +1492,10 @@ int main(int ac, char **av) logfn = av[optind++]; if (av[optind]) usage(); @@ -455,11 +455,11 @@ Index: mcelog-1.29/mcelog.c checkdmi(); general_setup(); -Index: mcelog-1.29/mcelog.h +Index: mcelog-1.36/mcelog.h =================================================================== ---- mcelog-1.29.orig/mcelog.h 2016-01-20 18:33:20.000000000 +0100 -+++ mcelog-1.29/mcelog.h 2016-02-01 17:35:07.072936045 +0100 -@@ -134,6 +134,7 @@ enum cputype { +--- mcelog-1.36.orig/mcelog.h 2016-04-15 22:19:32.000000000 +0200 ++++ mcelog-1.36/mcelog.h 2016-05-03 17:43:23.548427010 +0200 +@@ -135,6 +135,7 @@ enum cputype { enum option_ranges { O_COMMON = 500, O_DISKDB = 1000, @@ -467,10 +467,10 @@ Index: mcelog-1.29/mcelog.h }; enum syslog_opt { -Index: mcelog-1.29/msg.c +Index: mcelog-1.36/msg.c =================================================================== ---- mcelog-1.29.orig/msg.c 2016-01-20 18:33:20.000000000 +0100 -+++ mcelog-1.29/msg.c 2016-02-01 17:33:02.713892160 +0100 +--- mcelog-1.36.orig/msg.c 2016-04-15 22:19:32.000000000 +0200 ++++ mcelog-1.36/msg.c 2016-05-03 17:43:23.548427010 +0200 @@ -8,10 +8,13 @@ #include "mcelog.h" #include "msg.h" diff --git a/fix_setgroups_missing_call.patch b/fix_setgroups_missing_call.patch index 1dd46e6..5663561 100644 --- a/fix_setgroups_missing_call.patch +++ b/fix_setgroups_missing_call.patch @@ -1,7 +1,7 @@ -Index: mcelog-1.0.8/mcelog.c +Index: mcelog-1.36/mcelog.c =================================================================== ---- mcelog-1.0.8.orig/mcelog.c 2015-01-22 14:56:56.151710136 +0100 -+++ mcelog-1.0.8/mcelog.c 2015-01-23 09:58:35.252799171 +0100 +--- mcelog-1.36.orig/mcelog.c 2016-05-03 17:45:47.832648501 +0200 ++++ mcelog-1.36/mcelog.c 2016-05-03 17:45:53.348962792 +0200 @@ -37,6 +37,7 @@ #include #include @@ -10,7 +10,7 @@ Index: mcelog-1.0.8/mcelog.c #include #include #include "mcelog.h" -@@ -1185,6 +1186,14 @@ +@@ -1223,6 +1224,14 @@ static void general_setup(void) static void drop_cred(void) { diff --git a/mcelog-1.29.tar.bz2 b/mcelog-1.29.tar.bz2 deleted file mode 100644 index 8e02003..0000000 --- a/mcelog-1.29.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4eca584cecb1a54f49cc9accf7f8ca98716a953a3025884171b591284e9126c -size 282689 diff --git a/mcelog-1.36.tar.bz2 b/mcelog-1.36.tar.bz2 new file mode 100644 index 0000000..204a2f4 --- /dev/null +++ b/mcelog-1.36.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:218133dc92f0a285573c65b5f61f2f68037ebb100bdab6e51e708f59a7b61323 +size 284382 diff --git a/mcelog.changes b/mcelog.changes index 124ecc4..4960908 100644 --- a/mcelog.changes +++ b/mcelog.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri May 6 16:08:48 UTC 2016 - trenn@suse.de + +- Update to bugfix version 1.36 +- Do not start mcelog service based on an udev (/dev/mcelog) rule (bsc#976781) + ------------------------------------------------------------------- Thu Jan 28 14:25:26 UTC 2016 - trenn@suse.de diff --git a/mcelog.spec b/mcelog.spec index 7471e83..e6e0be3 100644 --- a/mcelog.spec +++ b/mcelog.spec @@ -17,7 +17,7 @@ Name: mcelog -Version: 1.29 +Version: 1.36 Release: 0 Summary: Log Machine Check Events License: GPL-2.0 @@ -26,7 +26,6 @@ Url: https://git.kernel.org/cgit/utils/cpu/mce/mcelog.git Source: mcelog-%{version}.tar.bz2 Source2: mcelog.sysconfig Source3: mcelog.systemd -Source4: 90-mcelog.rules Source5: mcelog.tmpfiles Source6: README.email_setup Patch1: email.patch @@ -43,7 +42,6 @@ Patch11: mcelog-socket-path.patch Patch12: fix_setgroups_missing_call.patch BuildRequires: libesmtp-devel BuildRequires: pkgconfig(systemd) -BuildRequires: pkgconfig(udev) Requires: logrotate Requires(pre): %fillup_prereq # Previously version was wrong, mainline decided to go for 1.0.1. not 1.1 @@ -95,7 +93,6 @@ mkdir -p %{buildroot}/%{_docdir}/%{name} install -m 644 %{SOURCE6} %{buildroot}/%{_docdir}/%{name}/README.email_setup install -m 644 lk10-mcelog.pdf %{buildroot}/%{_docdir}/%{name}/lk10-mcelog.pdf install -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/mcelog.service -install -D -m 0644 %{SOURCE4} %{buildroot}%{_udevrulesdir}/90-mcelog.rules install -D -m 0644 %{SOURCE5} %{buildroot}%{_tmpfilesdir}/mcelog.conf ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcmcelog @@ -104,7 +101,6 @@ ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcmcelog %post %fillup_only -%udev_rules_update %service_add_post %{name}.service %{?tmpfiles_create:%tmpfiles_create %{_tmpfilesdir}/mcelog.conf} @@ -125,7 +121,6 @@ ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcmcelog %{_localstatedir}/adm/fillup-templates/sysconfig.mcelog %{_sysconfdir}/mcelog/*trigger %{_unitdir}/mcelog.service -%{_udevrulesdir}/90-mcelog.rules %{_tmpfilesdir}/mcelog.conf %{_docdir}/%{name} %{_sbindir}/rcmcelog diff --git a/mcelog.systemd b/mcelog.systemd index 71bc384..435757d 100644 --- a/mcelog.systemd +++ b/mcelog.systemd @@ -1,6 +1,7 @@ [Unit] Description=Machine Check Exception Logging Daemon ConditionVirtualization=false +ConditionPathExists=/dev/mcelog [Service] EnvironmentFile=-/etc/sysconfig/mcelog