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 # TODO: custom 212 fun:snprintf=discard 213 fun:vsnprintf=discard 214 fun:asprintf=discard 215 fun:qsort=discard 216 217 ############################################################################### 218 # pthread 219 ############################################################################### 220 fun:pthread_equal=discard 221 fun:pthread_getspecific=discard 222 fun:pthread_key_create=discard 223 fun:pthread_key_delete=discard 224 fun:pthread_mutex_destroy=discard 225 fun:pthread_mutex_init=discard 226 fun:pthread_mutex_lock=discard 227 fun:pthread_mutex_trylock=discard 228 fun:pthread_mutex_unlock=discard 229 fun:pthread_mutexattr_destroy=discard 230 fun:pthread_mutexattr_init=discard 231 fun:pthread_mutexattr_settype=discard 232 fun:pthread_once=discard 233 fun:pthread_self=discard 234 fun:pthread_setspecific=discard 235 236 # Functions that take a callback (wrap the callback manually). 237 fun:pthread_create=custom 238