Messages in this thread Patch in this message | | | From | Xianting Tian <> | Subject | [PATCH] udmabuf: put dmabuf in case of get fd failed | Date | Mon, 20 Dec 2021 13:43:33 +0800 |
| |
It needs call dma_buf_put() to put dmabuf in case of getting fd failed.
Signed-off-by: Xianting Tian <xianting.tian@linux.alibaba.com> --- drivers/dma-buf/udmabuf.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/dma-buf/udmabuf.c b/drivers/dma-buf/udmabuf.c index c57a609db..d77f96995 100644 --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c @@ -274,8 +274,11 @@ static long udmabuf_create(struct miscdevice *device, flags = 0; if (head->flags & UDMABUF_FLAGS_CLOEXEC) flags |= O_CLOEXEC; - return dma_buf_fd(buf, flags); + ret = dma_buf_fd(buf, flags); + if (ret < 0) { + dma_buf_put(buf); + return ret; err: while (pgbuf > 0) put_page(ubuf->pages[--pgbuf]); -- 2.17.1
| |