Lines Matching refs:size
55 uintptr_t size; member
92 static bool addr_crosses_scale_boundary(vaddr_t addr, size_t size) in addr_crosses_scale_boundary() argument
95 ((addr + size - 1) >> ASAN_BLOCK_SHIFT); in addr_crosses_scale_boundary()
276 static void asan_report(vaddr_t addr, size_t size) in asan_report() argument
303 addr, size); in asan_report()
368 size_t size) in asan_shadow_Nbyte_isvalid() argument
372 for (; i < size; i++) { in asan_shadow_Nbyte_isvalid()
380 static __always_inline void check_access(vaddr_t addr, size_t size) in check_access() argument
384 void *end = (void *)(addr + size); in check_access()
388 if (size == 0) in check_access()
399 if (__builtin_constant_p(size)) { in check_access()
400 switch (size) { in check_access()
414 valid = asan_shadow_Nbyte_isvalid(addr, size); in check_access()
418 valid = asan_shadow_Nbyte_isvalid(addr, size); in check_access()
422 asan_report(addr, size); in check_access()
425 static __always_inline void check_load(vaddr_t addr, size_t size) in check_load() argument
427 check_access(addr, size); in check_load()
430 static __always_inline void check_store(vaddr_t addr, size_t size) in check_store() argument
432 check_access(addr, size); in check_store()
435 static void __noreturn report_load(vaddr_t addr __unused, size_t size __unused) in report_load()
440 static void __noreturn report_store(vaddr_t addr __unused, size_t size __unused) in report_store()
447 #define DEFINE_ASAN_FUNC(type, size) \ argument
448 void __asan_##type##size(vaddr_t addr); \
449 void __asan_##type##size(vaddr_t addr) \
450 { check_##type(addr, size); } \
451 void __asan_##type##size##_noabort(vaddr_t addr); \
452 void __asan_##type##size##_noabort(vaddr_t addr) \
453 { check_##type(addr, size); } \
454 void __asan_report_##type##size##_noabort(vaddr_t addr);\
455 void __noreturn __asan_report_##type##size##_noabort(vaddr_t addr) \
456 { report_##type(addr, size); }
469 void __asan_loadN_noabort(vaddr_t addr, size_t size);
470 void __asan_loadN_noabort(vaddr_t addr, size_t size) in __asan_loadN_noabort() argument
472 check_load(addr, size); in __asan_loadN_noabort()
475 void __asan_storeN_noabort(vaddr_t addr, size_t size);
476 void __asan_storeN_noabort(vaddr_t addr, size_t size) in __asan_storeN_noabort() argument
478 check_store(addr, size); in __asan_storeN_noabort()
481 void __asan_report_load_n_noabort(vaddr_t addr, size_t size);
482 void __noreturn __asan_report_load_n_noabort(vaddr_t addr, size_t size) in __asan_report_load_n_noabort() argument
484 report_load(addr, size); in __asan_report_load_n_noabort()
487 void __asan_report_store_n_noabort(vaddr_t addr, size_t size);
488 void __noreturn __asan_report_store_n_noabort(vaddr_t addr, size_t size) in __asan_report_store_n_noabort() argument
490 report_store(addr, size); in __asan_report_store_n_noabort()
498 void __asan_register_globals(struct asan_global *globals, size_t size);
499 void __asan_register_globals(struct asan_global *globals, size_t size) in __asan_register_globals() argument
503 for (n = 0; n < size; n++) { in __asan_register_globals()
505 vaddr_t end = begin + globals[n].size; in __asan_register_globals()
516 void __asan_unregister_globals(struct asan_global *globals, size_t size);
518 size_t size __unused) in __asan_unregister_globals()