Messages in this thread | | | Date | Mon, 11 Aug 2003 17:24:49 +0200 (CEST) | From | Ingo Molnar <> | Subject | Re: 4GB+DEBUG_PAGEALLOC oopses with 2.6.0-test3-mm1 |
| |
On Mon, 11 Aug 2003, Manfred Spraul 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.
this is not a bug technically, unless the mount options are in the last linearly mapped page. It is a bug to copy those unallocated bytes, but they do not get to relied upon. Note that the non-4G code copies them just as much.
> 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.
yeah, this was one of the latest patches that went into Andrew's tree. (This fix enabled us to get rid of the do_page_fault() hacks.)
Ingo - 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/
| |