git: DragonFly_RELEASE_4_6 kernel - cli interlock with critcount in interrupt assembly
Matthew Dillon
dillon at crater.dragonflybsd.org
Mon Jul 25 14:35:33 PDT 2016
commit e74c9440c06bbad6130ad570539fd6c87faf66c8
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/e74c9440c06bbad6130ad570539fd6c87faf66c8
--
DragonFly BSD source repository
More information about the Commits
mailing list