access_info
void __hwasan_tag_mismatch(unsigned long addr, unsigned long access_info);
u32 access_info;
u32 access_type = FIELD_GET(DT_ACCESS_TYPE, disc_table->access_info);
u32 size = FIELD_GET(DT_SIZE, disc_table->access_info);
const struct access_info *ai,
struct access_info ai;
const struct access_info *ai,
const struct access_info *ai,
const struct access_info *ai,
static struct access_info prepare_access_info(const volatile void *ptr, size_t size,
return (struct access_info) {
const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
const struct access_info ai = prepare_access_info(ptr, size, access_type, ip);
void kasan_tag_mismatch(void *addr, unsigned long access_info,
void kasan_tag_mismatch(void *addr, unsigned long access_info,
kasan_report(addr, 1 << (access_info & 0xf), access_info & 0x10,