On Tue, Sep 01, 2015 at 02:05:30PM +0000, Konstantin Belousov wrote:
> Author: kib
> Date: Tue Sep  1 14:05:29 2015
> New Revision: 287366
> URL: https://svnweb.freebsd.org/changeset/base/287366
> 
> Log:
>   Exit notification for EVFILT_PROC removes knote from the knlist.  In
>   particular, this invalidates the knote kn_link linkage, making the
>   SLIST_FOREACH() loop accessing undefined values (e.g. trashed by
>   QUEUE_MACRO_DEBUG).  If the knote is freed by other thread when kq
>   lock is released or when influx is cleared, e.g. by knote_scan() for
>   kqueue owning the knote, the iteration step would access freed memory.
>   
>   Use SLIST_FOREACH_SAFE() to fix iteration.
>   
>   Diagnosed by:       avg
>   Tested by:  avg, lstewart, pawel
>   Sponsored by:       The FreeBSD Foundation
>   MFC after:  2 weeks
> 
Thank you! that makes my package builders stable again!

Best regards,
Bapt

Attachment: pgpF0auxjwFh6.pgp
Description: PGP signature

Reply via email to