Re: [PATCH] tee: add FOLL_LONGTERM for CMA case when alloc shm

From: Sumit Garg
Date: Wed May 17 2023 - 03:53:21 EST


On Wed, 17 May 2023 at 13:04, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> > + u32 page_flag = FOLL_WRITE;
> >
> > if (!tee_device_get(teedev))
> > return ERR_PTR(-EINVAL);
> > @@ -255,9 +256,11 @@ register_shm_helper(struct tee_context *ctx, unsigned long addr,
> > ret = ERR_PTR(-ENOMEM);
> > goto err_free_shm;
> > }
> > -
> > +#if IS_ENABLED(CONFIG_CMA)
> > + page_flag |= FOLL_LONGTERM;
> > +#endif
> > if (flags & TEE_SHM_USER_MAPPED)
>
> If this mapping is long live it should always use FOLL_LONGTERM.

It depends on the userspace application needs. However, I think it
should be safe to use FOLL_LONGTERM by default to serve cases like
secure media playback.

>
> The ifdef does not make sense.

Agree.

-Sumit