Message ID | 20170912100330.2168-24-julien.grall@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, 12 Sep 2017, Julien Grall wrote: > Currently, all the new mappings will be read-write non-executable. Allow the > caller to use other permissions. > > Signed-off-by: Julien Grall <julien.grall@arm.com> > > --- > Changes in v2: > - Switch the runtime check to a BUG_ON() Since you are at it, could you please also turn the other runtime check few lines below into another BUG_ON (under MODIFY)? > --- > xen/arch/arm/mm.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c > index 8a56f37821..a6b228ba9b 100644 > --- a/xen/arch/arm/mm.c > +++ b/xen/arch/arm/mm.c > @@ -1022,6 +1022,9 @@ static int create_xen_entries(enum xenmap_operation op, > if ( op == RESERVE ) > break; > pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags)); > + pte.pt.ro = PAGE_RO_MASK(flags); > + pte.pt.xn = PAGE_XN_MASK(flags); > + BUG_ON(!pte.pt.ro && !pte.pt.xn); > pte.pt.table = 1; > write_pte(entry, pte); > break; > -- > 2.11.0 >
Hi Stefano, On 20/09/17 00:17, Stefano Stabellini wrote: > On Tue, 12 Sep 2017, Julien Grall wrote: >> Currently, all the new mappings will be read-write non-executable. Allow the >> caller to use other permissions. >> >> Signed-off-by: Julien Grall <julien.grall@arm.com> >> >> --- >> Changes in v2: >> - Switch the runtime check to a BUG_ON() > > Since you are at it, could you please also turn the other runtime check > few lines below into another BUG_ON (under MODIFY)? I would prefer to keep the runtime check in MODIFY for now. It is not really critical and I plan to ditch create_xen_entries fairly soon. This series is actually a preparatory for what's coming up. Cheers,
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 8a56f37821..a6b228ba9b 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -1022,6 +1022,9 @@ static int create_xen_entries(enum xenmap_operation op, if ( op == RESERVE ) break; pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags)); + pte.pt.ro = PAGE_RO_MASK(flags); + pte.pt.xn = PAGE_XN_MASK(flags); + BUG_ON(!pte.pt.ro && !pte.pt.xn); pte.pt.table = 1; write_pte(entry, pte); break;
Currently, all the new mappings will be read-write non-executable. Allow the caller to use other permissions. Signed-off-by: Julien Grall <julien.grall@arm.com> --- Changes in v2: - Switch the runtime check to a BUG_ON() --- xen/arch/arm/mm.c | 3 +++ 1 file changed, 3 insertions(+)