MCPcopy Create free account
hub / github.com/F-Stack/f-stack / kcsan_report

Function kcsan_report

freebsd/kern/subr_csan.c:105–132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

103/* -------------------------------------------------------------------------- */
104
105static inline void
106kcsan_report(csan_cell_t *new, u_int newcpu, csan_cell_t *old, u_int oldcpu)
107{
108 const char *newsym, *oldsym;
109#ifdef DDB
110 c_db_sym_t sym;
111 db_expr_t offset;
112
113 sym = db_search_symbol((vm_offset_t)new->pc, DB_STGY_PROC, &offset);
114 db_symbol_values(sym, &newsym, NULL);
115
116 sym = db_search_symbol((vm_offset_t)old->pc, DB_STGY_PROC, &offset);
117 db_symbol_values(sym, &oldsym, NULL);
118#else
119 newsym = "";
120 oldsym = "";
121#endif
122 REPORT("CSan: Racy Access "
123 "[Cpu%u %s%s Addr=%p Size=%u PC=%p<%s>] "
124 "[Cpu%u %s%s Addr=%p Size=%u PC=%p<%s>]\n",
125 newcpu,
126 (new->atomic ? "Atomic " : ""), (new->write ? "Write" : "Read"),
127 (void *)new->addr, new->size, (void *)new->pc, newsym,
128 oldcpu,
129 (old->atomic ? "Atomic " : ""), (old->write ? "Write" : "Read"),
130 (void *)old->addr, old->size, (void *)old->pc, oldsym);
131 kcsan_md_unwind();
132}
133
134static inline bool
135kcsan_access_is_atomic(csan_cell_t *new, csan_cell_t *old)

Callers 1

kcsan_accessFunction · 0.85

Calls 3

db_search_symbolFunction · 0.85
db_symbol_valuesFunction · 0.85
kcsan_md_unwindFunction · 0.50

Tested by

no test coverage detected