mfd: ab8500-debugfs: Remove extraneous seq_putc
[linux-2.6-microblaze.git] / kernel / kcsan / report.c
index 9d07e17..d3bf87e 100644 (file)
@@ -228,6 +228,10 @@ static const char *get_access_type(int type)
                return "write";
        case KCSAN_ACCESS_WRITE | KCSAN_ACCESS_ATOMIC:
                return "write (marked)";
+       case KCSAN_ACCESS_COMPOUND | KCSAN_ACCESS_WRITE:
+               return "read-write";
+       case KCSAN_ACCESS_COMPOUND | KCSAN_ACCESS_WRITE | KCSAN_ACCESS_ATOMIC:
+               return "read-write (marked)";
        case KCSAN_ACCESS_SCOPED:
                return "read (scoped)";
        case KCSAN_ACCESS_SCOPED | KCSAN_ACCESS_ATOMIC:
@@ -275,8 +279,8 @@ static int get_stack_skipnr(const unsigned long stack_entries[], int num_entries
 
                cur = strnstr(buf, "kcsan_", len);
                if (cur) {
-                       cur += sizeof("kcsan_") - 1;
-                       if (strncmp(cur, "test", sizeof("test") - 1))
+                       cur += strlen("kcsan_");
+                       if (!str_has_prefix(cur, "test"))
                                continue; /* KCSAN runtime function. */
                        /* KCSAN related test. */
                }
@@ -555,7 +559,7 @@ static bool prepare_report_consumer(unsigned long *flags,
                 * If the actual accesses to not match, this was a false
                 * positive due to watchpoint encoding.
                 */
-               kcsan_counter_inc(KCSAN_COUNTER_ENCODING_FALSE_POSITIVES);
+               atomic_long_inc(&kcsan_counters[KCSAN_COUNTER_ENCODING_FALSE_POSITIVES]);
                goto discard;
        }