Andi Kleen wrote:No this is a kgdb integrity check. Basically when you reach this chunk of code it is before the hand off to the source debugger. We cannot continue because there was a breakpoint in a part of the system kgdb was using while doing its normal work. The reality is that KGDB is not self contained. It relies on some external I/O methods, atomic page fault handling and some other pieces. If you take an exception there, the kgdb integrity check absolutely needs to fail. It was the source of some great pain for folks who tried to use kgdb for more than an inspection tool. There are some parts of the system you cannot debug. This has nothing to do with the long jump This is a totally stupid test case but it should illustrate the problem. - connect to kgdb - place a break point at kgdb_disable_hw_debug() - continue - Now try to break in again You will see the kgdb integrity check fail because you put a breakpoint in a place that kgdb actually needs to perform its work. In this case kgdb will clean up the exception and restore operation and you will be ok. The kgdboc has a much smaller swath of code that you cannot debug vs something like kgdboe where there are lot more places you cannot debug due to the amount of code to services the ethernet device, irq sync etc... This check is absolutely required to help prevent silent death via dumb breakpoints or stepping around in random places (which is ill advised anyway). Jason. --
| Stephane Jourdois | Re: 2.6.21-rc4-mm1 [PATCH] init/missing_syscalls.h fix |
| David Brown | Re: Linux 2.6.21-rc2 |
| Andi Kleen | [PATCH] [1/12] x86: Work around mmio config space quirk on AMD Fam10h |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| David Miller | Re: [GIT]: Networking |
| David Woodhouse | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
git: | |
