Support clocks for sync objects

A race still may happen after a few test set runs (in case the same slab object will be used), since completion variables are not handled yet.
this can lead to deadlocks during racy use-after-free in user code (which are very frequent), ktsan must not deadlock in such cases

the mutex cycle is: memory block -> sync tab part -> sync object -> memory block tab part -> memory block
you lock all of these edges the code

I think you need to grab the sync list, unlock and free the memory block, and then go through the sync list and free sync objects. Memory leaks is a plausible outcome of racy use-after-free in user code.