diff options
author | Andy Lutomirski <luto@kernel.org> | 2020-09-02 15:25:51 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2020-09-04 15:09:29 +0200 |
commit | d5c678aed5eddb944b8e7ce451b107b39245962d (patch) | |
tree | 1e470f1ce30ebd18f5175b586722e4cb18ca4ee0 /arch/x86/entry | |
parent | 662a0221893a3d58aa72719671844264306f6e4b (diff) | |
download | linux-d5c678aed5eddb944b8e7ce451b107b39245962d.tar.gz linux-d5c678aed5eddb944b8e7ce451b107b39245962d.tar.bz2 linux-d5c678aed5eddb944b8e7ce451b107b39245962d.zip |
x86/debug: Allow a single level of #DB recursion
Trying to clear DR7 around a #DB from usermode malfunctions if the tasks
schedules when delivering SIGTRAP.
Rather than trying to define a special no-recursion region, just allow a
single level of recursion. The same mechanism is used for NMI, and it
hasn't caused any problems yet.
Fixes: 9f58fdde95c9 ("x86/db: Split out dr6/7 handling")
Reported-by: Kyle Huey <me@kylehuey.com>
Debugged-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/8b9bd05f187231df008d48cf818a6a311cbd5c98.1597882384.git.luto@kernel.org
Link: https://lore.kernel.org/r/20200902133200.726584153@infradead.org
Diffstat (limited to 'arch/x86/entry')
0 files changed, 0 insertions, 0 deletions