diff options
author | kib <kib@FreeBSD.org> | 2015-09-01 14:05:29 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-09-01 14:05:29 +0000 |
commit | 7f517dc1f33a0e9ca23bb7df7ad79a8aa2a0ff81 (patch) | |
tree | a039f9384b7e975ed19686d0184dfe82533d2c9c /etc/etc.powerpc | |
parent | 06204d2cbeb6827a384a0bf1b6b760ab8752919b (diff) | |
download | FreeBSD-src-7f517dc1f33a0e9ca23bb7df7ad79a8aa2a0ff81.zip FreeBSD-src-7f517dc1f33a0e9ca23bb7df7ad79a8aa2a0ff81.tar.gz |
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
Diffstat (limited to 'etc/etc.powerpc')
0 files changed, 0 insertions, 0 deletions