Re: [PATCH] optee: add writeback to valid memory type

From: Jens Wiklander
Date: Wed Nov 25 2020 - 06:55:39 EST


On Fri, Nov 13, 2020 at 4:06 PM Rui Miguel Silva <rui.silva@xxxxxxxxxx> 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.silva@xxxxxxxxxx>

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
>