Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e441d56a authored by Mitchel Humpherys's avatar Mitchel Humpherys
Browse files

iommu/io-pgtable-arm: Stricter double-map checking



Currently there's a check to make sure that a mapping isn't being
installed on top of an existing leaf mapping.  However, mapping on top
of an existing table mapping is silently ignored.  Make the check more
strict by testing for any valid page table entry (table, block, or page
descriptor) and by making any overlap fatal.

Change-Id: Ibdffbfdb2b44cf9da5044c2c1828a32979a39760
Signed-off-by: default avatarMitchel Humpherys <mitchelh@codeaurora.org>
parent ea0c0d74
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -282,8 +282,8 @@ static int arm_lpae_init_pte(struct arm_lpae_io_pgtable *data,
	arm_lpae_iopte pte = prot;

	/* We require an unmap first */
	if (iopte_leaf(*ptep, lvl)) {
		WARN_ON(!suppress_map_failures);
	if (*ptep & ARM_LPAE_PTE_VALID) {
		BUG_ON(!suppress_map_failures);
		return -EEXIST;
	}