mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 18:09:56 +00:00
perf drm_pmu: Fix fd_dir leaks in for_each_drm_fdinfo_in_dir()
[ Upstream commitbaa03483fd] Fix file descriptor leak when callback function returns error. The function was directly returning without closing fdinfo_dir_fd and fd_dir when cb() returned non-zero value. Fixes:28917cb17f("perf drm_pmu: Add a tool like PMU to expose DRM information") Reviewed-by: Ian Rogers <irogers@google.com> Reviewed-by: Markus Elfring <Markus.Elfring@web.de> Reviewed-by: Namhyung Kim <namhyung@kernel.org> Signed-off-by: GuoHan Zhao <zhaoguohan@kylinos.cn> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20250908065203.22187-1-zhaoguohan@kylinos.cn Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0ca35ac560
commit
3bec6565ec
@@ -458,8 +458,10 @@ static int for_each_drm_fdinfo_in_dir(int (*cb)(void *args, int fdinfo_dir_fd, c
|
||||
}
|
||||
ret = cb(args, fdinfo_dir_fd, fd_entry->d_name);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto close_fdinfo;
|
||||
}
|
||||
|
||||
close_fdinfo:
|
||||
if (fdinfo_dir_fd != -1)
|
||||
close(fdinfo_dir_fd);
|
||||
closedir(fd_dir);
|
||||
|
||||
Reference in New Issue
Block a user