1fun:main=uninstrumented 2fun:main=discard 3 4############################################################################### 5# DFSan interface functions 6############################################################################### 7fun:dfsan_union=uninstrumented 8fun:dfsan_union=discard 9fun:dfsan_create_label=uninstrumented 10fun:dfsan_create_label=discard 11fun:dfsan_set_label=uninstrumented 12fun:dfsan_set_label=discard 13fun:dfsan_add_label=uninstrumented 14fun:dfsan_add_label=discard 15fun:dfsan_get_label=uninstrumented 16fun:dfsan_get_label=custom 17fun:dfsan_read_label=uninstrumented 18fun:dfsan_read_label=discard 19fun:dfsan_get_label_count=uninstrumented 20fun:dfsan_get_label_count=discard 21fun:dfsan_get_label_info=uninstrumented 22fun:dfsan_get_label_info=discard 23fun:dfsan_has_label=uninstrumented 24fun:dfsan_has_label=discard 25fun:dfsan_has_label_with_desc=uninstrumented 26fun:dfsan_has_label_with_desc=discard 27fun:dfsan_set_write_callback=uninstrumented 28fun:dfsan_set_write_callback=custom 29fun:dfsan_flush=uninstrumented 30fun:dfsan_flush=discard 31fun:dfsan_print_origin_trace=uninstrumented 32fun:dfsan_print_origin_trace=discard 33fun:dfsan_print_origin_id_trace=uninstrumented 34fun:dfsan_print_origin_id_trace=discard 35fun:dfsan_sprint_origin_trace=uninstrumented 36fun:dfsan_sprint_origin_trace=discard 37fun:dfsan_sprint_origin_id_trace=uninstrumented 38fun:dfsan_sprint_origin_id_trace=discard 39fun:dfsan_sprint_stack_trace=uninstrumented 40fun:dfsan_sprint_stack_trace=discard 41fun:dfsan_get_origin=uninstrumented 42fun:dfsan_get_origin=custom 43fun:dfsan_read_origin_of_first_taint=uninstrumented 44fun:dfsan_read_origin_of_first_taint=discard 45fun:dfsan_get_init_origin=uninstrumented 46fun:dfsan_get_init_origin=discard 47fun:dfsan_get_track_origins=uninstrumented 48fun:dfsan_get_track_origins=discard 49fun:dfsan_set_conditional_callback=uninstrumented 50fun:dfsan_set_conditional_callback=discard 51fun:dfsan_get_labels_in_signal_conditional=uninstrumented 52fun:dfsan_get_labels_in_signal_conditional=discard 53fun:dfsan_set_reaches_function_callback=uninstrumented 54fun:dfsan_set_reaches_function_callback=discard 55fun:dfsan_get_labels_in_signal_reaches_function=uninstrumented 56fun:dfsan_get_labels_in_signal_reaches_function=discard 57fun:dfsan_reaches_function_callback=uninstrumented 58fun:dfsan_reaches_function_callback=discard 59 60############################################################################### 61# glibc 62############################################################################### 63# Functions of memory allocators 64fun:__libc_memalign=discard 65fun:aligned_alloc=discard 66fun:calloc=discard 67fun:cfree=discard 68fun:mallinfo=discard 69fun:malloc=discard 70fun:free=discard 71fun:malloc_stats=discard 72fun:malloc_usable_size=discard 73fun:mallopt=discard 74fun:memalign=discard 75fun:posix_memalign=discard 76fun:pvalloc=discard 77fun:realloc=discard 78fun:reallocarray=discard 79fun:valloc=discard 80 81# Functions that return a value that depends on the input, but the output might 82# not be necessarily data-dependent on the input. 83fun:isalpha=functional 84fun:isdigit=functional 85fun:isprint=functional 86fun:isxdigit=functional 87fun:isalnum=functional 88fun:ispunct=functional 89fun:isspace=functional 90fun:tolower=functional 91fun:_tolower=functional 92fun:toupper=functional 93 94# Functions that return a value that is data-dependent on the input. 95fun:__isinf=functional 96fun:__isinff=functional 97fun:__signbit=functional 98fun:__signbitf=functional 99fun:__signbitl=functional 100fun:btowc=functional 101fun:exp=functional 102fun:exp2=functional 103fun:expf=functional 104fun:expl=functional 105fun:fabs=functional 106fun:finite=functional 107fun:finitef=functional 108fun:finitel=functional 109fun:floor=functional 110fun:fmod=functional 111fun:isinf=functional 112fun:isinff=functional 113fun:isinfl=functional 114fun:isnan=functional 115fun:isnanf=functional 116fun:isnanl=functional 117fun:log=functional 118fun:log1p=functional 119fun:log1pf=functional 120fun:log1pl=functional 121fun:log2=functional 122fun:log2f=functional 123fun:log2l=functional 124fun:modf=functional 125fun:nextafter=functional 126fun:nextafterf=functional 127fun:nextafterl=functional 128fun:nexttoward=functional 129fun:nexttowardf=functional 130fun:nexttowardl=functional 131fun:pow=functional 132fun:powf=functional 133fun:powl=functional 134fun:round=functional 135fun:sqrt=functional 136fun:sqrtf=functional 137fun:sqrtl=functional 138fun:wctob=functional 139 140# Functions that produce an output that does not depend on the input (shadow is 141# zeroed automatically). 142fun:__assert_fail=discard 143fun:__cmsg_nxthdr=discard 144fun:__ctype_b_loc=discard 145fun:__cxa_atexit=discard 146fun:__errno_location=discard 147fun:__newlocale=discard 148fun:__sbrk=discard 149fun:__sigsetjmp=discard 150fun:__uselocale=discard 151fun:__wctype_l=discard 152fun:access=discard 153fun:alarm=discard 154fun:atexit=discard 155fun:bind=discard 156fun:chdir=discard 157fun:close=discard 158fun:closedir=discard 159fun:connect=discard 160fun:creat=discard 161fun:dladdr=discard 162fun:dlclose=discard 163fun:epoll_create=discard 164fun:epoll_create1=discard 165fun:epoll_ctl=discard 166fun:fclose=discard 167fun:feof=discard 168fun:ferror=discard 169fun:fflush=discard 170fun:fileno=discard 171fun:fopen=discard 172fun:fprintf=discard 173fun:fputc=discard 174fun:fputc=discard 175fun:fputs=discard 176fun:fputs=discard 177fun:fseek=discard 178fun:ftell=discard 179fun:fwrite=discard 180fun:getenv=discard 181fun:getuid=discard 182fun:geteuid=discard 183fun:getpagesize=discard 184fun:getpid=discard 185fun:kill=discard 186fun:listen=discard 187fun:lseek=discard 188fun:mkdir=discard 189fun:mmap=discard 190fun:munmap=discard 191fun:open=discard 192fun:openat=discard 193fun:pipe=discard 194fun:posix_fadvise=discard 195fun:prctl=discard 196fun:printf=discard 197fun:pthread_sigmask=discard 198fun:putc=discard 199fun:putchar=discard 200fun:puts=discard 201fun:rand=discard 202fun:random=discard 203fun:remove=discard 204fun:sched_getcpu=discard 205fun:sched_get_priority_max=discard 206fun:sched_setaffinity=discard 207fun:sched_yield=discard 208fun:sem_destroy=discard 209fun:sem_init=discard 210fun:sem_post=discard 211fun:sem_wait=discard 212fun:send=discard 213fun:sendmsg=discard 214fun:sendto=discard 215fun:setsockopt=discard 216fun:shutdown=discard 217fun:sleep=discard 218fun:socket=discard 219fun:strerror=discard 220fun:strspn=discard 221fun:strcspn=discard 222fun:symlink=discard 223fun:syscall=discard 224fun:unlink=discard 225fun:uselocale=discard 226fun:vfprintf=discard 227 228# Functions that produce output does not depend on the input (need to zero the 229# shadow manually). 230fun:_dl_get_tls_static_info=custom 231fun:clock_gettime=custom 232fun:dlopen=custom 233fun:epoll_wait=custom 234fun:fgets=custom 235fun:fstat=custom 236fun:getcwd=custom 237fun:get_current_dir_name=custom 238fun:getentropy=custom 239fun:gethostname=custom 240fun:getpeername=custom 241fun:getrlimit=custom 242fun:getrusage=custom 243fun:getsockname=custom 244fun:getsockopt=custom 245fun:nanosleep=custom 246fun:pread=custom 247fun:read=custom 248fun:recvmmsg=custom 249fun:recvmsg=custom 250fun:sigaltstack=custom 251fun:socketpair=custom 252fun:stat=custom 253fun:time=custom 254 255# Functions that produce an output that depend on the input (propagate the 256# shadow manually). 257fun:ctime_r=custom 258fun:inet_pton=custom 259fun:localtime_r=custom 260fun:memcpy=custom 261fun:memmove=custom 262fun:memset=custom 263fun:strcpy=custom 264fun:strdup=custom 265fun:strncpy=custom 266fun:strtod=custom 267fun:strtol=custom 268fun:strtoll=custom 269fun:strtoul=custom 270fun:strtoull=custom 271fun:strcat=custom 272fun:strncat=custom 273fun:__isoc23_strtod=custom 274fun:__isoc23_strtol=custom 275fun:__isoc23_strtoll=custom 276fun:__isoc23_strtoul=custom 277fun:__isoc23_strtoull=custom 278 279# Functions that produce an output that is computed from the input, but is not 280# necessarily data dependent. 281fun:bcmp=custom 282fun:memchr=custom 283fun:memcmp=custom 284fun:strcasecmp=custom 285fun:strchr=custom 286fun:strcmp=custom 287fun:strlen=custom 288fun:strnlen=custom 289fun:strncasecmp=custom 290fun:strncmp=custom 291fun:strpbrk=custom 292fun:strrchr=custom 293fun:strstr=custom 294fun:strsep=custom 295 296# Functions which take action based on global state, such as running a callback 297# set by a separate function. 298fun:write=custom 299 300# Functions that take a callback (wrap the callback manually). 301fun:dl_iterate_phdr=custom 302 303fun:getpwuid_r=custom 304fun:poll=custom 305fun:sched_getaffinity=custom 306fun:select=custom 307fun:sigemptyset=custom 308fun:sigaction=custom 309fun:signal=custom 310fun:gettimeofday=custom 311 312# sprintf-like 313fun:sprintf=custom 314fun:snprintf=custom 315 316# scanf-like 317fun:sscanf=custom 318fun:__isoc99_sscanf=custom 319fun:__isoc23_sscanf=custom 320 321# TODO: custom 322fun:asprintf=discard 323fun:qsort=discard 324 325# fork 326fun:fork=custom 327 328############################################################################### 329# pthread 330############################################################################### 331fun:__pthread_register_cancel=discard 332fun:__pthread_unregister_cancel=discard 333fun:pthread_attr_destroy=discard 334fun:pthread_attr_getaffinity_np=discard 335fun:pthread_attr_getdetachstate=discard 336fun:pthread_attr_getguardsize=discard 337fun:pthread_attr_getinheritsched=discard 338fun:pthread_attr_getschedparam=discard 339fun:pthread_attr_getschedpolicy=discard 340fun:pthread_attr_getscope=discard 341fun:pthread_attr_getstack=discard 342fun:pthread_attr_getstackaddr=disacrd 343fun:pthread_attr_getstacksize=discard 344fun:pthread_attr_init=discard 345fun:pthread_attr_setaffinity_np=discard 346fun:pthread_attr_setdetachstate=discard 347fun:pthread_attr_setguardsize=discard 348fun:pthread_attr_setinheritsched=discard 349fun:pthread_attr_setschedparam=discard 350fun:pthread_attr_setschedpolicy=discard 351fun:pthread_attr_setscope=discard 352fun:pthread_attr_setstack=discard 353fun:pthread_attr_setstackaddr=discard 354fun:pthread_attr_setstacksize=discard 355fun:pthread_equal=discard 356fun:pthread_getschedparam=discard 357fun:pthread_getspecific=discard 358fun:pthread_key_create=discard 359fun:pthread_key_delete=discard 360fun:pthread_mutex_destroy=discard 361fun:pthread_mutex_init=discard 362fun:pthread_mutex_lock=discard 363fun:pthread_mutex_trylock=discard 364fun:pthread_mutex_unlock=discard 365fun:pthread_mutexattr_destroy=discard 366fun:pthread_mutexattr_init=discard 367fun:pthread_mutexattr_settype=discard 368fun:pthread_rwlock_destroy=discard 369fun:pthread_rwlock_init=discard 370fun:pthread_rwlock_rdlock=discard 371fun:pthread_rwlock_timedrdlock=discard 372fun:pthread_rwlock_timedwrlock=discard 373fun:pthread_rwlock_tryrdlock=discard 374fun:pthread_rwlock_trywrlock=discard 375fun:pthread_rwlock_wrlock=discard 376fun:pthread_rwlock_unlock=discard 377fun:pthread_setschedparam=discard 378fun:pthread_setname_np=discard 379fun:pthread_once=discard 380fun:pthread_self=discard 381fun:pthread_setspecific=discard 382 383# Functions that take a callback (wrap the callback manually). 384fun:pthread_create=custom 385 386# Functions that produce output does not depend on the input (need to zero the 387# shadow manually). 388fun:pthread_join=custom 389 390############################################################################### 391# libffi/libgo 392############################################################################### 393# Functions that are written in asm or are called from asm. 394fun:ffi_call_unix64=uninstrumented 395fun:ffi_call_unix64=discard 396fun:ffi_closure_unix64_inner=uninstrumented 397fun:ffi_closure_unix64_inner=discard 398fun:ffi_closure_unix64=uninstrumented 399fun:ffi_closure_unix64=discard 400fun:__go_get_closure=uninstrumented 401fun:__go_get_closure=discard 402fun:__go_makefunc_can_recover=uninstrumented 403fun:__go_makefunc_can_recover=discard 404fun:__go_makefunc_returning=uninstrumented 405fun:__go_makefunc_returning=discard 406fun:reflect.MakeFuncStubGo=uninstrumented 407fun:reflect.MakeFuncStubGo=discard 408fun:reflect.makeFuncStub=uninstrumented 409fun:reflect.makeFuncStub=discard 410 411 412############################################################################### 413# lib/Fuzzer 414############################################################################### 415# Replaces __sanitizer_cov_trace_cmp with __dfsw___sanitizer_cov_trace_cmp 416fun:__sanitizer_cov_trace_cmp1=custom 417fun:__sanitizer_cov_trace_cmp1=uninstrumented 418fun:__sanitizer_cov_trace_cmp2=custom 419fun:__sanitizer_cov_trace_cmp2=uninstrumented 420fun:__sanitizer_cov_trace_cmp4=custom 421fun:__sanitizer_cov_trace_cmp4=uninstrumented 422fun:__sanitizer_cov_trace_cmp8=custom 423fun:__sanitizer_cov_trace_cmp8=uninstrumented 424fun:__sanitizer_cov_trace_const_cmp1=custom 425fun:__sanitizer_cov_trace_const_cmp1=uninstrumented 426fun:__sanitizer_cov_trace_const_cmp2=custom 427fun:__sanitizer_cov_trace_const_cmp2=uninstrumented 428fun:__sanitizer_cov_trace_const_cmp4=custom 429fun:__sanitizer_cov_trace_const_cmp4=uninstrumented 430fun:__sanitizer_cov_trace_const_cmp8=custom 431fun:__sanitizer_cov_trace_const_cmp8=uninstrumented 432# Similar for __sanitizer_cov_trace_switch 433fun:__sanitizer_cov_trace_switch=custom 434fun:__sanitizer_cov_trace_switch=uninstrumented 435 436# Ignores all other __sanitizer callbacks. 437fun:__sanitizer_cov=uninstrumented 438fun:__sanitizer_cov=discard 439fun:__sanitizer_cov_module_init=uninstrumented 440fun:__sanitizer_cov_module_init=discard 441fun:__sanitizer_cov_with_check=uninstrumented 442fun:__sanitizer_cov_with_check=discard 443fun:__sanitizer_set_death_callback=uninstrumented 444fun:__sanitizer_set_death_callback=discard 445fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented 446fun:__sanitizer_update_counter_bitset_and_clear_counters=discard 447fun:__sanitizer_cov_trace_pc*=uninstrumented 448fun:__sanitizer_cov_trace_pc*=discard 449fun:__sanitizer_cov_pcs_init=uninstrumented 450fun:__sanitizer_cov_pcs_init=discard 451 452fun:__sanitizer_get_current_allocated_bytes=uninstrumented 453fun:__sanitizer_get_current_allocated_bytes=discard 454fun:__sanitizer_get_heap_size=uninstrumented 455fun:__sanitizer_get_heap_size=discard 456fun:__sanitizer_get_free_bytes=uninstrumented 457fun:__sanitizer_get_free_bytes=discard 458fun:__sanitizer_get_unmapped_bytes=uninstrumented 459fun:__sanitizer_get_unmapped_bytes=discard 460fun:__sanitizer_get_estimated_allocated_size=uninstrumented 461fun:__sanitizer_get_estimated_allocated_size=discard 462fun:__sanitizer_get_ownership=uninstrumented 463fun:__sanitizer_get_ownership=discard 464fun:__sanitizer_get_allocated_begin=uninstrumented 465fun:__sanitizer_get_allocated_begin=discard 466fun:__sanitizer_get_allocated_size=uninstrumented 467fun:__sanitizer_get_allocated_size=discard 468fun:__sanitizer_get_allocated_size_fast=uninstrumented 469fun:__sanitizer_get_allocated_size_fast=discard 470fun:__sanitizer_print_stack_trace=uninstrumented 471fun:__sanitizer_print_stack_trace=discard 472 473fun:TcmallocSlab_Internal_PushBatch_FixedShift=uninstrumented 474fun:TcmallocSlab_Internal_PushBatch_FixedShift=discard 475fun:TcmallocSlab_Internal_PushBatch_FixedShift_VCPU=uninstrumented 476fun:TcmallocSlab_Internal_PushBatch_FixedShift_VCPU=discard 477fun:TcmallocSlab_Internal_PerCpuCmpxchg64=uninstrumented 478fun:TcmallocSlab_Internal_PerCpuCmpxchg64=discard 479fun:TcmallocSlab_Internal_PerCpuCmpxchg64_VCPU=uninstrumented 480fun:TcmallocSlab_Internal_PerCpuCmpxchg64_VCPU=discard 481fun:TcmallocSlab_Internal_PopBatch_FixedShift=uninstrumented 482fun:TcmallocSlab_Internal_PopBatch_FixedShift=discard 483fun:TcmallocSlab_Internal_PopBatch_FixedShift_VCPU=uninstrumented 484fun:TcmallocSlab_Internal_PopBatch_FixedShift_VCPU=discard 485 486# Ignores the dfsan wrappers. 487fun:__dfsw_*=uninstrumented 488fun:__dfsw_*=discard 489fun:__dfso_*=uninstrumented 490fun:__dfso_*=discard 491