Lines Matching refs:ai
43 struct access_info ai;
392 const struct access_info *ai,
400 int skipnr = sanitize_stack_entries(stack_entries, num_stack_entries, ai->ip, &reordered_to);
415 other_info->ai.ip, &other_reordered_to);
437 get_bug_type(ai->access_type | other_info->ai.access_type),
441 pr_err("BUG: KCSAN: %s in %pS\n", get_bug_type(ai->access_type),
450 get_access_type(other_info->ai.access_type), other_info->ai.ptr,
451 other_info->ai.size, get_thread_desc(other_info->ai.task_pid),
452 other_info->ai.cpu_id);
463 get_access_type(ai->access_type), ai->ptr, ai->size,
464 get_thread_desc(ai->task_pid), ai->cpu_id);
467 get_access_type(ai->access_type), ai->ptr, ai->size,
468 get_thread_desc(ai->task_pid), ai->cpu_id);
476 if (ai->size <= 8) {
477 int hex_len = ai->size * 2;
509 other_info->ai.size = 0;
517 const struct access_info *ai,
568 } while (other_info->ai.size && other_info->ai.ptr == ai->ptr &&
576 const struct access_info *ai,
595 WARN_ON(other_info->ai.size);
597 other_info->ai = *ai;
601 set_other_info_task_blocking(flags, ai, other_info);
608 const struct access_info *ai,
614 while (!other_info->ai.size) { /* Await valid @other_info. */
621 if (WARN_ON(!matching_access((unsigned long)other_info->ai.ptr & WATCHPOINT_ADDR_MASK, other_info->ai.size,
622 (unsigned long)ai->ptr & WATCHPOINT_ADDR_MASK, ai->size)))
625 if (!matching_access((unsigned long)other_info->ai.ptr, other_info->ai.size,
626 (unsigned long)ai->ptr, ai->size)) {
659 const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
665 prepare_report_producer(&flags, &ai, &other_infos[watchpoint_idx]);
675 const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
689 if (!prepare_report_consumer(&flags, &ai, other_info))
697 print_report(value_change, &ai, other_info, old, new, mask);
708 const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
715 print_report(KCSAN_VALUE_CHANGE_TRUE, &ai, NULL, old, new, mask);