8#ifndef UPB_PORT_SANITIZERS_H_
9#define UPB_PORT_SANITIZERS_H_
20#include <sanitizer/hwasan_interface.h>
35 if (xsan->
state <= UPB_HWASAN_POISON_TAG) {
36 xsan->
state = UPB_HWASAN_POISON_TAG + 1;
54 return __hwasan_get_tag_from_pointer(addr);
61#if UPB_HWASAN || UPB_TSAN
71 void __asan_poison_memory_region(
void const volatile *addr,
size_t size);
72 __asan_poison_memory_region(addr, size);
82 void __asan_unpoison_memory_region(
void const volatile *addr,
size_t size);
83 __asan_unpoison_memory_region(addr, size);
87 return __hwasan_tag_pointer(addr, tag);
137 return __hwasan_tag_pointer(a, 0) == __hwasan_tag_pointer(b, 0);
151 __asm__
volatile(
"" ::
"r"(xsan->state));
158 __asm__
volatile(
"" :
"+r"(xsan->state));
#define UPB_UNUSED(var)
Definition def.inc:303
#define UPB_ASSUME(expr)
Definition def.inc:319
#define UPB_ALIGN_MALLOC(size)
Definition def.inc:207
#define UPB_INLINE
Definition def.inc:144
UPB_INLINE void UPB_PRIVATE upb_Xsan_PoisonRegion(const void *addr, size_t size)
Definition sanitizers.h:68
UPB_INLINE void *UPB_PRIVATE _upb_Xsan_UnpoisonRegion(void *addr, size_t size, uint8_t tag)
Definition sanitizers.h:78
UPB_INLINE bool UPB_PRIVATE upb_Xsan_PtrEq(const void *a, const void *b)
Definition sanitizers.h:135
UPB_INLINE void *UPB_PRIVATE upb_Xsan_NewUnpoisonedRegion(upb_Xsan *xsan, void *addr, size_t size)
Definition sanitizers.h:112
UPB_INLINE uint8_t _upb_Xsan_NextTag(upb_Xsan *xsan)
Definition sanitizers.h:32
@ UPB_PRIVATE
Definition sanitizers.h:48
UPB_INLINE void *UPB_PRIVATE upb_Xsan_ResizeUnpoisonedRegion(void *tagged_addr, size_t old_size, size_t new_size)
Definition sanitizers.h:125
UPB_INLINE void UPB_PRIVATE upb_Xsan_AccessReadWrite(upb_Xsan *xsan)
Definition sanitizers.h:155
UPB_INLINE void UPB_PRIVATE upb_Xsan_AccessReadOnly(upb_Xsan *xsan)
Definition sanitizers.h:148
UPB_INLINE uint8_t UPB_PRIVATE _upb_Xsan_GetTag(const void *addr)
Definition sanitizers.h:52
UPB_INLINE void UPB_PRIVATE upb_Xsan_Init(upb_Xsan *xsan)
Definition sanitizers.h:60
Definition sanitizers.h:28
uint8_t state
Definition sanitizers.h:29