Author: markj
Date: Wed Nov 28 17:40:08 2018
New Revision: 341157
URL: https://svnweb.freebsd.org/changeset/base/341157

Log:
  MFstable/12 r341077:
  Lock the knlist before releasing the in-flux state in knote_fork().
  
  PR:           228858
  Approved by:  re (gjb)

Modified:
  releng/12.0/sys/kern/kern_event.c
Directory Properties:
  releng/12.0/   (props changed)

Modified: releng/12.0/sys/kern/kern_event.c
==============================================================================
--- releng/12.0/sys/kern/kern_event.c   Wed Nov 28 17:37:17 2018        
(r341156)
+++ releng/12.0/sys/kern/kern_event.c   Wed Nov 28 17:40:08 2018        
(r341157)
@@ -603,10 +603,10 @@ knote_fork(struct knlist *list, int pid)
                        kn->kn_fflags |= NOTE_TRACKERR;
                if (kn->kn_fop->f_event(kn, NOTE_FORK))
                        KNOTE_ACTIVATE(kn, 0);
+               list->kl_lock(list->kl_lockarg);
                KQ_LOCK(kq);
                kn_leave_flux(kn);
                KQ_UNLOCK_FLUX(kq);
-               list->kl_lock(list->kl_lockarg);
        }
        list->kl_unlock(list->kl_lockarg);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to