Lines Matching refs:size
33 uintptr_t size; member
49 static bool addr_crosses_scale_boundary(vaddr_t addr, size_t size) in addr_crosses_scale_boundary() argument
52 ((addr + size - 1) >> ASAN_BLOCK_SHIFT); in addr_crosses_scale_boundary()
189 static void asan_report(vaddr_t addr, size_t size) in asan_report() argument
216 addr, size); in asan_report()
281 size_t size) in asan_shadow_Nbyte_isvalid() argument
285 for (; i < size; i++) { in asan_shadow_Nbyte_isvalid()
293 static __always_inline void check_access(vaddr_t addr, size_t size) in check_access() argument
297 void *end = (void *)(addr + size); in check_access()
301 if (size == 0) in check_access()
312 if (__builtin_constant_p(size)) { in check_access()
313 switch (size) { in check_access()
327 valid = asan_shadow_Nbyte_isvalid(addr, size); in check_access()
331 valid = asan_shadow_Nbyte_isvalid(addr, size); in check_access()
335 asan_report(addr, size); in check_access()
338 static __always_inline void check_load(vaddr_t addr, size_t size) in check_load() argument
340 check_access(addr, size); in check_load()
343 static __always_inline void check_store(vaddr_t addr, size_t size) in check_store() argument
345 check_access(addr, size); in check_store()
348 static void __noreturn report_load(vaddr_t addr __unused, size_t size __unused) in report_load()
353 static void __noreturn report_store(vaddr_t addr __unused, size_t size __unused) in report_store()
360 #define DEFINE_ASAN_FUNC(type, size) \ argument
361 void __asan_##type##size(vaddr_t addr); \
362 void __asan_##type##size(vaddr_t addr) \
363 { check_##type(addr, size); } \
364 void __asan_##type##size##_noabort(vaddr_t addr); \
365 void __asan_##type##size##_noabort(vaddr_t addr) \
366 { check_##type(addr, size); } \
367 void __asan_report_##type##size##_noabort(vaddr_t addr);\
368 void __noreturn __asan_report_##type##size##_noabort(vaddr_t addr) \
369 { report_##type(addr, size); }
382 void __asan_loadN_noabort(vaddr_t addr, size_t size);
383 void __asan_loadN_noabort(vaddr_t addr, size_t size) in __asan_loadN_noabort() argument
385 check_load(addr, size); in __asan_loadN_noabort()
388 void __asan_storeN_noabort(vaddr_t addr, size_t size);
389 void __asan_storeN_noabort(vaddr_t addr, size_t size) in __asan_storeN_noabort() argument
391 check_store(addr, size); in __asan_storeN_noabort()
394 void __asan_report_load_n_noabort(vaddr_t addr, size_t size);
395 void __noreturn __asan_report_load_n_noabort(vaddr_t addr, size_t size) in __asan_report_load_n_noabort() argument
397 report_load(addr, size); in __asan_report_load_n_noabort()
400 void __asan_report_store_n_noabort(vaddr_t addr, size_t size);
401 void __noreturn __asan_report_store_n_noabort(vaddr_t addr, size_t size) in __asan_report_store_n_noabort() argument
403 report_store(addr, size); in __asan_report_store_n_noabort()
411 void __asan_register_globals(struct asan_global *globals, size_t size);
412 void __asan_register_globals(struct asan_global *globals, size_t size) in __asan_register_globals() argument
416 for (n = 0; n < size; n++) { in __asan_register_globals()
418 vaddr_t end = begin + globals[n].size; in __asan_register_globals()
428 void __asan_unregister_globals(struct asan_global *globals, size_t size);
430 size_t size __unused) in __asan_unregister_globals()