[Bug 210884] panic: bogus refcnt 0 on lle 0xfffff80004608c00

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sat Jul 9 17:28:24 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210884

Konstantin Belousov <kib at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kib at FreeBSD.org

--- Comment #31 from Konstantin Belousov <kib at FreeBSD.org> ---
Another set of problem from the same commit
https://people.freebsd.org/~pho/stress/log/kostik917.txt

kern_exit.c:exit1() does callout_stop(&p->p_itcallout) == 0.

diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index 7b73236..929c2c0 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -344,7 +344,7 @@ exit1(struct thread *td, int rval, int signo)
         * executing, prevent it from rearming itself and let it finish.
         */
        if (timevalisset(&p->p_realtimer.it_value) &&
-           callout_stop(&p->p_itcallout) == 0) {
+           _callout_stop_safe(&p->p_itcallout, CS_EXECUTING, NULL) == 0) {
                timevalclear(&p->p_realtimer.it_interval);
                msleep(&p->p_itcallout, &p->p_mtx, PWAIT, "ritwait", 0);
                KASSERT(!timevalisset(&p->p_realtimer.it_value),

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list