summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJason Wessel2008-04-01 23:55:27 +0200
committerIngo Molnar2008-04-17 20:05:43 +0200
commit56fb70932964927597ce30bbd820471633c72adc (patch)
tree72654913a07cbc83f174234d4fa0f91b79a2164c /fs
parentkgdb: documentation fixes (diff)
downloadkernel-qcow2-linux-56fb70932964927597ce30bbd820471633c72adc.tar.gz
kernel-qcow2-linux-56fb70932964927597ce30bbd820471633c72adc.tar.xz
kernel-qcow2-linux-56fb70932964927597ce30bbd820471633c72adc.zip
kgdb: fix SMP NMI kgdb_handle_exception exit race
Fix the problem of protecting the kgdb handle_exception exit which had an NMI race condition, while trying to restore normal system operation. There was a small window after the master processor sets cpu_in_debug to zero but before it has set kgdb_active to zero where a non-master processor in an SMP system could receive an NMI and re-enter the kgdb_wait() loop. As long as the master processor sets the cpu_in_debug before sending the cpu roundup the cpu_in_debug variable can also be used to guard against the race condition. The kgdb_wait() function no longer needs to check kgdb_active because it is done in the arch specific code and handled along with the nmi traps at the low level. This also allows kgdb_wait() to exit correctly if it was entered for some unknown reason due to a spurious NMI that could not be handled by the arch specific code. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions