From: Leon Romanovsky <leon@kernel.org>
To: Matt Evans <matt@ozlabs.org>
Cc: "Alex Williamson" <alex@shazbot.org>,
"Jason Gunthorpe" <jgg@nvidia.com>,
"Alex Mastro" <amastro@fb.com>,
"Christian König" <christian.koenig@amd.com>,
"Kevin Tian" <kevin.tian@intel.com>,
"Pranjal Shrivastava" <praan@google.com>,
"Longfang Liu" <liulongfang@huawei.com>,
"Mahmoud Adam" <mngyadam@amazon.de>,
"David Matlack" <dmatlack@google.com>,
"Björn Töpel" <bjorn@kernel.org>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Ankit Agrawal" <ankita@nvidia.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Vivek Kasireddy" <vivek.kasireddy@intel.com>,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org,
kvm@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH v8 3/9] dma-buf: Provide dma_buf_set_name()
Date: Mon, 12 Oct 2026 09:27:13 +0300 [thread overview]
Message-ID: <20261012062713.GE27033@unreal> (raw)
In-Reply-To: <20261006193643.76330-4-matt@ozlabs.org>
On Tue, Oct 06, 2026 at 08:36:31PM +0100, Matt Evans wrote:
> Allow exporters to set the name of buffers, during export or for
> subsequent updates. This is useful to express buffer-specific debug
> information, indicate state particular to the exporter's usage, etc.
> Only exporters and userspace are expected to set names; it isn't
> sensible for importers to do it.
>
> Originally, the static dma_buf_set_name() was used for
> DMA_BUF_SET_NAME ioctls, taking a __user string parameter. Export
> this function as a generic set-name helper, taking a kernel-allocated
> string. The SET_NAME ioctls now locally duplicate the __user string,
> and use the new function to set the name.
>
> Signed-off-by: Matt Evans <matt@ozlabs.org>
> ---
> drivers/dma-buf/dma-buf.c | 84 +++++++++++++++++++++++++--------------
> include/linux/dma-buf.h | 16 +++++---
> 2 files changed, 64 insertions(+), 36 deletions(-)
<...>
> @@ -577,8 +549,19 @@ static long dma_buf_ioctl(struct file *file,
> return ret;
>
> case DMA_BUF_SET_NAME_A:
> - case DMA_BUF_SET_NAME_B:
> - return dma_buf_set_name(dmabuf, (const char __user *)arg);
> + case DMA_BUF_SET_NAME_B: {
> + char *name = strndup_user((const char __user *)arg,
> + DMA_BUF_NAME_LEN);
> +
> + if (IS_ERR(name))
> + return PTR_ERR(name);
> +
> + ret = dma_buf_set_name(dmabuf, name);
> + if (ret)
> + kfree(name);
<...>
> +int dma_buf_set_name(struct dma_buf *dmabuf, char *name)
> +{
> + if (!name)
> + return -EINVAL;
> +
> + /* dmabuffs_dname() won't use the string if the length
> + * (including terminator) exceeds DMA_BUF_NAME_LEN:
> + */
> + if (strlen(name) >= DMA_BUF_NAME_LEN)
> + return -E2BIG;
BTW, in-kernel APIs generally avoid defensive programming, since it adds
overhead for checks that callers are expected to perform. The caller is
responsible for ensuring that the name is valid.
Unless you're writing code specifically for out-of-tree use, which is
also contrary to kernel rules.
Thanks
> +
> + spin_lock(&dmabuf->name_lock);
> + kfree(dmabuf->name);
> + dmabuf->name = name;
> + spin_unlock(&dmabuf->name_lock);
> +
> + return 0;
> +}
> +EXPORT_SYMBOL_NS_GPL(dma_buf_set_name, "DMA_BUF");
next prev parent reply other threads:[~2026-10-12 6:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 19:36 [PATCH v8 0/9] vfio/pci: Add mmap() for DMABUFs Matt Evans
2026-10-06 19:36 ` [PATCH v8 1/9] vfio/pci: Remove DMABUF export dependency on vdev->memory_lock Matt Evans
2026-10-06 19:36 ` [PATCH v8 2/9] vfio/pci: Un-revoke DMABUFs in LOW_POWER_ENTRY_WITH_WAKEUP resume Matt Evans
2026-10-06 19:36 ` [PATCH v8 3/9] dma-buf: Provide dma_buf_set_name() Matt Evans
2026-10-07 9:22 ` Christian König
2026-10-12 6:27 ` Leon Romanovsky [this message]
2026-10-06 19:36 ` [PATCH v8 4/9] vfio/pci: Add a helper to look up PFNs for DMABUFs Matt Evans
2026-10-06 19:36 ` [PATCH v8 5/9] vfio/pci: Add a helper to create a DMABUF for a BAR-map VMA Matt Evans
2026-10-06 19:36 ` [PATCH v8 6/9] vfio/pci: Convert BAR mmap() to use a DMABUF Matt Evans
2026-10-06 19:36 ` [PATCH v8 7/9] vfio/pci: Clean up BAR zap and revocation Matt Evans
2026-10-06 19:36 ` [PATCH v8 8/9] vfio/pci: Support mmap() of a VFIO DMABUF Matt Evans
2026-10-06 19:36 ` [PATCH v8 9/9] vfio/pci: Revoke a DMABUF on request from userspace Matt Evans
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=20261012062713.GE27033@unreal \
--to=leon@kernel.org \
--cc=alex@shazbot.org \
--cc=amastro@fb.com \
--cc=ankita@nvidia.com \
--cc=apopple@nvidia.com \
--cc=bjorn@kernel.org \
--cc=christian.koenig@amd.com \
--cc=dmatlack@google.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=liulongfang@huawei.com \
--cc=matt@ozlabs.org \
--cc=mngyadam@amazon.de \
--cc=praan@google.com \
--cc=sumit.semwal@linaro.org \
--cc=vivek.kasireddy@intel.com \
/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
all inboxes | Powered by JetHome®