Re: [PATCH] x86: remove unneeded endless loop in BUG()

From: H. Peter Anvin
Date: Thu Feb 19 2009 - 14:57:15 EST


Ingo Molnar wrote:

the problem is that the DO_BUG() will generate the u2d instruction into a random place where GCC puts it. It certainly wont be in the place where the __bug_table logic above expects it.

The result will be cryptic crashes instead of a clean BUG message assert.


For that to happen, it would have to move the asm volatile relative to the __builtin_trap(), which seems slightly unlikely -- are there any cases at which this has been known to happen, or is that conjecture on your part?

It would be more of a "right thing" to do this with a label on the __builtin_trap(), but the problem with that labels have function scope even if they occur inside a block.

-hpa

--
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/