[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: Oops when loading xen_platform_pci module in HVM domain on CS 11429



Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote on 09/08/2006 01:19:33 PM:

> On 8/9/06 18:03, "Steven Smith" <sos22-xen@xxxxxxxxxxxxx> wrote:
>
> >> Page directory entries use permissions _PAGE_TABLE, which does not
include
> >> _PAGE_NX. So clearing _PAGE_NX from the PTEs, using
> >> change_page_attr(PAGE_KERNEL_EXEC), should suffice.
> > The oops message is fairly clear that _PAGE_NX is set on the PMD, and
> > I'd guess it probably got set from phys_pmd_init.
> >
> > I think vmalloc_exec is probably the right answer here.  I'll have a
> > go at this over the weekend.
>
> I've had a go (c/s 11435). It's complicated by the fact that
vmalloc_exec()
> and __PAGE_KERNEL_EXEC are not exported to modules.
>
>  -- Keir

Is this something that should be fixed in the mainline kernel?  Basically,
a change_page_attr() to make a page executable doesn't work.  It seems to
me that split_large_page() in arch/x86_64/mm/pageattr.c should be changed
to not propagate the old pgprot to the new PMD (at least not the _PAGE_NX
bit) but rather propagate it into the new sub-PTEs that are created when
the large PTE is split.

Thoughts?

Steve D.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.