* [PATCH v2 0/8] Update to C11, fix signal undefined behavior
@ 2022-10-24 18:19 Ian Rogers
2022-10-24 18:19 ` [PATCH v2 1/8] perf build: Update to C standard to gnu11 Ian Rogers
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
The use of C11 is mainstream in the kernel [1]. There was some
confusion on volatile and signal handlers in [2] for which atomics
(present in C11) make things clearer. Switch to using volatile
sig_atomic_t as per [3]. Thanks to Leo Yan <leo.yan@linaro.org> for
the suggestions.
[1] https://lore.kernel.org/lkml/CAHk-=whWbENRz-vLY6vpESDLj6kGUTKO3khGtVfipHqwewh2HQ@mail.gmail.com/
[2] https://lore.kernel.org/lkml/20221024011024.462518-1-irogers@google.com/
[3] https://wiki.sei.cmu.edu/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers
v2. Remove unneeded stdatomic.h includes for sig_atomic_t as it is
declared in signal.h.
Ian Rogers (8):
perf build: Update to C standard to gnu11
perf record: Use sig_atomic_t for signal handlers
perf daemon: Use sig_atomic_t to avoid UB
perf ftrace: Use sig_atomic_t to avoid UB
perf session: Change type to avoid UB
perf stat: Use sig_atomic_t to avoid UB
perf top: Use sig_atomic_t to avoid UB
perf trace: Use sig_atomic_t to avoid UB
tools/perf/Makefile.config | 2 +-
tools/perf/builtin-daemon.c | 2 +-
tools/perf/builtin-ftrace.c | 4 ++--
tools/perf/builtin-record.c | 8 ++++----
tools/perf/builtin-stat.c | 8 ++++----
tools/perf/builtin-top.c | 4 ++--
tools/perf/builtin-trace.c | 4 ++--
tools/perf/util/session.c | 3 ++-
8 files changed, 18 insertions(+), 17 deletions(-)
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/8] perf build: Update to C standard to gnu11
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 2/8] perf record: Use sig_atomic_t for signal handlers Ian Rogers
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
C11 has become the standard for mainstream kernel development [1],
allowing it in the perf build enables libraries like stdatomic.h to be
assumed to be present. This came up in the context of [2].
[1] https://lore.kernel.org/lkml/CAHk-=whWbENRz-vLY6vpESDLj6kGUTKO3khGtVfipHqwewh2HQ@mail.gmail.com/
[2] https://lore.kernel.org/lkml/20221024011024.462518-1-irogers@google.com/
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/Makefile.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 6fd4b1384b97..29c49e6e76a1 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -307,7 +307,7 @@ CORE_CFLAGS += -ggdb3
CORE_CFLAGS += -funwind-tables
CORE_CFLAGS += -Wall
CORE_CFLAGS += -Wextra
-CORE_CFLAGS += -std=gnu99
+CORE_CFLAGS += -std=gnu11
CXXFLAGS += -std=gnu++14 -fno-exceptions -fno-rtti
CXXFLAGS += -Wall
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/8] perf record: Use sig_atomic_t for signal handlers
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
2022-10-24 18:19 ` [PATCH v2 1/8] perf build: Update to C standard to gnu11 Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 3/8] perf daemon: Use sig_atomic_t to avoid UB Ian Rogers
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
This removes undefined behavior as described in:
https://wiki.sei.cmu.edu/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers
Suggested-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/builtin-record.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index e128b855ddde..b8438e323002 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -646,10 +646,10 @@ static int record__pushfn(struct mmap *map, void *to, void *bf, size_t size)
return record__write(rec, map, bf, size);
}
-static volatile int signr = -1;
-static volatile int child_finished;
+static volatile sig_atomic_t signr = -1;
+static volatile sig_atomic_t child_finished;
#ifdef HAVE_EVENTFD_SUPPORT
-static volatile int done_fd = -1;
+static volatile sig_atomic_t done_fd = -1;
#endif
static void sig_handler(int sig)
@@ -1926,7 +1926,7 @@ static void record__read_lost_samples(struct record *rec)
}
-static volatile int workload_exec_errno;
+static volatile sig_atomic_t workload_exec_errno;
/*
* evlist__prepare_workload will send a SIGUSR1
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/8] perf daemon: Use sig_atomic_t to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
2022-10-24 18:19 ` [PATCH v2 1/8] perf build: Update to C standard to gnu11 Ian Rogers
2022-10-24 18:19 ` [PATCH v2 2/8] perf record: Use sig_atomic_t for signal handlers Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 4/8] perf ftrace: " Ian Rogers
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
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-daemon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/builtin-daemon.c b/tools/perf/builtin-daemon.c
index 6cb3f6cc36d0..aaa47d721ae7 100644
--- a/tools/perf/builtin-daemon.c
+++ b/tools/perf/builtin-daemon.c
@@ -105,7 +105,7 @@ static const char * const daemon_usage[] = {
NULL
};
-static bool done;
+static volatile sig_atomic_t done;
static void sig_handler(int sig __maybe_unused)
{
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/8] perf ftrace: Use sig_atomic_t to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (2 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 3/8] perf daemon: Use sig_atomic_t to avoid UB Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 5/8] perf session: Change type " Ian Rogers
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
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
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/8] perf session: Change type to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (3 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 4/8] perf ftrace: " Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 6/8] perf stat: Use sig_atomic_t " Ian Rogers
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
session_done is written to inside the signal handler of perf report
and script. Switch its type to avoid undefined behavior.
Signed-off-by: Ian Rogers <irogers@google.com>
---
tools/perf/util/session.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index 1a4f10de29ff..0e1a3d6bacb9 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#include <errno.h>
+#include <signal.h>
#include <inttypes.h>
#include <linux/err.h>
#include <linux/kernel.h>
@@ -2022,7 +2023,7 @@ static int perf_session__flush_thread_stacks(struct perf_session *session)
NULL);
}
-volatile int session_done;
+volatile sig_atomic_t session_done;
static int __perf_session__process_decomp_events(struct perf_session *session);
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 6/8] perf stat: Use sig_atomic_t to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (4 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 5/8] perf session: Change type " Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 7/8] perf top: " Ian Rogers
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
Use sig_atomic_t for variables written/accessed in signal
handlers. 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-stat.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
index 265b05157972..e1a5605adb97 100644
--- a/tools/perf/builtin-stat.c
+++ b/tools/perf/builtin-stat.c
@@ -173,7 +173,7 @@ static struct target target = {
#define METRIC_ONLY_LEN 20
-static volatile pid_t child_pid = -1;
+static volatile sig_atomic_t child_pid = -1;
static int detailed_run = 0;
static bool transaction_run;
static bool topdown_run = false;
@@ -208,7 +208,7 @@ struct perf_stat {
static struct perf_stat perf_stat;
#define STAT_RECORD perf_stat.record
-static volatile int done = 0;
+static volatile sig_atomic_t done = 0;
static struct perf_stat_config stat_config = {
.aggr_mode = AGGR_GLOBAL,
@@ -569,7 +569,7 @@ static void disable_counters(void)
}
}
-static volatile int workload_exec_errno;
+static volatile sig_atomic_t workload_exec_errno;
/*
* evlist__prepare_workload will send a SIGUSR1
@@ -1029,7 +1029,7 @@ static void print_counters(struct timespec *ts, int argc, const char **argv)
evlist__print_counters(evsel_list, &stat_config, &target, ts, argc, argv);
}
-static volatile int signr = -1;
+static volatile sig_atomic_t signr = -1;
static void skip_signal(int signo)
{
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 7/8] perf top: Use sig_atomic_t to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (5 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 6/8] perf stat: Use sig_atomic_t " Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-10-24 18:19 ` [PATCH v2 8/8] perf trace: " Ian Rogers
2022-11-03 13:04 ` [PATCH v2 0/8] Update to C11, fix signal undefined behavior Arnaldo Carvalho de Melo
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
Use sig_atomic_t for variables written/accessed in signal
handlers. 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-top.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 4b3ff7687236..bb5bd241246b 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -87,8 +87,8 @@
#include <linux/ctype.h>
#include <perf/mmap.h>
-static volatile int done;
-static volatile int resize;
+static volatile sig_atomic_t done;
+static volatile sig_atomic_t resize;
#define HEADER_LINE_NR 5
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 8/8] perf trace: Use sig_atomic_t to avoid UB
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (6 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 7/8] perf top: " Ian Rogers
@ 2022-10-24 18:19 ` Ian Rogers
2022-11-03 13:04 ` [PATCH v2 0/8] Update to C11, fix signal undefined behavior Arnaldo Carvalho de Melo
8 siblings, 0 replies; 10+ messages in thread
From: Ian Rogers @ 2022-10-24 18:19 UTC (permalink / raw)
To: Leo Yan, Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim,
Adrian Hunter, Alexey Bayduraev, German Gomez, linux-perf-users,
linux-kernel
Cc: Stephane Eranian, Ian Rogers
Use sig_atomic_t for variables written/accessed in signal
handlers. 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-trace.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index d3c757769b96..72991528687e 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -1535,8 +1535,8 @@ static size_t trace__fprintf_tstamp(struct trace *trace, u64 tstamp, FILE *fp)
}
static pid_t workload_pid = -1;
-static bool done = false;
-static bool interrupted = false;
+static volatile sig_atomic_t done = false;
+static volatile sig_atomic_t interrupted = false;
static void sighandler_interrupt(int sig __maybe_unused)
{
--
2.38.0.135.g90850a2211-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/8] Update to C11, fix signal undefined behavior
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
` (7 preceding siblings ...)
2022-10-24 18:19 ` [PATCH v2 8/8] perf trace: " Ian Rogers
@ 2022-11-03 13:04 ` Arnaldo Carvalho de Melo
8 siblings, 0 replies; 10+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-11-03 13:04 UTC (permalink / raw)
To: Ian Rogers
Cc: Leo Yan, Peter Zijlstra, Ingo Molnar, Mark Rutland,
Alexander Shishkin, Jiri Olsa, Namhyung Kim, Adrian Hunter,
Alexey Bayduraev, German Gomez, linux-perf-users, linux-kernel,
Stephane Eranian
Em Mon, Oct 24, 2022 at 11:19:05AM -0700, Ian Rogers escreveu:
> The use of C11 is mainstream in the kernel [1]. There was some
> confusion on volatile and signal handlers in [2] for which atomics
> (present in C11) make things clearer. Switch to using volatile
> sig_atomic_t as per [3]. Thanks to Leo Yan <leo.yan@linaro.org> for
> the suggestions.
Thanks, applied and testing building it now.
- Arnaldo
> [1] https://lore.kernel.org/lkml/CAHk-=whWbENRz-vLY6vpESDLj6kGUTKO3khGtVfipHqwewh2HQ@mail.gmail.com/
> [2] https://lore.kernel.org/lkml/20221024011024.462518-1-irogers@google.com/
> [3] https://wiki.sei.cmu.edu/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers
>
> v2. Remove unneeded stdatomic.h includes for sig_atomic_t as it is
> declared in signal.h.
>
> Ian Rogers (8):
> perf build: Update to C standard to gnu11
> perf record: Use sig_atomic_t for signal handlers
> perf daemon: Use sig_atomic_t to avoid UB
> perf ftrace: Use sig_atomic_t to avoid UB
> perf session: Change type to avoid UB
> perf stat: Use sig_atomic_t to avoid UB
> perf top: Use sig_atomic_t to avoid UB
> perf trace: Use sig_atomic_t to avoid UB
>
> tools/perf/Makefile.config | 2 +-
> tools/perf/builtin-daemon.c | 2 +-
> tools/perf/builtin-ftrace.c | 4 ++--
> tools/perf/builtin-record.c | 8 ++++----
> tools/perf/builtin-stat.c | 8 ++++----
> tools/perf/builtin-top.c | 4 ++--
> tools/perf/builtin-trace.c | 4 ++--
> tools/perf/util/session.c | 3 ++-
> 8 files changed, 18 insertions(+), 17 deletions(-)
>
> --
> 2.38.0.135.g90850a2211-goog
--
- Arnaldo
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-11-03 13:06 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-24 18:19 [PATCH v2 0/8] Update to C11, fix signal undefined behavior Ian Rogers
2022-10-24 18:19 ` [PATCH v2 1/8] perf build: Update to C standard to gnu11 Ian Rogers
2022-10-24 18:19 ` [PATCH v2 2/8] perf record: Use sig_atomic_t for signal handlers Ian Rogers
2022-10-24 18:19 ` [PATCH v2 3/8] perf daemon: Use sig_atomic_t to avoid UB Ian Rogers
2022-10-24 18:19 ` [PATCH v2 4/8] perf ftrace: " Ian Rogers
2022-10-24 18:19 ` [PATCH v2 5/8] perf session: Change type " Ian Rogers
2022-10-24 18:19 ` [PATCH v2 6/8] perf stat: Use sig_atomic_t " Ian Rogers
2022-10-24 18:19 ` [PATCH v2 7/8] perf top: " Ian Rogers
2022-10-24 18:19 ` [PATCH v2 8/8] perf trace: " Ian Rogers
2022-11-03 13:04 ` [PATCH v2 0/8] Update to C11, fix signal undefined behavior Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.