Lines Matching refs:addr
222 static inline bool addr_has_metadata(const void *addr) in addr_has_metadata() argument
224 return (addr >= kasan_shadow_to_mem((void *)KASAN_SHADOW_START)); in addr_has_metadata()
235 bool kasan_check_range(unsigned long addr, size_t size, bool write,
240 static inline bool addr_has_metadata(const void *addr) in addr_has_metadata() argument
242 return (is_vmalloc_addr(addr) || virt_addr_valid(addr)); in addr_has_metadata()
248 void kasan_print_tags(u8 addr_tag, const void *addr);
250 static inline void kasan_print_tags(u8 addr_tag, const void *addr) { } in kasan_print_tags() argument
253 void *kasan_find_first_bad_addr(void *addr, size_t size);
258 void kasan_print_address_stack_frame(const void *addr);
260 static inline void kasan_print_address_stack_frame(const void *addr) { } in kasan_print_address_stack_frame() argument
263 bool kasan_report(unsigned long addr, size_t size,
267 struct page *kasan_addr_to_page(const void *addr);
287 static inline const void *arch_kasan_set_tag(const void *addr, u8 tag) in arch_kasan_set_tag() argument
289 return addr; in arch_kasan_set_tag()
293 #define arch_kasan_get_tag(addr) 0 argument
296 #define set_tag(addr, tag) ((void *)arch_kasan_set_tag((addr), (tag))) argument
297 #define get_tag(addr) arch_kasan_get_tag(addr) argument
317 #define arch_get_mem_tag(addr) (0xFF) argument
320 #define arch_set_mem_tag_range(addr, size, tag, init) ((void *)(addr)) argument
328 #define hw_get_mem_tag(addr) arch_get_mem_tag(addr) argument
329 #define hw_set_mem_tag_range(addr, size, tag, init) \ argument
330 arch_set_mem_tag_range((addr), (size), (tag), (init))
362 static inline void kasan_poison(const void *addr, size_t size, u8 value, bool init) in kasan_poison() argument
364 addr = kasan_reset_tag(addr); in kasan_poison()
367 if (is_kfence_address(addr)) in kasan_poison()
370 if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK)) in kasan_poison()
375 hw_set_mem_tag_range((void *)addr, size, value, init); in kasan_poison()
378 static inline void kasan_unpoison(const void *addr, size_t size, bool init) in kasan_unpoison() argument
380 u8 tag = get_tag(addr); in kasan_unpoison()
382 addr = kasan_reset_tag(addr); in kasan_unpoison()
385 if (is_kfence_address(addr)) in kasan_unpoison()
388 if (WARN_ON((unsigned long)addr & KASAN_GRANULE_MASK)) in kasan_unpoison()
399 memzero_explicit((void *)addr, size); in kasan_unpoison()
403 hw_set_mem_tag_range((void *)addr, size, tag, init); in kasan_unpoison()
406 static inline bool kasan_byte_accessible(const void *addr) in kasan_byte_accessible() argument
408 u8 ptr_tag = get_tag(addr); in kasan_byte_accessible()
409 u8 mem_tag = hw_get_mem_tag((void *)addr); in kasan_byte_accessible()
425 void kasan_poison(const void *addr, size_t size, u8 value, bool init);
438 void kasan_unpoison(const void *addr, size_t size, bool init);
440 bool kasan_byte_accessible(const void *addr);
477 void __asan_alloca_poison(unsigned long addr, size_t size);
480 void __asan_load1(unsigned long addr);
481 void __asan_store1(unsigned long addr);
482 void __asan_load2(unsigned long addr);
483 void __asan_store2(unsigned long addr);
484 void __asan_load4(unsigned long addr);
485 void __asan_store4(unsigned long addr);
486 void __asan_load8(unsigned long addr);
487 void __asan_store8(unsigned long addr);
488 void __asan_load16(unsigned long addr);
489 void __asan_store16(unsigned long addr);
490 void __asan_loadN(unsigned long addr, size_t size);
491 void __asan_storeN(unsigned long addr, size_t size);
493 void __asan_load1_noabort(unsigned long addr);
494 void __asan_store1_noabort(unsigned long addr);
495 void __asan_load2_noabort(unsigned long addr);
496 void __asan_store2_noabort(unsigned long addr);
497 void __asan_load4_noabort(unsigned long addr);
498 void __asan_store4_noabort(unsigned long addr);
499 void __asan_load8_noabort(unsigned long addr);
500 void __asan_store8_noabort(unsigned long addr);
501 void __asan_load16_noabort(unsigned long addr);
502 void __asan_store16_noabort(unsigned long addr);
503 void __asan_loadN_noabort(unsigned long addr, size_t size);
504 void __asan_storeN_noabort(unsigned long addr, size_t size);
506 void __asan_report_load1_noabort(unsigned long addr);
507 void __asan_report_store1_noabort(unsigned long addr);
508 void __asan_report_load2_noabort(unsigned long addr);
509 void __asan_report_store2_noabort(unsigned long addr);
510 void __asan_report_load4_noabort(unsigned long addr);
511 void __asan_report_store4_noabort(unsigned long addr);
512 void __asan_report_load8_noabort(unsigned long addr);
513 void __asan_report_store8_noabort(unsigned long addr);
514 void __asan_report_load16_noabort(unsigned long addr);
515 void __asan_report_store16_noabort(unsigned long addr);
516 void __asan_report_load_n_noabort(unsigned long addr, size_t size);
517 void __asan_report_store_n_noabort(unsigned long addr, size_t size);
519 void __asan_set_shadow_00(const void *addr, size_t size);
520 void __asan_set_shadow_f1(const void *addr, size_t size);
521 void __asan_set_shadow_f2(const void *addr, size_t size);
522 void __asan_set_shadow_f3(const void *addr, size_t size);
523 void __asan_set_shadow_f5(const void *addr, size_t size);
524 void __asan_set_shadow_f8(const void *addr, size_t size);
526 void __hwasan_load1_noabort(unsigned long addr);
527 void __hwasan_store1_noabort(unsigned long addr);
528 void __hwasan_load2_noabort(unsigned long addr);
529 void __hwasan_store2_noabort(unsigned long addr);
530 void __hwasan_load4_noabort(unsigned long addr);
531 void __hwasan_store4_noabort(unsigned long addr);
532 void __hwasan_load8_noabort(unsigned long addr);
533 void __hwasan_store8_noabort(unsigned long addr);
534 void __hwasan_load16_noabort(unsigned long addr);
535 void __hwasan_store16_noabort(unsigned long addr);
536 void __hwasan_loadN_noabort(unsigned long addr, size_t size);
537 void __hwasan_storeN_noabort(unsigned long addr, size_t size);
539 void __hwasan_tag_memory(unsigned long addr, u8 tag, unsigned long size);