Messages in this thread | | | Date | Wed, 24 Nov 1999 14:08:10 -0500 | From | James Manning <> | Subject | Re: kernel: Unable to handle kernel paging request at virtual address 00000001 |
| |
[ Wednesday, November 24, 1999 ] Tim Waugh wrote: > On Tue, 23 Nov 1999, Curt McNamee wrote: > > Nov 23 01:37:02 mcnameec kernel: Unable to handle kernel paging request at > > virtual address 00000001 > ^^^^^^^^ > Is this number always the same? The fact that it it only one bit away > from 0x0 suggests a hardware problem..
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/
| |