Re: 4GB+DEBUG_PAGEALLOC oopses with 2.6.0-test3-mm1

From: Manfred Spraul
Date: Mon Aug 11 2003 - 10:27:17 EST


Ingo Molnar wrote:

(in theory it's possible that kernel-internal mounts pass in a pointer
where pointer + PAGE_SIZE is not a valid kernel address - if this happens
then we'd get a hard crash.)


Exactly that happens.
I'm running with CONFIG_PAGE_DEBUG, i.e. unallocated pages are marked as non-present in the linear mapping.

Regarding the i386 trap handler: show_registers tries to hexdump the current instructions. It did a __get_user, to avoid causing a fault when %eip is invalid.
Now it contains:

if ((user_mode(regs) && get_user(c, eip)) ||
(!user_mode(regs) && __direct_get_user(c, eip))) {
printk(" Bad EIP value.");
break;
}

I.e. it's already fixed.

--
Manfred

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