Page MenuHomeFreeBSD

realtimer_expire: avoid proc lock recursion when called from itimer_proc_continue()

Authored by kib on Apr 13 2021, 1:52 PM.



It is fine to drop the process lock there, process cannot exit until its timers are cleared.

Diff Detail

rG FreeBSD src repository
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kib requested review of this revision.Apr 13 2021, 1:52 PM
kib created this revision.

Upload the correct version of the patch.
PHOLD() there is not needed and is even wrong.

I believe there is a similar recursion with kqueue timers: kqtimer_proc_continue() holds the proc lock, and filt_timerexpire() may attempt to acquire it.

Handle recursion in filter_timerexpire()

This revision is now accepted and ready to land.Apr 13 2021, 8:41 PM