git: kernel - cli interlock with critcount in interrupt assembly
Matthew Dillon
dillon at crater.dragonflybsd.org
Sun Jul 24 22:01:18 PDT 2016
commit ae18e11d61f5cb1b3d4f1ecc8c70eff9bdd31df0
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Sun Jul 24 21:44:33 2016 -0700
kernel - cli interlock with critcount in interrupt assembly
* Disable interrupts when decrementing the critical section count
and gd_intr_nesting_level, just prior to jumping into doreti.
This prevents a stacking interrupt from occurring in this roughly
10-instruction window.
* While limited stacking is not really a problem, this closes a very
small and unlikely window where multiple device interrupts could
stack excessively and run the kernel thread out of stack space.
(unlikely that it has ever happened in real life, but becoming more
likely as some modern devices are capable of much higher interrupt
rates).
Summary of changes:
sys/platform/pc64/apic/apic_vector.s | 3 +++
1 file changed, 3 insertions(+)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ae18e11d61f5cb1b3d4f1ecc8c70eff9bdd31df0
--
DragonFly BSD source repository
More information about the Commits
mailing list