diff options
| author | Junhao Xie <bigfoot@radxa.com> | 2025-10-17 16:39:06 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-10-29 14:10:30 +0100 |
| commit | 214e81a63a9aa0be42382ef0365ba5ed32c513ab (patch) | |
| tree | b760731d3e7d518afc184903e1dbfb88367906da /drivers | |
| parent | 316158ed53afb1a319082cf2942e0e29109f26ea (diff) | |
| download | linux-214e81a63a9aa0be42382ef0365ba5ed32c513ab.tar.gz linux-214e81a63a9aa0be42382ef0365ba5ed32c513ab.tar.bz2 linux-214e81a63a9aa0be42382ef0365ba5ed32c513ab.zip | |
misc: fastrpc: Fix dma_buf object leak in fastrpc_map_lookup
commit fff111bf45cbeeb659324316d68554e35d350092 upstream.
In fastrpc_map_lookup, dma_buf_get is called to obtain a reference to
the dma_buf for comparison purposes. However, this reference is never
released when the function returns, leading to a dma_buf memory leak.
Fix this by adding dma_buf_put before returning from the function,
ensuring that the temporarily acquired reference is properly released
regardless of whether a matching map is found.
Fixes: 9031626ade38 ("misc: fastrpc: Fix fastrpc_map_lookup operation")
Cc: stable@kernel.org
Signed-off-by: Junhao Xie <bigfoot@radxa.com>
Tested-by: Xilin Wu <sophon@radxa.com>
Link: https://lore.kernel.org/stable/48B368FB4C7007A7%2B20251017083906.3259343-1-bigfoot%40radxa.com
Link: https://patch.msgid.link/48B368FB4C7007A7+20251017083906.3259343-1-bigfoot@radxa.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/misc/fastrpc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 7eec907ed454..7dceb2db67a3 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -384,6 +384,8 @@ static int fastrpc_map_lookup(struct fastrpc_user *fl, int fd, } spin_unlock(&fl->lock); + dma_buf_put(buf); + return ret; } |
