The problem is not at the source code level, of course all places where
we read the xtime cannot crash the kernel as far as the kernel is
concerned, but the problem is instead at the gcc level: and when the
logic implemented by the asm generated by gcc chokes we can also get a
dangling poitner and crash in the kernel.
GCC internally is allowed to generate code that relies on the contents
of the memory to stay constant, this because of the C standard, the
usual example is a fast path jump table for the "case" statement.
So in short having non volatile memory that changes under gcc gives gcc
the full rights to crash the kernel at runtime anytime.
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/