mm/kfence/core.c
1079
struct kfence_metadata *meta;
mm/kfence/core.c
1083
if (!smp_load_acquire(&kfence_metadata))
mm/kfence/core.c
1089
meta = &kfence_metadata[i];
mm/kfence/core.c
1125
meta = &kfence_metadata[i];
mm/kfence/core.c
1216
const struct kfence_metadata *meta = addr_to_metadata((unsigned long)addr);
mm/kfence/core.c
1227
const struct kfence_metadata *meta = addr_to_metadata((unsigned long)addr);
mm/kfence/core.c
1238
struct kfence_metadata *meta = addr_to_metadata((unsigned long)addr);
mm/kfence/core.c
126
struct kfence_metadata *kfence_metadata __read_mostly;
mm/kfence/core.c
1266
struct kfence_metadata *to_report = NULL;
mm/kfence/core.c
1281
struct kfence_metadata *meta;
mm/kfence/core.c
134
static struct kfence_metadata *kfence_metadata_init __read_mostly;
mm/kfence/core.c
257
static inline unsigned long metadata_to_pageaddr(const struct kfence_metadata *meta)
mm/kfence/core.c
260
unsigned long offset = (meta - kfence_metadata + 1) * PAGE_SIZE * 2;
mm/kfence/core.c
266
if (KFENCE_WARN_ON(meta < kfence_metadata ||
mm/kfence/core.c
267
meta >= kfence_metadata + CONFIG_KFENCE_NUM_OBJECTS))
mm/kfence/core.c
280
static inline bool kfence_obj_allocated(const struct kfence_metadata *meta)
mm/kfence/core.c
292
metadata_update_state(struct kfence_metadata *meta, enum kfence_object_state next,
mm/kfence/core.c
338
struct kfence_metadata *meta;
mm/kfence/core.c
354
static inline void set_canary(const struct kfence_metadata *meta)
mm/kfence/core.c
372
check_canary(const struct kfence_metadata *meta)
mm/kfence/core.c
422
struct kfence_metadata *meta = NULL;
mm/kfence/core.c
433
meta = list_entry(kfence_freelist.next, struct kfence_metadata, list);
mm/kfence/core.c
518
static void kfence_guarded_free(void *addr, struct kfence_metadata *meta, bool zombie)
mm/kfence/core.c
591
struct kfence_metadata *meta = container_of(h, struct kfence_metadata, rcu_head);
mm/kfence/core.c
650
struct kfence_metadata *meta = &kfence_metadata_init[i];
mm/kfence/core.c
670
struct kfence_metadata *meta_1 = &kfence_metadata_init[i];
mm/kfence/core.c
671
struct kfence_metadata *meta_2 = &kfence_metadata_init[meta_1->addr];
mm/kfence/core.c
685
smp_store_release(&kfence_metadata, kfence_metadata_init);
mm/kfence/core.c
783
struct kfence_metadata *meta = &kfence_metadata[(long)v - 1];
mm/kfence/core.c
824
struct kfence_metadata *meta = &kfence_metadata[i];
mm/kfence/kfence.h
108
#define KFENCE_METADATA_SIZE PAGE_ALIGN(sizeof(struct kfence_metadata) * \
mm/kfence/kfence.h
111
extern struct kfence_metadata *kfence_metadata;
mm/kfence/kfence.h
113
static inline struct kfence_metadata *addr_to_metadata(unsigned long addr)
mm/kfence/kfence.h
131
return &kfence_metadata[index];
mm/kfence/kfence.h
144
const struct kfence_metadata *meta, enum kfence_error_type type);
mm/kfence/kfence.h
146
void kfence_print_object(struct seq_file *seq, const struct kfence_metadata *meta) __must_hold(&meta->lock);
mm/kfence/report.c
107
static void kfence_print_stack(struct seq_file *seq, const struct kfence_metadata *meta,
mm/kfence/report.c
136
void kfence_print_object(struct seq_file *seq, const struct kfence_metadata *meta)
mm/kfence/report.c
145
seq_con_printf(seq, "kfence-#%td unused\n", meta - kfence_metadata);
mm/kfence/report.c
150
meta - kfence_metadata, (void *)start, (void *)(start + size - 1),
mm/kfence/report.c
166
const struct kfence_metadata *meta)
mm/kfence/report.c
193
const struct kfence_metadata *meta, enum kfence_error_type type)
mm/kfence/report.c
196
const ptrdiff_t object_index = meta ? meta - kfence_metadata : -1;
mm/kfence/report.c
301
struct kfence_metadata *meta = addr_to_metadata((unsigned long)object);