aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Morehouse <mascasa@google.com>2020-12-08 13:55:25 -0800
committerMatt Morehouse <mascasa@google.com>2020-12-08 13:55:35 -0800
commit483fb333605fc3a392ba140d33e8d9187cf02b70 (patch)
treeab34eb8227c433b1bcf21c0172e8eeeab10db5aa
parent3900f3f18c610092bb05292fcce76af2e9ae6c53 (diff)
downloadllvm-483fb333605fc3a392ba140d33e8d9187cf02b70.zip
llvm-483fb333605fc3a392ba140d33e8d9187cf02b70.tar.gz
llvm-483fb333605fc3a392ba140d33e8d9187cf02b70.tar.bz2
[DFSan] Add pthread and other functions to ABI list.
The non-pthread functions are all clear discard functions. Some of the pthread ones could clear shadow, but aren't worth writing custom wrappers for. I can't think of any reasonable scenario where we would pass tainted memory to these pthread functions. Reviewed By: stephan.yichao.zhao Differential Revision: https://reviews.llvm.org/D92877
-rw-r--r--compiler-rt/lib/dfsan/done_abilist.txt40
1 files changed, 40 insertions, 0 deletions
diff --git a/compiler-rt/lib/dfsan/done_abilist.txt b/compiler-rt/lib/dfsan/done_abilist.txt
index 40dd0f5..252ec52 100644
--- a/compiler-rt/lib/dfsan/done_abilist.txt
+++ b/compiler-rt/lib/dfsan/done_abilist.txt
@@ -96,6 +96,7 @@ fun:wctob=functional
# Functions that produce an output that does not depend on the input (shadow is
# zeroed automatically).
fun:__assert_fail=discard
+fun:__cmsg_nxthdr=discard
fun:__ctype_b_loc=discard
fun:__cxa_atexit=discard
fun:__errno_location=discard
@@ -112,8 +113,10 @@ fun:chdir=discard
fun:close=discard
fun:closedir=discard
fun:connect=discard
+fun:creat=discard
fun:dladdr=discard
fun:dlclose=discard
+fun:epoll_ctl=discard
fun:fclose=discard
fun:feof=discard
fun:ferror=discard
@@ -140,6 +143,7 @@ fun:mkdir=discard
fun:mmap=discard
fun:munmap=discard
fun:open=discard
+fun:openat=discard
fun:pipe=discard
fun:posix_fadvise=discard
fun:posix_memalign=discard
@@ -251,7 +255,32 @@ fun:qsort=discard
###############################################################################
# pthread
###############################################################################
+fun:__pthread_register_cancel=discard
+fun:__pthread_unregister_cancel=discard
+fun:pthread_attr_destroy=discard
+fun:pthread_attr_getaffinity_np=discard
+fun:pthread_attr_getdetachstate=discard
+fun:pthread_attr_getguardsize=discard
+fun:pthread_attr_getinheritsched=discard
+fun:pthread_attr_getschedparam=discard
+fun:pthread_attr_getschedpolicy=discard
+fun:pthread_attr_getscope=discard
+fun:pthread_attr_getstack=discard
+fun:pthread_attr_getstackaddr=disacrd
+fun:pthread_attr_getstacksize=discard
+fun:pthread_attr_init=discard
+fun:pthread_attr_setaffinity_np=discard
+fun:pthread_attr_setdetachstate=discard
+fun:pthread_attr_setguardsize=discard
+fun:pthread_attr_setinheritsched=discard
+fun:pthread_attr_setschedparam=discard
+fun:pthread_attr_setschedpolicy=discard
+fun:pthread_attr_setscope=discard
+fun:pthread_attr_setstack=discard
+fun:pthread_attr_setstackaddr=discard
+fun:pthread_attr_setstacksize=discard
fun:pthread_equal=discard
+fun:pthread_getschedparam=discard
fun:pthread_getspecific=discard
fun:pthread_key_create=discard
fun:pthread_key_delete=discard
@@ -263,6 +292,17 @@ fun:pthread_mutex_unlock=discard
fun:pthread_mutexattr_destroy=discard
fun:pthread_mutexattr_init=discard
fun:pthread_mutexattr_settype=discard
+fun:pthread_rwlock_destroy=discard
+fun:pthread_rwlock_init=discard
+fun:pthread_rwlock_rdlock=discard
+fun:pthread_rwlock_timedrdlock=discard
+fun:pthread_rwlock_timedwrlock=discard
+fun:pthread_rwlock_tryrdlock=discard
+fun:pthread_rwlock_trywrlock=discard
+fun:pthread_rwlock_wrlock=discard
+fun:pthread_rwlock_unlock=discard
+fun:pthread_setschedparam=discard
+fun:pthread_setname_np=discard
fun:pthread_once=discard
fun:pthread_self=discard
fun:pthread_setspecific=discard