From: Ian Rogers Date: Fri, 28 Feb 2025 22:22:58 +0000 (-0800) Subject: perf debug: Avoid stack overflow in recursive error message X-Git-Tag: block-6.15-20250403~13^2~81 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=bda840191d2aae3b7cadc3ac21835dcf29487191;p=linux-block.git perf debug: Avoid stack overflow in recursive error message 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 Signed-off-by: Ian Rogers Reviewed-by: Arnaldo Carvalho de Melo Link: https://lore.kernel.org/r/20250228222308.626803-2-irogers@google.com Fixes: ec49230cf6dda704 ("perf debug: Expose debug file") Signed-off-by: Namhyung Kim --- diff --git a/tools/perf/util/debug.c b/tools/perf/util/debug.c index 995f6bb05b5f..f9ef7d045c92 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; }