Very improbable.
However, the "get_free_pages()" function is one of the most called
functions in the kernel, _and_ it is very susceptible to pointer
corruption. If some part of the kernel used a pointer that isn't valid
any more (for example, a pointer to a memory block that had been free'd
earlier), and corrupted the linked list of free pages, you'll see
problems in get_free_page().
This also makes that kind of bug very hard to find: by the time you get
the kernel Oops the thing that corrupted the list is long gone already.
I'll see if I can make it a bit more resistant to programming errors in
the kernel (by moving the free page lists into the "mem_map[]" array, so
that the list isn't in the free page itself). That won't make whatever
bug go away, but it might make it easier to debug (when the crash
hopefully happens in a less critical section).
Linus