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

Sumit Garg sumit.garg at linaro.org
Wed May 17 00:52:51 PDT 2023


On Wed, 17 May 2023 at 13:04, Christoph Hellwig <hch at infradead.org> 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



More information about the linux-arm-kernel mailing list