In my experience it's typically off from zero by the offset into a
particular struct which had a null base and the compiler made into
a relative address...
as an example, for
struct _foo {
char a;
char b;
} foo;
foo->b = 'z'; would compile into something something mov 'z',1(foo)
(I'm sure my syntax is wrong) which would try to copy the 'z' value
into the address that is 1 byte off from foo. When this is
executed and foo == NULL, the oops address will be 00000001 because
of that offset.
Along similar lines, a failed address to the third four-byte int
in a struct based at NULL would show up as 00000008...
(Note that there *could* be a hardware problem or something else going
on, I'm just trying to relate another possibility)
James
-- Miscellaneous Engineer --- IBM Netfinity Performance Development- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/