[PATCH] dma/dma_map_benchmark: fix fd leak on error and exit

2564278112@qq.com posted 1 patch 3 days, 12 hours ago
tools/dma/dma_map_benchmark.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH] dma/dma_map_benchmark: fix fd leak on error and exit
Posted by 2564278112@qq.com 3 days, 12 hours ago
From: Wang Jiang <jiangwang@kylinos.cn>

Close the file descriptor when ioctl fails and on normal exit
to fix file descriptor leak.

Signed-off-by: Wang Jiang <jiangwang@kylinos.cn>
---
 tools/dma/dma_map_benchmark.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/dma/dma_map_benchmark.c b/tools/dma/dma_map_benchmark.c
index eab0ac611a23..bdb8a837f020 100644
--- a/tools/dma/dma_map_benchmark.c
+++ b/tools/dma/dma_map_benchmark.c
@@ -130,6 +130,7 @@ int main(int argc, char **argv)
 
 	if (ioctl(fd, cmd, &map)) {
 		perror("ioctl");
+		close(fd);
 		exit(1);
 	}
 
@@ -140,5 +141,6 @@ int main(int argc, char **argv)
 	printf("average unmap latency(us):%.1f standard deviation:%.1f\n",
 			map.avg_unmap_100ns/10.0, map.unmap_stddev/10.0);
 
+	close(fd);
 	return 0;
 }
-- 
2.25.1
Re: [PATCH] dma/dma_map_benchmark: fix fd leak on error and exit
Posted by David Laight 3 days, 11 hours ago
On Thu, 21 May 2026 16:02:41 +0800
2564278112@qq.com wrote:

> From: Wang Jiang <jiangwang@kylinos.cn>
> 
> Close the file descriptor when ioctl fails and on normal exit
> to fix file descriptor leak.

There isn't a leak, it is all tidied up by the kernel.

-- David

> 
> Signed-off-by: Wang Jiang <jiangwang@kylinos.cn>
> ---
>  tools/dma/dma_map_benchmark.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tools/dma/dma_map_benchmark.c b/tools/dma/dma_map_benchmark.c
> index eab0ac611a23..bdb8a837f020 100644
> --- a/tools/dma/dma_map_benchmark.c
> +++ b/tools/dma/dma_map_benchmark.c
> @@ -130,6 +130,7 @@ int main(int argc, char **argv)
>  
>  	if (ioctl(fd, cmd, &map)) {
>  		perror("ioctl");
> +		close(fd);
>  		exit(1);
>  	}
>  
> @@ -140,5 +141,6 @@ int main(int argc, char **argv)
>  	printf("average unmap latency(us):%.1f standard deviation:%.1f\n",
>  			map.avg_unmap_100ns/10.0, map.unmap_stddev/10.0);
>  
> +	close(fd);
>  	return 0;
>  }