Date: Mon, 19 Aug 2019 11:18:36 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r351213 - head/sys/kern Message-ID: <201908191118.x7JBIa2c051036@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Mon Aug 19 11:18:36 2019 New Revision: 351213 URL: https://svnweb.freebsd.org/changeset/base/351213 Log: assert that td_lk_slocks is not leaked upon return from kernel This is similar to checks for td_sx_slocks and td_rw_rlocks. Although td_lk_slocks is an implementation detail, it still makes sense to validate it. MFC after: 1 week Sponsored by: Panzura Modified: head/sys/kern/subr_trap.c Modified: head/sys/kern/subr_trap.c ============================================================================== --- head/sys/kern/subr_trap.c Mon Aug 19 10:48:27 2019 (r351212) +++ head/sys/kern/subr_trap.c Mon Aug 19 11:18:36 2019 (r351213) @@ -176,6 +176,9 @@ userret(struct thread *td, struct trapframe *frame) KASSERT(td->td_sx_slocks == 0, ("userret: Returning with %d sx locks held in shared mode", td->td_sx_slocks)); + KASSERT(td->td_lk_slocks == 0, + ("userret: Returning with %d lockmanager locks held in shared mode", + td->td_lk_slocks)); KASSERT((td->td_pflags & TDP_NOFAULTING) == 0, ("userret: Returning with pagefaults disabled")); KASSERT(td->td_no_sleeping == 0,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908191118.x7JBIa2c051036>