--- - branch: netbsd-3 date: Tue Nov 18 22:57:09 UTC 2008 files: - new: 1.71.2.1 old: '1.71' path: src/sys/netinet/tcp_timer.c pathrev: src/sys/netinet/tcp_timer.c@1.71.2.1 type: modified id: 20081118T225709Z.bcc87d80ee63502c0824ae7b8b3d31afcb385370 log: "Pull up following revision(s) (requested by bouyer in ticket #1981):\n\tsys/netinet/tcp_timer.c: revision 1.83 via patch\nFix kern/39769: race condition in TCP timers\nWhen a TCP timer is disarmed (with callout_stop()) in the general case\ncallout_invoking() isn't checked, so the timer handler could be called run\nwhen the current interrupt handler exits, athough the timer is disarmed.\nThis case cause bad things like TCPT_REXMT and TCPT_PERSIST being both\npending, causing a panic (see the PR for details).\nClose the issue by aborting the handler if the timer is not\ncallout_expired(). \ (the EXPIRED flag being cleared by callout_stop()).\n" module: src subject: 'CVS commit: [netbsd-3] src/sys/netinet' unixtime: '1227049029' user: snj