4.4-rc5 Setting hardware breakpoint in int_ret_from_sys_call causes triple fault/reboot

From: Jeff Merkey
Date: Wed Dec 16 2015 - 18:12:48 EST


Setting a hardware breakpoint at the

rex64 sysret

instruction at the end of int_ret_from_sys_call causes the system to
triple fault
and reboot when the breakpoint is triggered. Appears to be related
the same problem
as the lockup.

This function can be stepped over and traced through with the TRAP
FLAG set so long as a hardware breakpoint is set somewhere in the
function. Otherwise upon exist the system hard hangs. If you break
exactly on that instruction -- reboot. If you break a few
instructions before it and single step through the call it works. If
you step through the call with no breakpoint the system hard hangs.
Same behavior as when you try to step from inside an nmi handler.
Looks related.

Caused somewhere in the way exception handlers are coded for sure.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/