Lines Matching full:access
38 /* Points to current test-case memory access "kernels". */
138 /* Access information of both accesses. */
141 void *addr; /* Address of access; unchecked if NULL. */
142 size_t size; /* Size of access; unchecked if @addr is NULL. */
143 int type; /* Access type, see KCSAN_ACCESS definitions. */
144 } access[2]; member
151 const bool is_assert = (r->access[0].type | r->access[1].type) & KCSAN_ACCESS_ASSERT; in report_matches()
170 if (r->access[1].fn) { in report_matches()
175 scnprintf(tmp[0], sizeof(tmp[0]), "%pS", r->access[0].fn); in report_matches()
176 scnprintf(tmp[1], sizeof(tmp[1]), "%pS", r->access[1].fn); in report_matches()
179 cmp < 0 ? r->access[0].fn : r->access[1].fn, in report_matches()
180 cmp < 0 ? r->access[1].fn : r->access[0].fn); in report_matches()
182 scnprintf(cur, end - cur, "%pS", r->access[0].fn); in report_matches()
189 /* Access 1 */ in report_matches()
192 if (!r->access[1].fn) in report_matches()
195 /* Access 1 & 2 */ in report_matches()
197 const int ty = r->access[i].type; in report_matches()
214 /* Access 2 */ in report_matches()
218 if (!r->access[1].fn) { in report_matches()
219 /* Dummy string if no second access is available. */ in report_matches()
228 if (r->access[i].addr) /* Address is optional. */ in report_matches()
230 r->access[i].addr, r->access[i].size); in report_matches()
239 /* Access info may appear in any order. */ in report_matches()
432 .access = { in test_basic()
438 .access = { in test_basic()
463 .access = { in test_concurrent_races()
470 .access = { in test_concurrent_races()
492 .access = { in test_novalue_change()
517 .access = { in test_novalue_change_exception()
536 .access = { in test_unknown_origin()
558 .access = { in test_write_write_assume_atomic()
584 .access = { in test_write_write_struct()
606 .access = { in test_write_write_struct_part()
633 /* Test that a race with an atomic and plain access result in reports. */
638 .access = { in test_read_plain_atomic_write()
660 .access = { in test_read_plain_atomic_rmw()
683 .access = { in test_zero_size_access()
689 .access = { in test_zero_size_access()
723 .access = { in test_assert_exclusive_writer()
741 .access = { in test_assert_exclusive_access()
759 .access = { in test_assert_exclusive_access_writer()
765 .access = { in test_assert_exclusive_access_writer()
771 .access = { in test_assert_exclusive_access_writer()
795 .access = { in test_assert_exclusive_bits_change()
826 .access = { in test_assert_exclusive_writer_scoped()
832 .access = { in test_assert_exclusive_writer_scoped()
853 .access = { in test_assert_exclusive_access_scoped()
859 .access = { expect_start1.access[0], expect_start1.access[0] }, in test_assert_exclusive_access_scoped()
862 .access = { in test_assert_exclusive_access_scoped()
967 .access = { in test_1bit_value_change()