From 9d5f565682111b1f9c397e1ed69804f61165c9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= Date: Tue, 9 Aug 2022 01:41:17 +0200 Subject: [PATCH] pipewire: extend memfd name with additional information Knowing the flags, type, and size that were used in the `pw_mempool_alloc()` call can be useful for debugging purposes. --- src/pipewire/mem.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/pipewire/mem.c b/src/pipewire/mem.c index 361ee88a2..ae9e1e46c 100644 --- a/src/pipewire/mem.c +++ b/src/pipewire/mem.c @@ -485,7 +485,12 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempool *pool, enum pw_memblock_ spa_list_init(&b->memmaps); #ifdef HAVE_MEMFD_CREATE - b->this.fd = memfd_create("pipewire-memfd", MFD_CLOEXEC | MFD_ALLOW_SEALING); + char name[128]; + snprintf(name, sizeof(name), + "pipewire-memfd:flags=0x%08x,type=%" PRIu32 ",size=%zu", + (unsigned int) flags, type, size); + + b->this.fd = memfd_create(name, MFD_CLOEXEC | MFD_ALLOW_SEALING); if (b->this.fd == -1) { res = -errno; pw_log_error("%p: Failed to create memfd: %m", pool); @@ -499,7 +504,11 @@ struct pw_memblock * pw_mempool_alloc(struct pw_mempool *pool, enum pw_memblock_ goto error_free; } #else - char filename[] = "/dev/shm/pipewire-tmpfile.XXXXXX"; + char filename[128]; + snprintf(filename, sizeof(filename), + "/dev/shm/pipewire-tmpfile:flags=0x%08x,type=%" PRIu32 ",size=%zu:XXXXXX", + (unsigned int) flags, type, size); + b->this.fd = mkostemp(filename, O_CLOEXEC); if (b->this.fd == -1) { res = -errno;