Author :
KyotoVania
Date :
2026-06-03 16:15:19
Hash :19dadbf5 Message :[FIX] EVENT_POLL KQUEUE ANNULE LE TIMER ARME SUR READ
la branche kqueue de kc3_event_poll_poll n'annulait pas le
EVFILT_TIMER encore arme quand un evenement read ou eof tirait,
alors que la branche epoll retire le timer sous entries_mutex.
sous le pool de threads, un thread qui parse une requete tient
le rwlock du buffer pendant que le timer non annule tire sur un
autre thread, qui ferme la connexion et libere ce meme rwlock en
cours d'utilisation. resultat : heap-use-after-free et double
free sous charge, uniquement sur openbsd (masque sur linux par
le verrou epoll).
fix : sur EVFILT_READ, faire EV_DELETE du EVFILT_TIMER du meme
fd, comme epoll. valide en stress concurrent : sans le fix le
serveur ne sert aucune requete et accumule les erreurs, avec le
fix il passe plus de 50000 requetes sans une seule erreur.