linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ian Rogers <irogers@google.com>
To: Leo Yan <leo.yan@linaro.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com>,
	German Gomez <german.gomez@arm.com>,
	linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Stephane Eranian <eranian@google.com>, Ian Rogers <irogers@google.com>
Subject: [PATCH v1 4/8] perf ftrace: Use sig_atomic_t to avoid UB
Date: Mon, 24 Oct 2022 10:35:19 -0700	[thread overview]
Message-ID: <20221024173523.602064-5-irogers@google.com> (raw)
In-Reply-To: <20221024173523.602064-1-irogers@google.com>

Use sig_atomic_t for a variable written to in a signal handler and
read elsewhere. This is undefined behavior as per:
https://wiki.sei.cmu.edu/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/builtin-ftrace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/builtin-ftrace.c b/tools/perf/builtin-ftrace.c
index 7de07bb16d23..d7fe00f66b83 100644
--- a/tools/perf/builtin-ftrace.c
+++ b/tools/perf/builtin-ftrace.c
@@ -36,8 +36,8 @@
 
 #define DEFAULT_TRACER  "function_graph"
 
-static volatile int workload_exec_errno;
-static bool done;
+static volatile sig_atomic_t workload_exec_errno;
+static volatile sig_atomic_t done;
 
 static void sig_handler(int sig __maybe_unused)
 {
-- 
2.38.0.135.g90850a2211-goog


  parent reply	other threads:[~2022-10-24 19:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-24 17:35 [PATCH v1 0/8] Update to C11, fix signal undefined behavior Ian Rogers
2022-10-24 17:35 ` [PATCH v1 1/8] perf build: Update to C standard to gnu11 Ian Rogers
2022-10-24 17:35 ` [PATCH v1 2/8] perf record: Use sig_atomic_t for signal handlers Ian Rogers
2022-10-24 17:35 ` [PATCH v1 3/8] perf daemon: Use sig_atomic_t to avoid UB Ian Rogers
2022-10-24 17:35 ` Ian Rogers [this message]
2022-10-24 17:35 ` [PATCH v1 5/8] perf session: Change type " Ian Rogers
2022-10-24 17:35 ` [PATCH v1 6/8] perf stat: Use sig_atomic_t " Ian Rogers
2022-10-24 17:35 ` [PATCH v1 7/8] perf top: " Ian Rogers
2022-10-24 17:35 ` [PATCH v1 8/8] perf trace: " Ian Rogers
2022-10-24 17:51 ` [PATCH v1 0/8] Update to C11, fix signal undefined behavior Arnaldo Carvalho de Melo
2022-10-24 17:59   ` Ian Rogers
2022-10-24 18:11     ` Ian Rogers
2022-10-25 10:36       ` David Laight
2022-10-25 11:25         ` Leo Yan
2022-10-24 19:36     ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221024173523.602064-5-irogers@google.com \
    --to=irogers@google.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=alexey.v.bayduraev@linux.intel.com \
    --cc=eranian@google.com \
    --cc=german.gomez@arm.com \
    --cc=jolsa@kernel.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).