summaryrefslogtreecommitdiffstats
path: root/lib/libssl/tls13_client.c
diff options
context:
space:
mode:
authorvisa <visa@openbsd.org>2019-02-07 15:11:38 +0000
committervisa <visa@openbsd.org>2019-02-07 15:11:38 +0000
commiteb34598c0a0d10289c8cec9201e26fb543c8a989 (patch)
tree323d6b184335a1077d5934d55cb9169fcd13b7bf /lib/libssl/tls13_client.c
parentConsistently use m_freem(9). This fixes possible leaks in a few (diff)
downloadwireguard-openbsd-eb34598c0a0d10289c8cec9201e26fb543c8a989.tar.xz
wireguard-openbsd-eb34598c0a0d10289c8cec9201e26fb543c8a989.zip
Add lock stack trace saving for witness(4).
This lets witness(4) save a stack trace on each lock acquisition. The saved traces can be viewed in ddb(4) when showing the currently held locks, which may help when debugging incorrect locking. Sample output: ddb{0}> show all locks Process 63836 (rm) thread 0xffff8000221e52c8 (435004) exclusive rrwlock inode r = 0 (0xfffffd8119a092c0) locked @ /usr/src/sys/ufs/ufs/ufs_vnops.c:1547 #0 witness_lock+0x419 #1 _rw_enter+0x2bb #2 _rrw_enter+0x42 #3 VOP_LOCK+0x3f #4 vn_lock+0x36 #5 vfs_lookup+0xa1 #6 namei+0x2b3 #7 dounlinkat+0x85 #8 syscall+0x338 #9 Xsyscall+0x128 exclusive kernel_lock &kernel_lock r = 1 (0xffffffff81e6a5f0) locked @ /usr/src/sys/arch/amd64/amd64/intr.c:525 #0 witness_lock+0x419 #1 syscall+0x2b6 #2 Xsyscall+0x128 The saving adds overhead, so it is not enabled by default. It can be taken into use by setting sysctl kern.witness.locktrace=1 at runtime or by defining WITNESS_LOCKTRACE in the kernel configuration. Feedback and OK anton@
Diffstat (limited to 'lib/libssl/tls13_client.c')
0 files changed, 0 insertions, 0 deletions