From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Maxime Ripard <mripard@kernel.org>
Cc: "Sumit Semwal" <sumit.semwal@linaro.org>,
"Benjamin Gaignard" <benjamin.gaignard@collabora.com>,
"Brian Starkey" <Brian.Starkey@arm.com>,
"John Stultz" <jstultz@google.com>,
"T.J. Mercier" <tjmercier@google.com>,
"Christian König" <christian.koenig@amd.com>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Robin Murphy" <robin.murphy@arm.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Lorenzo Stoakes" <lorenzo.stoakes@oracle.com>,
"Liam R. Howlett" <Liam.Howlett@oracle.com>,
"Vlastimil Babka" <vbabka@suse.cz>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Michal Hocko" <mhocko@suse.com>,
linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org,
iommu@lists.linux.dev, linux-mm@kvack.org
Subject: Re: [PATCH 2/7] mm: cma: Export cma_alloc and cma_release
Date: Thu, 26 Feb 2026 11:49:41 +0100 [thread overview]
Message-ID: <ca7de272-2c14-40d1-9c1f-fdb1a6488137@kernel.org> (raw)
In-Reply-To: <20260226-impetuous-analytic-jellyfish-d4a86d@penduick>
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 <mripard@kernel.org>
>>> ---
>>> 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
next prev parent reply other threads:[~2026-02-26 10:49 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-25 16:41 [PATCH 0/7] dma-buf: heaps: Turn heaps into modules Maxime Ripard
2026-02-25 16:41 ` [PATCH 1/7] dma: contiguous: Turn heap registration logic around Maxime Ripard
2026-02-25 19:32 ` T.J. Mercier
2026-02-25 16:41 ` [PATCH 2/7] mm: cma: Export cma_alloc and cma_release Maxime Ripard
2026-02-25 19:34 ` T.J. Mercier
2026-02-26 10:25 ` David Hildenbrand (Arm)
2026-02-26 10:38 ` Maxime Ripard
2026-02-26 10:49 ` David Hildenbrand (Arm) [this message]
2026-02-25 16:41 ` [PATCH 3/7] mm: cma: Export cma_get_name Maxime Ripard
2026-02-25 19:34 ` T.J. Mercier
2026-02-25 16:41 ` [PATCH 4/7] mm: cma: Export dma_contiguous_default_area Maxime Ripard
2026-02-25 19:52 ` T.J. Mercier
2026-02-25 16:41 ` [PATCH 5/7] dma-buf: heaps: Export mem_accounting parameter Maxime Ripard
2026-02-25 19:53 ` T.J. Mercier
2026-02-25 16:41 ` [PATCH 6/7] dma-buf: heaps: cma: Turn the heap into a module Maxime Ripard
2026-02-25 19:54 ` T.J. Mercier
2026-02-25 16:41 ` [PATCH 7/7] dma-buf: heaps: system: " Maxime Ripard
2026-02-25 19:55 ` T.J. Mercier
2026-02-25 18:51 ` [PATCH 0/7] dma-buf: heaps: Turn heaps into modules John Stultz
2026-02-26 10:18 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca7de272-2c14-40d1-9c1f-fdb1a6488137@kernel.org \
--to=david@kernel.org \
--cc=Brian.Starkey@arm.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=benjamin.gaignard@collabora.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=jstultz@google.com \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=m.szyprowski@samsung.com \
--cc=mhocko@suse.com \
--cc=mripard@kernel.org \
--cc=robin.murphy@arm.com \
--cc=rppt@kernel.org \
--cc=sumit.semwal@linaro.org \
--cc=surenb@google.com \
--cc=tjmercier@google.com \
--cc=vbabka@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox