[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 2/6] linux-stubdomain: Compile Linux
On Wed, 17 Apr 2013, Anthony PERARD wrote: > diff --git > a/stubdom-linux/0001-xen-Don-t-check-for-xen_initial_domain-in-privcmd_io.patch > > b/stubdom-linux/0001-xen-Don-t-check-for-xen_initial_domain-in-privcmd_io.patch > new file mode 100644 > index 0000000..627b337 > --- /dev/null > +++ > b/stubdom-linux/0001-xen-Don-t-check-for-xen_initial_domain-in-privcmd_io.patch > @@ -0,0 +1,39 @@ > +From 94d3502e70882a78ec3abb22379a79afc1292fb0 Mon Sep 17 00:00:00 2001 > +From: Anthony PERARD <anthony.perard@xxxxxxxxxx> > +Date: Fri, 1 Jun 2012 15:46:39 +0100 > +Subject: [PATCH 1/2] xen: Don't check for xen_initial_domain in > + privcmd_ioctl_mmap*. > + > +This prevent a stubdom from working. > + > +--- > + drivers/xen/privcmd.c | 6 ------ > + 1 file changed, 6 deletions(-) > + > +diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c > +index ccee0f1..a8d71a3 100644 > +--- a/drivers/xen/privcmd.c > ++++ b/drivers/xen/privcmd.c > +@@ -196,9 +196,6 @@ static long privcmd_ioctl_mmap(void __user *udata) > + LIST_HEAD(pagelist); > + struct mmap_mfn_state state; > + > +- if (!xen_initial_domain()) > +- return -EPERM; > +- > + if (copy_from_user(&mmapcmd, udata, sizeof(mmapcmd))) > + return -EFAULT; > + > +@@ -286,9 +283,6 @@ static long privcmd_ioctl_mmap_batch(void __user *udata) > + LIST_HEAD(pagelist); > + struct mmap_batch_state state; > + > +- if (!xen_initial_domain()) > +- return -EPERM; > +- > + if (copy_from_user(&m, udata, sizeof(m))) > + return -EFAULT; > + I think you should submit both patches separately for inclusion in the Linux kernel. > +Anthony PERARD > + > diff --git a/stubdom-linux/0002-fix-remap_area_mfn_pte_fn.patch > b/stubdom-linux/0002-fix-remap_area_mfn_pte_fn.patch > new file mode 100644 > index 0000000..0d5c262 > --- /dev/null > +++ b/stubdom-linux/0002-fix-remap_area_mfn_pte_fn.patch > @@ -0,0 +1,36 @@ > +From 61cd574f29f41046f1c709cfa9da118156babf83 Mon Sep 17 00:00:00 2001 > +From: Anthony PERARD <anthony.perard@xxxxxxxxxx> > +Date: Fri, 1 Jun 2012 15:47:01 +0100 > +Subject: [PATCH 2/2] fix/remap_area_mfn_pte_fn I think we need a better commit message > +--- > + arch/x86/xen/mmu.c | 13 ++++++++++++- > + 1 file changed, 12 insertions(+), 1 deletion(-) > + > +diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c > +index 69f5857..999fc82 100644 > +--- a/arch/x86/xen/mmu.c > ++++ b/arch/x86/xen/mmu.c > +@@ -2315,7 +2315,18 @@ static int remap_area_mfn_pte_fn(pte_t *ptep, > pgtable_t token, > + unsigned long addr, void *data) > + { > + struct remap_data *rmd = data; > +- pte_t pte = pte_mkspecial(pfn_pte(rmd->mfn++, rmd->prot)); > ++ > ++ /* Use the native_make_pte function because we are sure we don't > ++ * have to do any pfn->mfn translations but at the same time we > ++ * could in a stubdom so xen_initial_domain() would return false. */ > ++ pte_t pte = > pte_mkspecial(native_make_pte(((phys_addr_t)(rmd->mfn++) << PAGE_SHIFT) > ++ | > massage_pgprot(rmd->prot))); This change is OK. The stubdom part of the comment is a bit confusing and would benefit from a clearer explanation. Also the indentation is wrong. > ++ pteval_t val = pte_val_ma(pte); > ++ > ++ if (pat_enabled && !WARN_ON(val & _PAGE_PAT)) { > ++ if ((val & (_PAGE_PCD | _PAGE_PWT)) == _PAGE_PWT) > ++ val = (val & ~(_PAGE_PCD | _PAGE_PWT)) | _PAGE_PAT; > ++ } Konrad disabled PAT in upstream kernels, see: commit 8eaffa67b43e99ae581622c5133e20b0f48bcef1 Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Date: Fri Feb 10 09:16:27 2012 -0500 xen/pat: Disable PAT support for now. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |