[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v4 01/19] hw/arm/smmu-common: Add missing size check for stag
From: |
Jean-Philippe Brucker |
Subject: |
Re: [PATCH v4 01/19] hw/arm/smmu-common: Add missing size check for stage-1 |
Date: |
Thu, 4 Jul 2024 18:55:08 +0100 |
On Mon, Jul 01, 2024 at 11:02:23AM +0000, Mostafa Saleh wrote:
> According to the SMMU architecture specification (ARM IHI 0070 F.b),
> in “3.4 Address sizes”
> The address output from the translation causes a stage 1 Address Size
> fault if it exceeds the range of the effective IPA size for the given CD.
>
> However, this check was missing.
>
> There is already a similar check for stage-2 against effective PA.
>
> Reviewed-by: Eric Auger <eric.auger@redhat.com>
> Signed-off-by: Mostafa Saleh <smostafa@google.com>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
> ---
> hw/arm/smmu-common.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/hw/arm/smmu-common.c b/hw/arm/smmu-common.c
> index 1ce706bf94..eb2356bc35 100644
> --- a/hw/arm/smmu-common.c
> +++ b/hw/arm/smmu-common.c
> @@ -381,6 +381,16 @@ static int smmu_ptw_64_s1(SMMUTransCfg *cfg,
> goto error;
> }
>
> + /*
> + * The address output from the translation causes a stage 1 Address
> + * Size fault if it exceeds the range of the effective IPA size for
> + * the given CD.
> + */
> + if (gpa >= (1ULL << cfg->oas)) {
> + info->type = SMMU_PTW_ERR_ADDR_SIZE;
> + goto error;
> + }
> +
> tlbe->entry.translated_addr = gpa;
> tlbe->entry.iova = iova & ~mask;
> tlbe->entry.addr_mask = mask;
> --
> 2.45.2.803.g4e1b14247a-goog
>
- [PATCH v4 00/19] SMMUv3 nested translation support, Mostafa Saleh, 2024/07/01
- [PATCH v4 02/19] hw/arm/smmu: Fix IPA for stage-2 events, Mostafa Saleh, 2024/07/01
- [PATCH v4 01/19] hw/arm/smmu-common: Add missing size check for stage-1, Mostafa Saleh, 2024/07/01
- Re: [PATCH v4 01/19] hw/arm/smmu-common: Add missing size check for stage-1,
Jean-Philippe Brucker <=
- [PATCH v4 04/19] hw/arm/smmu: Use enum for SMMU stage, Mostafa Saleh, 2024/07/01
- [PATCH v4 03/19] hw/arm/smmuv3: Fix encoding of CLASS in events, Mostafa Saleh, 2024/07/01
- [PATCH v4 05/19] hw/arm/smmu: Split smmuv3_translate(), Mostafa Saleh, 2024/07/01
- [PATCH v4 06/19] hw/arm/smmu: Consolidate ASID and VMID types, Mostafa Saleh, 2024/07/01
- [PATCH v4 08/19] hw/arm/smmuv3: Translate CD and TT using stage-2 table, Mostafa Saleh, 2024/07/01