Skip to content

Commit 623f185

Browse files
committed
Add ddverify mutex functions to LibraryFunctions
1 parent 6f7ff28 commit 623f185

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/analyses/libraryFunctions.ml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ let classify' fn exps =
6060
| _ -> M.warn "Assert argument mismatch!"; `Unknown fn
6161
end
6262
| "_spin_trylock" | "spin_trylock" | "mutex_trylock" | "_spin_trylock_irqsave"
63+
| "down_trylock"
6364
-> `Lock(true, true, true)
6465
| "pthread_mutex_trylock" | "pthread_rwlock_trywrlock"
6566
-> `Lock (true, true, false)
@@ -82,6 +83,7 @@ let classify' fn exps =
8283
| "_spin_unlock" | "spin_unlock" | "_spin_unlock_irqrestore" | "_spin_unlock_bh" | "_raw_spin_unlock_bh"
8384
| "mutex_unlock" | "ReleaseResource" | "_write_unlock" | "_read_unlock" | "_raw_spin_unlock_irqrestore"
8485
| "pthread_mutex_unlock" | "__pthread_mutex_unlock" | "spin_unlock_irqrestore" | "up_read" | "up_write"
86+
| "up"
8587
-> `Unlock
8688
| x -> `Unknown x
8789

@@ -476,6 +478,15 @@ let invalidate_actions = [
476478
"isatty", readsAll;
477479
"setpriority", readsAll;
478480
"getpriority", readsAll;
481+
(* ddverify *)
482+
"spin_lock_init", readsAll;
483+
"spin_lock", readsAll;
484+
"spin_unlock", readsAll;
485+
"spin_unlock_irqrestore", readsAll;
486+
"spin_lock_irqsave", readsAll;
487+
"sema_init", readsAll;
488+
"down_trylock", readsAll;
489+
"up", readsAll;
479490
]
480491

481492
(* used by get_invalidate_action to make sure

0 commit comments

Comments
 (0)