Netdev List
 help / color / mirror / Atom feed
* [PATCH] selftests: Open /dev/udmabuf O_RDONLY
@ 2026-06-25 18:15 T.J. Mercier
  2026-06-27  1:09 ` Jakub Kicinski
  0 siblings, 1 reply; 5+ messages in thread
From: T.J. Mercier @ 2026-06-25 18:15 UTC (permalink / raw)
  To: kraxel, vivek.kasireddy, Shuah Khan, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: T.J. Mercier, linux-kselftest, linux-kernel, netdev, bpf

Write permissions on the /dev/udmabuf device file are not required to
issue ioctls and allocate udmabufs. Applications should be opening this
file as O_RDONLY. The BPF dmabuf_iter selftest already does this. [1]

Remove the write access mode from the drivers/dma-buf/udmabuf.c and
drivers/net/hw/ncdevmem.c selftests.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/bpf/prog_tests/dmabuf_iter.c?h=v7.1#n49

Signed-off-by: T.J. Mercier <tjmercier@google.com>
---
 tools/testing/selftests/drivers/dma-buf/udmabuf.c | 2 +-
 tools/testing/selftests/drivers/net/hw/ncdevmem.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/testing/selftests/drivers/dma-buf/udmabuf.c b/tools/testing/selftests/drivers/dma-buf/udmabuf.c
index d78aec662586..ced0b95c876c 100644
--- a/tools/testing/selftests/drivers/dma-buf/udmabuf.c
+++ b/tools/testing/selftests/drivers/dma-buf/udmabuf.c
@@ -140,7 +140,7 @@ int main(int argc, char *argv[])
 	ksft_print_header();
 	ksft_set_plan(7);
 
-	devfd = open("/dev/udmabuf", O_RDWR);
+	devfd = open("/dev/udmabuf", O_RDONLY);
 	if (devfd < 0) {
 		ksft_print_msg(
 			"%s: [skip,no-udmabuf: Unable to access DMA buffer device file]\n",
diff --git a/tools/testing/selftests/drivers/net/hw/ncdevmem.c b/tools/testing/selftests/drivers/net/hw/ncdevmem.c
index e098d6534c3c..8114a29692fd 100644
--- a/tools/testing/selftests/drivers/net/hw/ncdevmem.c
+++ b/tools/testing/selftests/drivers/net/hw/ncdevmem.c
@@ -149,7 +149,7 @@ static struct memory_buffer *udmabuf_alloc(size_t size)
 
 	ctx->size = size;
 
-	ctx->devfd = open("/dev/udmabuf", O_RDWR);
+	ctx->devfd = open("/dev/udmabuf", O_RDONLY);
 	if (ctx->devfd < 0) {
 		pr_err("[skip,no-udmabuf: Unable to access DMA buffer device file]");
 		goto err_free_ctx;
-- 
2.55.0.rc0.799.gd6f94ed593-goog


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] selftests: Open /dev/udmabuf O_RDONLY
  2026-06-25 18:15 [PATCH] selftests: Open /dev/udmabuf O_RDONLY T.J. Mercier
@ 2026-06-27  1:09 ` Jakub Kicinski
  2026-07-01 18:53   ` T.J. Mercier
  0 siblings, 1 reply; 5+ messages in thread
From: Jakub Kicinski @ 2026-06-27  1:09 UTC (permalink / raw)
  To: T.J. Mercier
  Cc: kraxel, vivek.kasireddy, Shuah Khan, Andrew Lunn, David S. Miller,
	Eric Dumazet, Paolo Abeni, linux-kselftest, linux-kernel, netdev,
	bpf

On Thu, 25 Jun 2026 11:15:55 -0700 T.J. Mercier wrote:
> Write permissions on the /dev/udmabuf device file are not required to
> issue ioctls and allocate udmabufs. Applications should be opening this
> file as O_RDONLY. The BPF dmabuf_iter selftest already does this. [1]
> 
> Remove the write access mode from the drivers/dma-buf/udmabuf.c and
> drivers/net/hw/ncdevmem.c selftests.

You need to explain "why", too. Why change it if it clearly
worked for everyone running this test until now.
-- 
pw-bot: cr

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] selftests: Open /dev/udmabuf O_RDONLY
  2026-06-27  1:09 ` Jakub Kicinski
@ 2026-07-01 18:53   ` T.J. Mercier
  2026-07-01 18:57     ` Jakub Kicinski
  0 siblings, 1 reply; 5+ messages in thread
From: T.J. Mercier @ 2026-07-01 18:53 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: kraxel, vivek.kasireddy, Shuah Khan, Andrew Lunn, David S. Miller,
	Eric Dumazet, Paolo Abeni, linux-kselftest, linux-kernel, netdev,
	bpf

On Fri, Jun 26, 2026 at 6:09 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Thu, 25 Jun 2026 11:15:55 -0700 T.J. Mercier wrote:
> > Write permissions on the /dev/udmabuf device file are not required to
> > issue ioctls and allocate udmabufs. Applications should be opening this
> > file as O_RDONLY. The BPF dmabuf_iter selftest already does this. [1]
> >
> > Remove the write access mode from the drivers/dma-buf/udmabuf.c and
> > drivers/net/hw/ncdevmem.c selftests.
>
> You need to explain "why", too. Why change it if it clearly
> worked for everyone running this test until now.
> --
> pw-bot: cr

Principle of least privilege. Folks use or point to these selftests as
examples, and then wonder why O_RDWR doesn't work on systems where
write permissions are not available on /dev/udmabuf.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] selftests: Open /dev/udmabuf O_RDONLY
  2026-07-01 18:53   ` T.J. Mercier
@ 2026-07-01 18:57     ` Jakub Kicinski
  2026-07-01 19:23       ` T.J. Mercier
  0 siblings, 1 reply; 5+ messages in thread
From: Jakub Kicinski @ 2026-07-01 18:57 UTC (permalink / raw)
  To: T.J. Mercier
  Cc: kraxel, vivek.kasireddy, Shuah Khan, Andrew Lunn, David S. Miller,
	Eric Dumazet, Paolo Abeni, linux-kselftest, linux-kernel, netdev,
	bpf

On Wed, 1 Jul 2026 11:53:15 -0700 T.J. Mercier wrote:
> On Fri, Jun 26, 2026 at 6:09 PM Jakub Kicinski <kuba@kernel.org> wrote:
> >
> > On Thu, 25 Jun 2026 11:15:55 -0700 T.J. Mercier wrote:  
> > > Write permissions on the /dev/udmabuf device file are not required to
> > > issue ioctls and allocate udmabufs. Applications should be opening this
> > > file as O_RDONLY. The BPF dmabuf_iter selftest already does this. [1]
> > >
> > > Remove the write access mode from the drivers/dma-buf/udmabuf.c and
> > > drivers/net/hw/ncdevmem.c selftests.  
> >
> > You need to explain "why", too. Why change it if it clearly
> > worked for everyone running this test until now.
> > --
> > pw-bot: cr  
> 
> Principle of least privilege. Folks use or point to these selftests as
> examples, and then wonder why O_RDWR doesn't work on systems where
> write permissions are not available on /dev/udmabuf.

Alright, pop that into the commit msg and repost please.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] selftests: Open /dev/udmabuf O_RDONLY
  2026-07-01 18:57     ` Jakub Kicinski
@ 2026-07-01 19:23       ` T.J. Mercier
  0 siblings, 0 replies; 5+ messages in thread
From: T.J. Mercier @ 2026-07-01 19:23 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: kraxel, vivek.kasireddy, Shuah Khan, Andrew Lunn, David S. Miller,
	Eric Dumazet, Paolo Abeni, linux-kselftest, linux-kernel, netdev,
	bpf

On Wed, Jul 1, 2026 at 11:57 AM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Wed, 1 Jul 2026 11:53:15 -0700 T.J. Mercier wrote:
> > On Fri, Jun 26, 2026 at 6:09 PM Jakub Kicinski <kuba@kernel.org> wrote:
> > >
> > > On Thu, 25 Jun 2026 11:15:55 -0700 T.J. Mercier wrote:
> > > > Write permissions on the /dev/udmabuf device file are not required to
> > > > issue ioctls and allocate udmabufs. Applications should be opening this
> > > > file as O_RDONLY. The BPF dmabuf_iter selftest already does this. [1]
> > > >
> > > > Remove the write access mode from the drivers/dma-buf/udmabuf.c and
> > > > drivers/net/hw/ncdevmem.c selftests.
> > >
> > > You need to explain "why", too. Why change it if it clearly
> > > worked for everyone running this test until now.
> > > --
> > > pw-bot: cr
> >
> > Principle of least privilege. Folks use or point to these selftests as
> > examples, and then wonder why O_RDWR doesn't work on systems where
> > write permissions are not available on /dev/udmabuf.
>
> Alright, pop that into the commit msg and repost please.

Done, thanks.
v2 here: https://lore.kernel.org/all/20260701192210.2997769-1-tjmercier@google.com/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-01 19:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-25 18:15 [PATCH] selftests: Open /dev/udmabuf O_RDONLY T.J. Mercier
2026-06-27  1:09 ` Jakub Kicinski
2026-07-01 18:53   ` T.J. Mercier
2026-07-01 18:57     ` Jakub Kicinski
2026-07-01 19:23       ` T.J. Mercier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox