On 2/26/26 11:38, Maxime Ripard wrote:
> Hi David,
> 
> On Thu, Feb 26, 2026 at 11:25:24AM +0100, David Hildenbrand (Arm) wrote:
>> 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().
> 
> TIL about EXPORT_SYMBOL_FOR_MODULES, thanks.
> 
>> Especially dma_contiguous_default_area() (patch #4), I am not sure
>> whether we want arbitrary modules to mess with that.
> 
> Yeah, I wasn't too fond about that one either. Alternatively, I guess we
> could turn dev_get_cma_area into a non-inlined function and export that
> instead?

That would be one option, yes.

-- 
Cheers,

David

Reply via email to