Home | History | Annotate | Download | only in dfsan
      1 fun:main=uninstrumented
      2 fun:main=discard
      3 
      4 ###############################################################################
      5 # DFSan interface functions
      6 ###############################################################################
      7 fun:dfsan_union=uninstrumented
      8 fun:dfsan_union=discard
      9 fun:dfsan_create_label=uninstrumented
     10 fun:dfsan_create_label=discard
     11 fun:dfsan_set_label=uninstrumented
     12 fun:dfsan_set_label=discard
     13 fun:dfsan_add_label=uninstrumented
     14 fun:dfsan_add_label=discard
     15 fun:dfsan_get_label=uninstrumented
     16 fun:dfsan_get_label=custom
     17 fun:dfsan_read_label=uninstrumented
     18 fun:dfsan_read_label=discard
     19 fun:dfsan_get_label_count=uninstrumented
     20 fun:dfsan_get_label_count=discard
     21 fun:dfsan_get_label_info=uninstrumented
     22 fun:dfsan_get_label_info=discard
     23 fun:dfsan_has_label=uninstrumented
     24 fun:dfsan_has_label=discard
     25 fun:dfsan_has_label_with_desc=uninstrumented
     26 fun:dfsan_has_label_with_desc=discard
     27 fun:dfsan_set_write_callback=uninstrumented
     28 fun:dfsan_set_write_callback=custom
     29 
     30 ###############################################################################
     31 # glibc
     32 ###############################################################################
     33 fun:malloc=discard
     34 fun:realloc=discard
     35 fun:free=discard
     36 
     37 # Functions that return a value that depends on the input, but the output might
     38 # not be necessarily data-dependent on the input.
     39 fun:isalpha=functional
     40 fun:isdigit=functional
     41 fun:isprint=functional
     42 fun:isxdigit=functional
     43 fun:isalnum=functional
     44 fun:ispunct=functional
     45 fun:isspace=functional
     46 fun:tolower=functional
     47 fun:toupper=functional
     48 
     49 # Functions that return a value that is data-dependent on the input.
     50 fun:btowc=functional
     51 fun:exp=functional
     52 fun:exp2=functional
     53 fun:fabs=functional
     54 fun:finite=functional
     55 fun:floor=functional
     56 fun:fmod=functional
     57 fun:isinf=functional
     58 fun:isnan=functional
     59 fun:log=functional
     60 fun:modf=functional
     61 fun:pow=functional
     62 fun:round=functional
     63 fun:sqrt=functional
     64 fun:wctob=functional
     65 
     66 # Functions that produce an output that does not depend on the input (shadow is
     67 # zeroed automatically).
     68 fun:__assert_fail=discard
     69 fun:__ctype_b_loc=discard
     70 fun:__cxa_atexit=discard
     71 fun:__errno_location=discard
     72 fun:__newlocale=discard
     73 fun:__sbrk=discard
     74 fun:__sigsetjmp=discard
     75 fun:__uselocale=discard
     76 fun:__wctype_l=discard
     77 fun:access=discard
     78 fun:alarm=discard
     79 fun:atexit=discard
     80 fun:bind=discard
     81 fun:chdir=discard
     82 fun:close=discard
     83 fun:closedir=discard
     84 fun:connect=discard
     85 fun:dladdr=discard
     86 fun:dlclose=discard
     87 fun:fclose=discard
     88 fun:feof=discard
     89 fun:ferror=discard
     90 fun:fflush=discard
     91 fun:fileno=discard
     92 fun:fopen=discard
     93 fun:fprintf=discard
     94 fun:fputc=discard
     95 fun:fputc=discard
     96 fun:fputs=discard
     97 fun:fputs=discard
     98 fun:fseek=discard
     99 fun:ftell=discard
    100 fun:fwrite=discard
    101 fun:getenv=discard
    102 fun:getuid=discard
    103 fun:geteuid=discard
    104 fun:getpagesize=discard
    105 fun:getpid=discard
    106 fun:kill=discard
    107 fun:listen=discard
    108 fun:lseek=discard
    109 fun:mkdir=discard
    110 fun:mmap=discard
    111 fun:munmap=discard
    112 fun:open=discard
    113 fun:pipe=discard
    114 fun:posix_fadvise=discard
    115 fun:posix_memalign=discard
    116 fun:prctl=discard
    117 fun:printf=discard
    118 fun:pthread_sigmask=discard
    119 fun:putc=discard
    120 fun:putchar=discard
    121 fun:puts=discard
    122 fun:rand=discard
    123 fun:random=discard
    124 fun:remove=discard
    125 fun:sched_getcpu=discard
    126 fun:sched_get_priority_max=discard
    127 fun:sched_setaffinity=discard
    128 fun:sched_yield=discard
    129 fun:sem_destroy=discard
    130 fun:sem_init=discard
    131 fun:sem_post=discard
    132 fun:sem_wait=discard
    133 fun:send=discard
    134 fun:sendmsg=discard
    135 fun:sendto=discard
    136 fun:setsockopt=discard
    137 fun:shutdown=discard
    138 fun:sleep=discard
    139 fun:socket=discard
    140 fun:strerror=discard
    141 fun:strspn=discard
    142 fun:strcspn=discard
    143 fun:symlink=discard
    144 fun:syscall=discard
    145 fun:unlink=discard
    146 fun:uselocale=discard
    147 
    148 # Functions that produce output does not depend on the input (need to zero the
    149 # shadow manually).
    150 fun:calloc=custom
    151 fun:clock_gettime=custom
    152 fun:dlopen=custom
    153 fun:fgets=custom
    154 fun:fstat=custom
    155 fun:getcwd=custom
    156 fun:get_current_dir_name=custom
    157 fun:gethostname=custom
    158 fun:getrlimit=custom
    159 fun:getrusage=custom
    160 fun:nanosleep=custom
    161 fun:pread=custom
    162 fun:read=custom
    163 fun:socketpair=custom
    164 fun:stat=custom
    165 fun:time=custom
    166 
    167 # Functions that produce an output that depend on the input (propagate the
    168 # shadow manually).
    169 fun:ctime_r=custom
    170 fun:inet_pton=custom
    171 fun:localtime_r=custom
    172 fun:memcpy=custom
    173 fun:memset=custom
    174 fun:strcpy=custom
    175 fun:strdup=custom
    176 fun:strncpy=custom
    177 fun:strtod=custom
    178 fun:strtol=custom
    179 fun:strtoll=custom
    180 fun:strtoul=custom
    181 fun:strtoull=custom
    182 
    183 # Functions that produce an output that is computed from the input, but is not
    184 # necessarily data dependent.
    185 fun:memchr=custom
    186 fun:memcmp=custom
    187 fun:strcasecmp=custom
    188 fun:strchr=custom
    189 fun:strcmp=custom
    190 fun:strlen=custom
    191 fun:strncasecmp=custom
    192 fun:strncmp=custom
    193 fun:strrchr=custom
    194 fun:strstr=custom
    195 
    196 # Functions which take action based on global state, such as running a callback
    197 # set by a sepperate function.
    198 fun:write=custom
    199 
    200 # Functions that take a callback (wrap the callback manually).
    201 fun:dl_iterate_phdr=custom
    202 
    203 fun:getpwuid_r=custom
    204 fun:poll=custom
    205 fun:sched_getaffinity=custom
    206 fun:select=custom
    207 fun:sigemptyset=custom
    208 fun:sigaction=custom
    209 fun:gettimeofday=custom
    210 
    211 # sprintf-like
    212 fun:sprintf=custom
    213 fun:snprintf=custom
    214 
    215 # TODO: custom
    216 fun:asprintf=discard
    217 fun:qsort=discard
    218 
    219 ###############################################################################
    220 # pthread
    221 ###############################################################################
    222 fun:pthread_equal=discard
    223 fun:pthread_getspecific=discard
    224 fun:pthread_key_create=discard
    225 fun:pthread_key_delete=discard
    226 fun:pthread_mutex_destroy=discard
    227 fun:pthread_mutex_init=discard
    228 fun:pthread_mutex_lock=discard
    229 fun:pthread_mutex_trylock=discard
    230 fun:pthread_mutex_unlock=discard
    231 fun:pthread_mutexattr_destroy=discard
    232 fun:pthread_mutexattr_init=discard
    233 fun:pthread_mutexattr_settype=discard
    234 fun:pthread_once=discard
    235 fun:pthread_self=discard
    236 fun:pthread_setspecific=discard
    237 
    238 # Functions that take a callback (wrap the callback manually).
    239 fun:pthread_create=custom
    240 
    241 ###############################################################################
    242 # libffi/libgo
    243 ###############################################################################
    244 # Functions that are written in asm or are called from asm.
    245 fun:ffi_call_unix64=uninstrumented
    246 fun:ffi_call_unix64=discard
    247 fun:ffi_closure_unix64_inner=uninstrumented
    248 fun:ffi_closure_unix64_inner=discard
    249 fun:ffi_closure_unix64=uninstrumented
    250 fun:ffi_closure_unix64=discard
    251 fun:__go_get_closure=uninstrumented
    252 fun:__go_get_closure=discard
    253 fun:__go_makefunc_can_recover=uninstrumented
    254 fun:__go_makefunc_can_recover=discard
    255 fun:__go_makefunc_returning=uninstrumented
    256 fun:__go_makefunc_returning=discard
    257 fun:reflect.MakeFuncStubGo=uninstrumented
    258 fun:reflect.MakeFuncStubGo=discard
    259 fun:reflect.makeFuncStub=uninstrumented
    260 fun:reflect.makeFuncStub=discard
    261 
    262 
    263 ###############################################################################
    264 # lib/Fuzzer
    265 ###############################################################################
    266 # Replaces __sanitizer_cov_trace_cmp with __dfsw___sanitizer_cov_trace_cmp
    267 fun:__sanitizer_cov_trace_cmp=custom
    268 fun:__sanitizer_cov_trace_cmp=uninstrumented
    269 # Similar for __sanitizer_cov_trace_switch
    270 fun:__sanitizer_cov_trace_switch=custom
    271 fun:__sanitizer_cov_trace_switch=uninstrumented
    272 
    273 # Ignores all other __sanitizer callbacks.
    274 fun:__sanitizer_cov=uninstrumented
    275 fun:__sanitizer_cov=discard
    276 fun:__sanitizer_cov_module_init=uninstrumented
    277 fun:__sanitizer_cov_module_init=discard
    278 fun:__sanitizer_cov_with_check=uninstrumented
    279 fun:__sanitizer_cov_with_check=discard
    280 fun:__sanitizer_cov_indir_call16=uninstrumented
    281 fun:__sanitizer_cov_indir_call16=discard
    282 fun:__sanitizer_cov_indir_call16=uninstrumented
    283 fun:__sanitizer_cov_indir_call16=discard
    284 fun:__sanitizer_reset_coverage=uninstrumented
    285 fun:__sanitizer_reset_coverage=discard
    286 fun:__sanitizer_set_death_callback=uninstrumented
    287 fun:__sanitizer_set_death_callback=discard
    288 fun:__sanitizer_get_coverage_guards=uninstrumented
    289 fun:__sanitizer_get_coverage_guards=discard
    290 fun:__sanitizer_get_number_of_counters=uninstrumented
    291 fun:__sanitizer_get_number_of_counters=discard
    292 fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented
    293 fun:__sanitizer_update_counter_bitset_and_clear_counters=discard
    294 fun:__sanitizer_get_total_unique_coverage=uninstrumented
    295 fun:__sanitizer_get_total_unique_coverage=discard
    296 fun:__sanitizer_get_total_unique_coverage=uninstrumented
    297 fun:__sanitizer_get_total_unique_coverage=discard
    298 fun:__sanitizer_update_counter_bitset_and_clear_counters=uninstrumented
    299 fun:__sanitizer_update_counter_bitset_and_clear_counters=discard
    300 
    301 # Ignores the dfsan wrappers.
    302 fun:__dfsw_*=uninstrumented
    303 fun:__dfsw_*=discard
    304 
    305 # Don't add extra parameters to the Fuzzer callback.
    306 fun:LLVMFuzzerTestOneInput=uninstrumented
    307