diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index e63873683d4a..0512dcc11750 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h @@ -128,7 +128,7 @@ * debugging tools. Each entry is only valid when its finished flag * is set. */ -struct mce_log { +struct mce_log_buffer { char signature[12]; /* "MACHINECHECK" */ unsigned len; /* = MCE_LOG_LEN */ unsigned next; diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 49673b20f17f..8ada093d4e40 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -152,7 +152,7 @@ EXPORT_PER_CPU_SYMBOL_GPL(injectm); * separate MCEs from kernel messages to avoid bogus bug reports. */ -static struct mce_log mcelog = { +static struct mce_log_buffer mcelog_buf = { .signature = MCE_LOG_SIGNATURE, .len = MCE_LOG_LEN, .recordlen = sizeof(struct mce), @@ -170,7 +170,7 @@ void mce_log(struct mce *m) wmb(); for (;;) { - entry = mce_log_get_idx_check(mcelog.next); + entry = mce_log_get_idx_check(mcelog_buf.next); for (;;) { /* @@ -180,11 +180,11 @@ void mce_log(struct mce *m) */ if (entry >= MCE_LOG_LEN) { set_bit(MCE_OVERFLOW, - (unsigned long *)&mcelog.flags); + (unsigned long *)&mcelog_buf.flags); return; } /* Old left over entry. Skip: */ - if (mcelog.entry[entry].finished) { + if (mcelog_buf.entry[entry].finished) { entry++; continue; } @@ -192,12 +192,12 @@ void mce_log(struct mce *m) } smp_rmb(); next = entry + 1; - if (cmpxchg(&mcelog.next, entry, next) == entry) + if (cmpxchg(&mcelog_buf.next, entry, next) == entry) break; } - memcpy(mcelog.entry + entry, m, sizeof(struct mce)); + memcpy(mcelog_buf.entry + entry, m, sizeof(struct mce)); wmb(); - mcelog.entry[entry].finished = 1; + mcelog_buf.entry[entry].finished = 1; wmb(); set_bit(0, &mce_need_notify); @@ -1958,7 +1958,7 @@ static ssize_t mce_chrdev_read(struct file *filp, char __user *ubuf, goto out; } - next = mce_log_get_idx_check(mcelog.next); + next = mce_log_get_idx_check(mcelog_buf.next); /* Only supports full reads right now */ err = -EINVAL; @@ -1970,7 +1970,7 @@ static ssize_t mce_chrdev_read(struct file *filp, char __user *ubuf, do { for (i = prev; i < next; i++) { unsigned long start = jiffies; - struct mce *m = &mcelog.entry[i]; + struct mce *m = &mcelog_buf.entry[i]; while (!m->finished) { if (time_after_eq(jiffies, start + 2)) { @@ -1986,10 +1986,10 @@ timeout: ; } - memset(mcelog.entry + prev, 0, + memset(mcelog_buf.entry + prev, 0, (next - prev) * sizeof(struct mce)); prev = next; - next = cmpxchg(&mcelog.next, prev, 0); + next = cmpxchg(&mcelog_buf.next, prev, 0); } while (next != prev); synchronize_sched(); @@ -2001,7 +2001,7 @@ timeout: on_each_cpu(collect_tscs, cpu_tsc, 1); for (i = next; i < MCE_LOG_LEN; i++) { - struct mce *m = &mcelog.entry[i]; + struct mce *m = &mcelog_buf.entry[i]; if (m->finished && m->tsc < cpu_tsc[m->cpu]) { err |= copy_to_user(buf, m, sizeof(*m)); @@ -2024,7 +2024,7 @@ out: static unsigned int mce_chrdev_poll(struct file *file, poll_table *wait) { poll_wait(file, &mce_chrdev_wait, wait); - if (READ_ONCE(mcelog.next)) + if (READ_ONCE(mcelog_buf.next)) return POLLIN | POLLRDNORM; if (!mce_apei_read_done && apei_check_mce()) return POLLIN | POLLRDNORM; @@ -2048,8 +2048,8 @@ static long mce_chrdev_ioctl(struct file *f, unsigned int cmd, unsigned flags; do { - flags = mcelog.flags; - } while (cmpxchg(&mcelog.flags, flags, 0) != flags); + flags = mcelog_buf.flags; + } while (cmpxchg(&mcelog_buf.flags, flags, 0) != flags); return put_user(flags, p); }