Lines Matching refs:other_info

42 struct other_info {  struct
71 static struct other_info other_infos[CONFIG_KCSAN_NUM_WATCHPOINTS + NUM_SLOTS-1];
390 struct other_info *other_info, in print_report() argument
408 if (other_info) { in print_report()
409 other_skipnr = sanitize_stack_entries(other_info->stack_entries, in print_report()
410 other_info->num_stack_entries, in print_report()
411 other_info->ai.ip, &other_reordered_to); in print_report()
412 other_frame = other_info->stack_entries[other_skipnr]; in print_report()
424 if (other_info) { in print_report()
433 get_bug_type(ai->access_type | other_info->ai.access_type), in print_report()
444 if (other_info) { in print_report()
446 get_access_type(other_info->ai.access_type), other_info->ai.ptr, in print_report()
447 other_info->ai.size, get_thread_desc(other_info->ai.task_pid), in print_report()
448 other_info->ai.cpu_id); in print_report()
451 print_stack_trace(other_info->stack_entries + other_skipnr, in print_report()
452 other_info->num_stack_entries - other_skipnr, in print_report()
455 print_verbose_info(other_info->task); in print_report()
498 static void release_report(unsigned long *flags, struct other_info *other_info) in release_report() argument
504 other_info->ai.size = 0; in release_report()
516 struct other_info *other_info) in set_other_info_task_blocking() argument
533 other_info->task = current; in set_other_info_task_blocking()
558 other_info->task = NULL; in set_other_info_task_blocking()
565 } while (other_info->ai.size && other_info->ai.ptr == ai->ptr && in set_other_info_task_blocking()
566 other_info->task == current); in set_other_info_task_blocking()
574 struct other_info *other_info) in prepare_report_producer() argument
591 WARN_ON(other_info->ai.size); in prepare_report_producer()
593 other_info->ai = *ai; in prepare_report_producer()
594 other_info->num_stack_entries = stack_trace_save(other_info->stack_entries, NUM_STACK_ENTRIES, 2); in prepare_report_producer()
597 set_other_info_task_blocking(flags, ai, other_info); in prepare_report_producer()
605 struct other_info *other_info) in prepare_report_consumer() argument
609 while (!other_info->ai.size) { /* Await valid @other_info. */ in prepare_report_consumer()
616 …if (WARN_ON(!matching_access((unsigned long)other_info->ai.ptr & WATCHPOINT_ADDR_MASK, other_info-… in prepare_report_consumer()
620 if (!matching_access((unsigned long)other_info->ai.ptr, other_info->ai.size, in prepare_report_consumer()
633 release_report(flags, other_info); in prepare_report_consumer()
671 struct other_info *other_info = &other_infos[watchpoint_idx]; in kcsan_report_known_origin() local
684 if (!prepare_report_consumer(&flags, &ai, other_info)) in kcsan_report_known_origin()
692 print_report(value_change, &ai, other_info, old, new, mask); in kcsan_report_known_origin()
694 release_report(&flags, other_info); in kcsan_report_known_origin()