On Fri, Nov 13, 2020 at 4:06 PM Rui Miguel Silva <rui.si...@linaro.org> wrote:
>
> Only in smp systems the cache policy is setup as write alloc, in
> single cpu systems the cache policy is set as writeback and it is
> normal memory, so, it should pass the is_normal_memory check in the
> share memory registration.
>
> Add the right condition to make it work in no smp systems.
>
> Fixes: cdbcf83d29c1 ("tee: optee: check type of registered shared memory")
> Signed-off-by: Rui Miguel Silva <rui.si...@linaro.org>

Looks good, I'll pick up this.

Thanks,
Jens

>
> ---
>  drivers/tee/optee/call.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tee/optee/call.c b/drivers/tee/optee/call.c
> index 20b6fd7383c5..c981757ba0d4 100644
> --- a/drivers/tee/optee/call.c
> +++ b/drivers/tee/optee/call.c
> @@ -534,7 +534,8 @@ void optee_free_pages_list(void *list, size_t num_entries)
>  static bool is_normal_memory(pgprot_t p)
>  {
>  #if defined(CONFIG_ARM)
> -       return (pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEALLOC;
> +       return (((pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEALLOC) ||
> +               ((pgprot_val(p) & L_PTE_MT_MASK) == L_PTE_MT_WRITEBACK));
>  #elif defined(CONFIG_ARM64)
>         return (pgprot_val(p) & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL);
>  #else
> --
> 2.29.2
>

Reply via email to