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