diff options
author | Jann Horn <jannh@google.com> | 2024-12-04 19:26:21 +0300 |
---|---|---|
committer | Vivek Kasireddy <vivek.kasireddy@intel.com> | 2024-12-12 03:47:41 +0300 |
commit | f49856f525acd5bef52ae28b7da2e001bbe7439e (patch) | |
tree | 18e76a5373a9ff2bfda6de34b5b379d5373454c8 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 0a16e24e34f28210f68195259456c73462518597 (diff) | |
download | linux-f49856f525acd5bef52ae28b7da2e001bbe7439e.tar.xz |
udmabuf: fix memory leak on last export_udmabuf() error path
In export_udmabuf(), if dma_buf_fd() fails because the FD table is full, a
dma_buf owning the udmabuf has already been created; but the error handling
in udmabuf_create() will tear down the udmabuf without doing anything about
the containing dma_buf.
This leaves a dma_buf in memory that contains a dangling pointer; though
that doesn't seem to lead to anything bad except a memory leak.
Fix it by moving the dma_buf_fd() call out of export_udmabuf() so that we
can give it different error handling.
Note that the shape of this code changed a lot in commit 5e72b2b41a21
("udmabuf: convert udmabuf driver to use folios"); but the memory leak
seems to have existed since the introduction of udmabuf.
Fixes: fbb0de795078 ("Add udmabuf misc device")
Acked-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Jann Horn <jannh@google.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241204-udmabuf-fixes-v2-3-23887289de1c@google.com
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions