| From 088e63bd3546eb886cbc707398b135a7b9e2e955 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 28 Feb 2025 14:22:58 -0800 |
| Subject: perf debug: Avoid stack overflow in recursive error message |
| |
| From: Ian Rogers <irogers@google.com> |
| |
| [ Upstream commit bda840191d2aae3b7cadc3ac21835dcf29487191 ] |
| |
| In debug_file, pr_warning_once is called on error. As that function |
| calls debug_file the function will yield a stack overflow. Switch the |
| location of the call so the recursion is avoided. |
| |
| Reviewed-by: Howard Chu <howardchu95@gmail.com> |
| Signed-off-by: Ian Rogers <irogers@google.com> |
| Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com> |
| Link: https://lore.kernel.org/r/20250228222308.626803-2-irogers@google.com |
| Fixes: ec49230cf6dda704 ("perf debug: Expose debug file") |
| Signed-off-by: Namhyung Kim <namhyung@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/perf/util/debug.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c |
| index 995f6bb05b5f8..f9ef7d045c92e 100644 |
| --- a/tools/perf/util/debug.c |
| +++ b/tools/perf/util/debug.c |
| @@ -46,8 +46,8 @@ int debug_type_profile; |
| FILE *debug_file(void) |
| { |
| if (!_debug_file) { |
| - pr_warning_once("debug_file not set"); |
| debug_set_file(stderr); |
| + pr_warning_once("debug_file not set"); |
| } |
| return _debug_file; |
| } |
| -- |
| 2.39.5 |
| |