mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-10-26 18:05:04 +03:00
The threads in the splat atomic:64-bit test share the data structure atomic_priv_t ap, which lives on the kernel stack of the splat user-space utility. If splat terminates before the threads, accesses to that memory location by the other threads become invalid. Splat synchronizes with the threads with the call: wait_event_interruptible(ap.ap_waitq, splat_atomic_test1_cond(&ap, i)); Apparently, the SIGINT wakes and terminates splat prematurely, so that GPFs or other bad things happen when the threads subsequently access ap. This commit prevents this by using the uninterruptible form: wait_event(ap.ap_waitq, splat_atomic_test1_cond(&ap, i)); |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| Makefile.in | ||
| splat-atomic.c | ||
| splat-condvar.c | ||
| splat-cred.c | ||
| splat-ctl.c | ||
| splat-generic.c | ||
| splat-internal.h | ||
| splat-kmem.c | ||
| splat-kobj.c | ||
| splat-list.c | ||
| splat-mutex.c | ||
| splat-random.c | ||
| splat-rwlock.c | ||
| splat-taskq.c | ||
| splat-thread.c | ||
| splat-time.c | ||
| splat-vnode.c | ||