Commit e53bc3ff authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'ras-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 RAS updates from Ingo Molnar:
 "Boris is on vacation and he asked us to send you the pending RAS bits:

   - Print the PPIN field on CPUs that fill them out

   - Fix an MCE injection bug

   - Simplify a kzalloc in dev_mcelog_init_device()"

* tag 'ras-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/mce, EDAC/mce_amd: Print PPIN in machine check records
  x86/mce/dev-mcelog: Use struct_size() helper in kzalloc()
  x86/mce/inject: Fix a wrong assignment of i_mce.status
parents a92ad11f bb2de0ad
...@@ -245,6 +245,8 @@ static void __print_mce(struct mce *m) ...@@ -245,6 +245,8 @@ static void __print_mce(struct mce *m)
pr_cont("ADDR %llx ", m->addr); pr_cont("ADDR %llx ", m->addr);
if (m->misc) if (m->misc)
pr_cont("MISC %llx ", m->misc); pr_cont("MISC %llx ", m->misc);
if (m->ppin)
pr_cont("PPIN %llx ", m->ppin);
if (mce_flags.smca) { if (mce_flags.smca) {
if (m->synd) if (m->synd)
......
...@@ -345,7 +345,7 @@ static __init int dev_mcelog_init_device(void) ...@@ -345,7 +345,7 @@ static __init int dev_mcelog_init_device(void)
int err; int err;
mce_log_len = max(MCE_LOG_MIN_LEN, num_online_cpus()); mce_log_len = max(MCE_LOG_MIN_LEN, num_online_cpus());
mcelog = kzalloc(sizeof(*mcelog) + mce_log_len * sizeof(struct mce), GFP_KERNEL); mcelog = kzalloc(struct_size(mcelog, entry, mce_log_len), GFP_KERNEL);
if (!mcelog) if (!mcelog)
return -ENOMEM; return -ENOMEM;
......
...@@ -511,7 +511,7 @@ static void do_inject(void) ...@@ -511,7 +511,7 @@ static void do_inject(void)
*/ */
if (inj_type == DFR_INT_INJ) { if (inj_type == DFR_INT_INJ) {
i_mce.status |= MCI_STATUS_DEFERRED; i_mce.status |= MCI_STATUS_DEFERRED;
i_mce.status |= (i_mce.status & ~MCI_STATUS_UC); i_mce.status &= ~MCI_STATUS_UC;
} }
/* /*
......
...@@ -1094,6 +1094,9 @@ amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) ...@@ -1094,6 +1094,9 @@ amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data)
if (m->status & MCI_STATUS_ADDRV) if (m->status & MCI_STATUS_ADDRV)
pr_emerg(HW_ERR "Error Addr: 0x%016llx\n", m->addr); pr_emerg(HW_ERR "Error Addr: 0x%016llx\n", m->addr);
if (m->ppin)
pr_emerg(HW_ERR "PPIN: 0x%016llx\n", m->ppin);
if (boot_cpu_has(X86_FEATURE_SMCA)) { if (boot_cpu_has(X86_FEATURE_SMCA)) {
pr_emerg(HW_ERR "IPID: 0x%016llx", m->ipid); pr_emerg(HW_ERR "IPID: 0x%016llx", m->ipid);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment