Re: [PATCH] ARM: Convert BUG() to use unreachable()

From: David Daney
Date: Thu Dec 17 2009 - 14:34:43 EST


Joe Buck wrote:
On Thu, Dec 17, 2009 at 11:06:13AM -0800, Russell King - ARM Linux wrote:
On Thu, Dec 17, 2009 at 10:35:17AM -0800, Joe Buck wrote:
Besides, didn't I see a whole bunch of kernel security patches related
to null pointer dereferences lately? If page 0 can be mapped, you
suddenly won't get your trap.
Page 0 can not be mapped on ARM kernels since the late 1990s, and this
protection is independent of the generic kernel.

Milage may vary on other architectures, but that's not a concern here.

I don't understand, though, why you would want to implement a generally
useful facility (make the kernel trap so you can do a post-mortem
analysis) in a way that's only safe for the ARM port.


Each Linux kernel architecture has in its architecture specific bug.h an implementation that is deemed by the architecture maintainers to work. As far as I know, few if any of these use __builtin_trap().

Some could be converted to __builtin_trap(), others cannot (x86 for example). If we enhanced __builtin_trap() to take an argument for the trap code, MIPS could be converted. But as it stands now __builtin_trap() is not very useful.

As more architectures start adding funky tables that get generated by the inline asm (as in x86), __builtin_trap() becomes less useful.

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