On 2/25/26 17:41, Maxime Ripard wrote:
> The CMA dma-buf heap uses cma_alloc() and cma_release() to allocate and
> free, respectively, its CMA buffers.
> 
> However, these functions are not exported. Since we want to turn the CMA
> heap into a module, let's export them both.
> 
> Signed-off-by: Maxime Ripard <[email protected]>
> ---
>  mm/cma.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/cma.c b/mm/cma.c
> index 
> 94b5da468a7d719e5144d33b06bcc7619c0fbcc9..be142b473f3bd41b9c7d8ba4397f018f6993d962
>  100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -949,10 +949,11 @@ struct page *cma_alloc(struct cma *cma, unsigned long 
> count,
>       if (page)
>               set_pages_refcounted(page, count);
>  
>       return page;
>  }
> +EXPORT_SYMBOL_GPL(cma_alloc);
>  
>  static struct cma_memrange *find_cma_memrange(struct cma *cma,
>               const struct page *pages, unsigned long count)
>  {
>       struct cma_memrange *cmr = NULL;
> @@ -1025,10 +1026,11 @@ bool cma_release(struct cma *cma, const struct page 
> *pages,
>  
>       __cma_release_frozen(cma, cmr, pages, count);
>  
>       return true;
>  }
> +EXPORT_SYMBOL_GPL(cma_release);
>  
>  bool cma_release_frozen(struct cma *cma, const struct page *pages,
>               unsigned long count)
>  {
>       struct cma_memrange *cmr;
> 

I'm wondering whether we want to restrict all these exports to the
dma-buf module only using EXPORT_SYMBOL_FOR_MODULES().

Especially dma_contiguous_default_area() (patch #4), I am not sure
whether we want arbitrary modules to mess with that.

-- 
Cheers,

David

Reply via email to