HomeFreeBSD

Fix locking order reversal in the TCP ratelimit code by moving

Description

Fix locking order reversal in the TCP ratelimit code by moving
destructors outside the rsmtx mutex.

Witness message:
lock order reversal: (sleepable after non-sleepable)

1st tcp_rs_mtx (rsmtx) @ sys/netinet/tcp_ratelimit.c:242
2nd sysctl lock (sysctl lock) @ sys/kern/kern_sysctl.c:607

Backtrace:
witness_debugger
witness_checkorder
_rm_wlock_debug
sysctl_ctx_free
rs_destroy
epoch_call_task
gtaskqueue_run_locked
gtaskqueue_thread_loop

Discussed with: rrs@
Sponsored by: Mellanox Technologies

Details

Provenance
hselaskyAuthored on
Parents
rS353352: Fixup mergeinfo on contrib/llvm which Subversion managed to mess up.
Branches
Unknown
Tags
Unknown