xen/arm: Don't mix GFN and MFN when using iomem_deny_access

iomem_deny_access is working on MFN and not GFN. Make it clear by
renaming the local variables.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Julien Grall authored and Stefano Stabellini committed 2017-01-17 15:50:46 -08:00
1 parent 960cd2cd17
commit ac94372254
3 files changed
+21 -21

No files matched your search

+3 -3
View File
@@ -1373,7 +1373,7 @@ static int acpi_iomem_deny_access(struct domain *d)
{
acpi_status status;
struct acpi_table_spcr *spcr = NULL;
unsigned long gfn;
unsigned long mfn;
int rc;
/* Firstly permit full MMIO capabilities. */
@@ -1391,9 +1391,9 @@ static int acpi_iomem_deny_access(struct domain *d)
return -EINVAL;
}
gfn = spcr->serial_port.address >> PAGE_SHIFT;
mfn = spcr->serial_port.address >> PAGE_SHIFT;
/* Deny MMIO access for UART */
rc = iomem_deny_access(d, gfn, gfn + 1);
rc = iomem_deny_access(d, mfn, mfn + 1);
if ( rc )
return rc;
+9 -9
View File
@@ -991,26 +991,26 @@ static void __init gicv2_dt_init(void)
static int gicv2_iomem_deny_access(const struct domain *d)
{
int rc;
unsigned long gfn, nr;
unsigned long mfn, nr;
gfn = dbase >> PAGE_SHIFT;
rc = iomem_deny_access(d, gfn, gfn + 1);
mfn = dbase >> PAGE_SHIFT;
rc = iomem_deny_access(d, mfn, mfn + 1);
if ( rc )
return rc;
gfn = hbase >> PAGE_SHIFT;
rc = iomem_deny_access(d, gfn, gfn + 1);
mfn = hbase >> PAGE_SHIFT;
rc = iomem_deny_access(d, mfn, mfn + 1);
if ( rc )
return rc;
gfn = cbase >> PAGE_SHIFT;
mfn = cbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(csize, PAGE_SIZE);
rc = iomem_deny_access(d, gfn, gfn + nr);
rc = iomem_deny_access(d, mfn, mfn + nr);
if ( rc )
return rc;
gfn = vbase >> PAGE_SHIFT;
return iomem_deny_access(d, gfn, gfn + nr);
mfn = vbase >> PAGE_SHIFT;
return iomem_deny_access(d, mfn, mfn + nr);
}
#ifdef CONFIG_ACPI
+9 -9
View File
@@ -1234,37 +1234,37 @@ static void __init gicv3_dt_init(void)
static int gicv3_iomem_deny_access(const struct domain *d)
{
int rc, i;
unsigned long gfn, nr;
unsigned long mfn, nr;
gfn = dbase >> PAGE_SHIFT;
mfn = dbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(SZ_64K, PAGE_SIZE);
rc = iomem_deny_access(d, gfn, gfn + nr);
rc = iomem_deny_access(d, mfn, mfn + nr);
if ( rc )
return rc;
for ( i = 0; i < gicv3.rdist_count; i++ )
{
gfn = gicv3.rdist_regions[i].base >> PAGE_SHIFT;
mfn = gicv3.rdist_regions[i].base >> PAGE_SHIFT;
nr = DIV_ROUND_UP(gicv3.rdist_regions[i].size, PAGE_SIZE);
rc = iomem_deny_access(d, gfn, gfn + nr);
rc = iomem_deny_access(d, mfn, mfn + nr);
if ( rc )
return rc;
}
if ( cbase != INVALID_PADDR )
{
gfn = cbase >> PAGE_SHIFT;
mfn = cbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(csize, PAGE_SIZE);
rc = iomem_deny_access(d, gfn, gfn + nr);
rc = iomem_deny_access(d, mfn, mfn + nr);
if ( rc )
return rc;
}
if ( vbase != INVALID_PADDR )
{
gfn = vbase >> PAGE_SHIFT;
mfn = vbase >> PAGE_SHIFT;
nr = DIV_ROUND_UP(csize, PAGE_SIZE);
return iomem_deny_access(d, gfn, gfn + nr);
return iomem_deny_access(d, mfn, mfn + nr);
}
return 0;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.