x86, mce: Cleanup mce_read()
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Wed, 8 Jun 2011 02:00:08 +0000 (11:00 +0900)
committerBorislav Petkov <borislav.petkov@amd.com>
Thu, 16 Jun 2011 10:10:13 +0000 (12:10 +0200)
Use a temporary local variable m to simplify the code. No change in
logic.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Link: http://lkml.kernel.org/r/4DEED7A8.8020307@jp.fujitsu.com
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
arch/x86/kernel/cpu/mcheck/mce.c

index f3f648c..54360e8 100644 (file)
@@ -1537,19 +1537,18 @@ static ssize_t mce_read(struct file *filp, char __user *ubuf, size_t usize,
        do {
                for (i = prev; i < next; i++) {
                        unsigned long start = jiffies;
+                       struct mce *m = &mcelog.entry[i];
 
-                       while (!mcelog.entry[i].finished) {
+                       while (!m->finished) {
                                if (time_after_eq(jiffies, start + 2)) {
-                                       memset(mcelog.entry + i, 0,
-                                              sizeof(struct mce));
+                                       memset(m, 0, sizeof(*m));
                                        goto timeout;
                                }
                                cpu_relax();
                        }
                        smp_rmb();
-                       err |= copy_to_user(buf, mcelog.entry + i,
-                                           sizeof(struct mce));
-                       buf += sizeof(struct mce);
+                       err |= copy_to_user(buf, m, sizeof(*m));
+                       buf += sizeof(*m);
 timeout:
                        ;
                }
@@ -1569,13 +1568,13 @@ timeout:
        on_each_cpu(collect_tscs, cpu_tsc, 1);
 
        for (i = next; i < MCE_LOG_LEN; i++) {
-               if (mcelog.entry[i].finished &&
-                   mcelog.entry[i].tsc < cpu_tsc[mcelog.entry[i].cpu]) {
-                       err |= copy_to_user(buf, mcelog.entry+i,
-                                           sizeof(struct mce));
+               struct mce *m = &mcelog.entry[i];
+
+               if (m->finished && m->tsc < cpu_tsc[m->cpu]) {
+                       err |= copy_to_user(buf, m, sizeof(*m));
                        smp_rmb();
-                       buf += sizeof(struct mce);
-                       memset(&mcelog.entry[i], 0, sizeof(struct mce));
+                       buf += sizeof(*m);
+                       memset(m, 0, sizeof(*m));
                }
        }