]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86: Ignore trap bits on single step exceptions
authorFrederic Weisbecker <fweisbec@gmail.com>
Thu, 11 Nov 2010 20:18:43 +0000 (21:18 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 21 Mar 2011 19:44:08 +0000 (12:44 -0700)
commit528b8cc1bea342b6cf56b20449ebc89eae3e107b
tree13babaa034f6883f06e19c61e56e3cec9448392c
parent5b10d682e08cb68b9d4581057f4719fe53da6245
x86: Ignore trap bits on single step exceptions

commit 6c0aca288e726405b01dacb12cac556454d34b2a upstream.

When a single step exception fires, the trap bits, used to
signal hardware breakpoints, are in a random state.

These trap bits might be set if another exception will follow,
like a breakpoint in the next instruction, or a watchpoint in the
previous one. Or there can be any junk there.

So if we handle these trap bits during the single step exception,
we are going to handle an exception twice, or we are going to
handle junk.

Just ignore them in this case.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=21332

Reported-by: Michael Stefaniuc <mstefani@redhat.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
Cc: Alexandre Julliard <julliard@winehq.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kernel/hw_breakpoint.c