From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9502BC67871 for ; Mon, 24 Oct 2022 19:58:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232925AbiJXT6V (ORCPT ); Mon, 24 Oct 2022 15:58:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36478 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233842AbiJXT5i (ORCPT ); Mon, 24 Oct 2022 15:57:38 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8C4D21799B1 for ; Mon, 24 Oct 2022 11:20:36 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-36b7cfda276so50539717b3.1 for ; Mon, 24 Oct 2022 11:20:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=yf//nKniGE2IxHdCyFgbypJdJyKGDk5InFKRkZy7usI=; b=VRBpSdHVTZnE+YXvFegVopepFbQ4rBU/QUHcsshpgXkjl8MaSdIQyGG6rx5fBbADpN xMvXZyLIQ9EeU5rKOW3YQugY1FE1YvVJL3Aam8IsGX43Us52UyYNk0qsy0Gzgvy3b42r i00PdJSbsUpUiyeZdfsD1Tu0dqaUQGkI24CTo+6c9/PvhAmHZRHZdd6Ihbc5pKj7gC6I zt8b4JNH31YlusjfnXVQj9XLJbc5x8ZZPPXRcudD3sO9JBxMfP38PJaqmAChSU3Bi30k MNh0Qc1AL/nplEstpRJc4gHksFuwYc33HHJbGp7zBCtWV1hPDPD164mlrKu1LZ3lKP52 2eLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=yf//nKniGE2IxHdCyFgbypJdJyKGDk5InFKRkZy7usI=; b=m+ZjsIC6SyydfRZFsf7gpCvPygeTIeFpKORXWmCj+atA8vkZTHCmSlSd5VYgyve9py lD94RdhoaKHRyIw4Mk9V18idtGrD+xZb4V083EsZMGCqE1YF6P6l5wxyVUnzsbpJuR4D u3EusaVwrUOMr13+p+qSv0O+zMHcWN6Ap41hB5i8mQ7gwDa+n4Tvh58N3PZmedWFoVSO LXDq9Gbp1Z6WhFKxBRbpajz1rv4cgDostMcm9Lowc3++zQZD8VP2TjTwtsGDs9Bn0dUt DsveeYesTK+LnXkzufL1N+EgqkyEzF/uyf4nkZz/ENqUgaOnwRx8BbF3nK8jF93hJMV+ niGw== X-Gm-Message-State: ACrzQf02aIcKnJzOrk96oEMTVch0wWMcObhgb+oQnNa46V4COIA51Yio G2Q87SsliTbiBqBaiZ7ZIi+VvCi7ntgB X-Google-Smtp-Source: AMsMyM4ftlJbQC5kXUpk84+mlsdvadwXGidOSZUitz+A5zvltHJN1xBUP8bVYVwr15+jb75wIFuEUJj+6OeI X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a25:504a:0:b0:6c9:8926:9048 with SMTP id e71-20020a25504a000000b006c989269048mr26969653ybb.38.1666635582786; Mon, 24 Oct 2022 11:19:42 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:06 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-2-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 1/8] perf build: Update to C standard to gnu11 From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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-=3DwhWbENRz-vLY6vpESDLj6kGUTKO3khGtVf= ipHqwewh2HQ@mail.gmail.com/ [2] https://lore.kernel.org/lkml/20221024011024.462518-1-irogers@google.com/ Signed-off-by: Ian Rogers --- 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 +=3D -ggdb3 CORE_CFLAGS +=3D -funwind-tables CORE_CFLAGS +=3D -Wall CORE_CFLAGS +=3D -Wextra -CORE_CFLAGS +=3D -std=3Dgnu99 +CORE_CFLAGS +=3D -std=3Dgnu11 =20 CXXFLAGS +=3D -std=3Dgnu++14 -fno-exceptions -fno-rtti CXXFLAGS +=3D -Wall --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 051B0C67871 for ; Mon, 24 Oct 2022 19:58:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233235AbiJXT60 (ORCPT ); Mon, 24 Oct 2022 15:58:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55868 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233563AbiJXT5m (ORCPT ); Mon, 24 Oct 2022 15:57:42 -0400 Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9961B1ACA89 for ; Mon, 24 Oct 2022 11:20:41 -0700 (PDT) Received: by mail-pg1-x54a.google.com with SMTP id h19-20020a63e153000000b00434dfee8dbaso5029278pgk.18 for ; Mon, 24 Oct 2022 11:20:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=DmFinCtLacORlQ2ewPLrfshypQ1cYZQ/PN4t0Vpngs0=; b=pMUlhIMRFFmttHUZkUp0YgJLF5/0k53nLgz/0+lS9Khbv9yppWgguy4wBLjw2tGr7+ JasEHQxldAstnfGM80huRUB8zV2ptt1JYQT9k4Cf5wM7OQyaIN4p+9O4aohOx52RkuuP oqdmJYa0jD0N9945GZ1F2dc+ODkV33CjJ93RLJJCBi3yPIeyo+MY1oQFnT3ubwknYp0D qih6ED/vUhPhs9+p0HwbsTkqITNuEv/GLXRZ1XeYyHWDYwvdeIhdgC5YXXLpeuuzfuxH u58Xcl7CIl8deSCTwHPx0SAAYDV08BFYWIKRqTn7cvTtjIYuOZSaODpZGFOZOy7J4O76 TbRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=DmFinCtLacORlQ2ewPLrfshypQ1cYZQ/PN4t0Vpngs0=; b=YKG6u+/m1wPrJhEhYBI5LN4Ten8jsd/iZ7GFm8NJT7Ayi9PT74Xh2GLzUFGTpVDIUl ta0BJTqp1+cCvMJHCZe29dL+KcMR+a+1h1Iv14RLZ9WczZ6Gua/ttoZK2zM2PK6vC2Cl e9BUE7Ulc3gM9nEHxhVYHXi5OaZbHRhEg4uxRAAM9ZXMHDO8W+c1U2Km2aYgj0wsoDgu WSXrhZ2WS8A+wiN1itkaF2lfQI6H0tQ1bMqTQBs1msrm/lH8vqSRZsDBejjjwSUgitx9 pnxbCXCSatxU7VtLGBTSXSoCchckJKYI0hMoy0L16vgsGmAF5xLWv36yyrjWoGItXc9Z LBeQ== X-Gm-Message-State: ACrzQf244lu57L76j3KOREdXcmVEgUpGGV+hP0AmpWmWMooW741wO+jy AcwDyWaOhIMmchC6WnCXWR5BY8gGBs9I X-Google-Smtp-Source: AMsMyM5/EfYNOGuE1j6lWt3Gqm3IuEdLA1ZQ5Ii8/3YXOZ9Ac9T+OQwvA7c6hGGfQXSOnHkvtOBxXNkR3+zZ X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a63:df10:0:b0:43b:e82f:e01c with SMTP id u16-20020a63df10000000b0043be82fe01cmr29416411pgg.19.1666635590063; Mon, 24 Oct 2022 11:19:50 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:07 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-3-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 2/8] perf record: Use sig_atomic_t for signal handlers From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 Signed-off-by: Ian Rogers --- 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); } =20 -static volatile int signr =3D -1; -static volatile int child_finished; +static volatile sig_atomic_t signr =3D -1; +static volatile sig_atomic_t child_finished; #ifdef HAVE_EVENTFD_SUPPORT -static volatile int done_fd =3D -1; +static volatile sig_atomic_t done_fd =3D -1; #endif =20 static void sig_handler(int sig) @@ -1926,7 +1926,7 @@ static void record__read_lost_samples(struct record *= rec) =20 } =20 -static volatile int workload_exec_errno; +static volatile sig_atomic_t workload_exec_errno; =20 /* * evlist__prepare_workload will send a SIGUSR1 --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F56BC67871 for ; Mon, 24 Oct 2022 19:58:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233941AbiJXT6t (ORCPT ); Mon, 24 Oct 2022 15:58:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55870 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232017AbiJXT6V (ORCPT ); Mon, 24 Oct 2022 15:58:21 -0400 Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DFA7F1D2B64 for ; Mon, 24 Oct 2022 11:20:49 -0700 (PDT) Received: by mail-pg1-x54a.google.com with SMTP id j12-20020a63594c000000b004468ff8fc78so5038411pgm.10 for ; Mon, 24 Oct 2022 11:20:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=JoX+rXrU6K8JU7iZ2f6KugPkmXCVMdf9ZXNzq+WXZng=; b=PfDJLEVQTdoSZljLCftkKuXa4vHopLYHW+Zs+nAdnw9TlLOLf0h8zJ4UAoR/va/HTR sHI5mvAdv8WI9Esx2Hjez50/j5mBeOzp1EIRDJljrTzVizQiItYexTMX21rnSWlM11lQ z0ASHmhiCbvWXv+tdJ/n8B/rCosqMKyI+ttlXWe54G0sQsvhwzvMffRPFfuukJXfiSEW EF64a1r4+3KyRVosZ80wWMwumtN1UytVZRSLR8sB9lzHxQaMtG5msBH27OC97WnwY6vl jmojGGz0FWrjFDgGqxYlqab+Iigjjw1wJkiKE31bCXFqLRU3r7rx59vEFgTvD/vxguQ9 qzLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JoX+rXrU6K8JU7iZ2f6KugPkmXCVMdf9ZXNzq+WXZng=; b=I5djfFlTWO5/PgVepa6gUfNaA8qz9eH1cT1mGjO2DmFuDear4LXeuo31VFpQkkxq2f u+hsNYh0BgO+QxGKwgAxeIzZfJBSw8/V6Y3fPO5s/GAiD2HmVFlBs2dn/nzCNV7Oixc2 pIL5rNC7VoJvmVRAkcpoWKSjdSl2iF+ltJQ1+iCxq8diP3aNv88YnS5hbH996aXCQJKV lgOwTYEeb3rV5p6ZV6OZg9ysHThbFfaj+LFBDarvA1XnIS24ab+d+a5nrV0l7PFcXMAY qpblZWkLeDErvT6La+WoY6KcefGV+u1fbJcZgoJakqrw+0hG+4P6Is2oG9Y61HQ81X0+ Zp0g== X-Gm-Message-State: ACrzQf3Q83fADW5FImnqheAkUIKRJoC8eOiwJDscnDjlgBxSDZgRrHFm HBHxMzmqEPaBkZ0rd88o4p6sC0aTgybr X-Google-Smtp-Source: AMsMyM5rcWqWlK0OCIxzqrI1ljMyKEHeEueoBjrUw/oTrsAAhxhIPmRXnVUrh/WArpGokhdgHKMqS+NJSdm/ X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a17:90a:5892:b0:20a:9cf5:c13c with SMTP id j18-20020a17090a589200b0020a9cf5c13cmr75024424pji.63.1666635598568; Mon, 24 Oct 2022 11:19:58 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:08 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-4-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 3/8] perf daemon: Use sig_atomic_t to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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[] =3D { NULL }; =20 -static bool done; +static volatile sig_atomic_t done; =20 static void sig_handler(int sig __maybe_unused) { --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C89DC67871 for ; Mon, 24 Oct 2022 20:00:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229714AbiJXUAw (ORCPT ); Mon, 24 Oct 2022 16:00:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233953AbiJXT6b (ORCPT ); Mon, 24 Oct 2022 15:58:31 -0400 Received: from mail-pg1-x54a.google.com (mail-pg1-x54a.google.com [IPv6:2607:f8b0:4864:20::54a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1A7FE27FA90 for ; Mon, 24 Oct 2022 11:21:10 -0700 (PDT) Received: by mail-pg1-x54a.google.com with SMTP id s82-20020a632c55000000b0046b2491aa95so4976006pgs.7 for ; Mon, 24 Oct 2022 11:21:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=anPThKUkfGYO4MityDcRpU1q0+xCNjbPUERJ4hXkoEA=; b=YzERVhg9gMWf4MLdxZBUxgsORWHJ5IiRDR6VYxzIXnasnGV8Hosww149KRKfuABEov w96snZWOzfeu47BuK3oYRu/RxOuk/MmwEX6+gdq2c2tFXoJckpjyu/AYbr9k86Hyybhz 1cIJLP8elnxBXNZRdVBOzhciaHBJrl2gmRzcgX67Vzg/0hUuIQUvqlGWD0k+Wd/SCM9z bItak9BMMARaNggK/JovGwRgGw/c+aSgGXbw2BnzMbBi5b1h2WKcSON2uSlPhA0U+DzQ d1HpCEVzzJeHvL37Oy8rcaQ+Q7l6sPxekv4KAY6W5Mz0MZH5Cg1EG8Loc3XJBjL9lJnm FEpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=anPThKUkfGYO4MityDcRpU1q0+xCNjbPUERJ4hXkoEA=; b=s6U9UTfc1TujbZ+sV6tVotprKmUheDhoCGSUCPDMxwezIPvHQNy5ilNnh66CKCfy7M qaDfHFCwhoeGEz3wTfqLFmZq+DLpmkicsddAwc80MJCD59aRVIUab1LGS7YRUAVk023g ilpc0brDvwbIzyI+D1hXMeJc20IyVjTfTtj5LQdTyKf4M7QJFVyLhs/xn9339Y2XOrhU k5plqgAhogo2pgQrv1klW/SK2HoKffZHkOKfntFlk71/9wMajwKhzRzeUbCTSg0RIOo6 9wT9IjF4D44VSfjFR4sv8A50b/8ooGQk3KP/6U3Q3LifGTfWnBwNlPgq2xMkjhcThyCX P3xA== X-Gm-Message-State: ACrzQf0Jp3jxsI5bt+Nmx+rf8GccZH0g0XIJUSZ6oxTQWouA8JChJBz4 PBULw/grtMRkfWUkpY1zbUHlscwKsNk/ X-Google-Smtp-Source: AMsMyM53n+U8wMZYq2kZ48d4ptOI6JPZcIJhCvjLHnk8btpgGx6iLrT5rSk9jQcpAm0su0GzCh+QTnPUTe1t X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a17:90b:394:b0:212:19d7:9072 with SMTP id ga20-20020a17090b039400b0021219d79072mr27097168pjb.69.1666635608577; Mon, 24 Oct 2022 11:20:08 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:09 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-5-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 4/8] perf ftrace: Use sig_atomic_t to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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 @@ =20 #define DEFAULT_TRACER "function_graph" =20 -static volatile int workload_exec_errno; -static bool done; +static volatile sig_atomic_t workload_exec_errno; +static volatile sig_atomic_t done; =20 static void sig_handler(int sig __maybe_unused) { --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E2925C67871 for ; Mon, 24 Oct 2022 20:00:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233959AbiJXUAm (ORCPT ); Mon, 24 Oct 2022 16:00:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232665AbiJXT6j (ORCPT ); Mon, 24 Oct 2022 15:58:39 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CB8A27E079 for ; Mon, 24 Oct 2022 11:21:07 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-3691846091fso97002017b3.9 for ; Mon, 24 Oct 2022 11:21:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=N6W+CXwQP9ZcH6ztCYE0MpcmSu0rfOg+3GfDaO039jk=; b=MyyCJTcbNDcWyLPc/QWROdPmUsiRtgLtA0uZwhDYIaxhjKZzDxzsl0LiHcpqoHsJtK 1uA9haRF3y8/UUCcPDlSPw8+dqL3V6VLOOb6vGOCckQozVmUJ12d87C6a10LYnyDMeGe IOjzMYM+Qk/DMWgi1nw/qHPpKQ7Sjio4Z2pee+crAwV8uPUxdioh1H32O9lF+3yXMrsu p+uwpa6xXEwn9uUvYsT2zOZBhvGXMdYYIM+P+3FTnb4A/4gA6e0Ms4EsPIQgfnvBOp8I dX2qW7UCwOEVF89oEkT0K59f5ns6ha35MwcUu7PlLh6ia4fRViZXBJqniEWLj+wtEmsH 1YHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=N6W+CXwQP9ZcH6ztCYE0MpcmSu0rfOg+3GfDaO039jk=; b=nvd58Vf1la2NtCnI5/m6+s0ybEPdTzBqa/p2kq3sh6HSLG1fdMF7vCj8zzC+6RJM5V 00zQLRWYayy+rTpEyk1MgGtpf6iezfGYJiV7pxw9DI2OcYxIRdzYAdMXdDdaQSuIWyhk 1zyfsM7PDQCkst71SbPfo3pMxMW7qv6Nk4V2cNTWzjf26t9XaDt56XixDQmFApCA0tgd 6s7IiM/mVuMMCX6iof4xVmwohM+O/oZrg11VXLYmgVd6M4T0r1rmNYaSvySWglWCEvWt tQ4rRPtYgiMZ02ulxsYy9cr6xMYn/64Tdi9bcSRd024oF+9+Fg5MR4oCqBpZBw0L/0jL trWw== X-Gm-Message-State: ACrzQf09u40jWT90EZ+rJuuBdsIpwv/+R82F/rxFAj2K66lJFjtsAc+7 Kl3/IJ7ffSc+16J2VL7LNdsMT8xZ/O1M X-Google-Smtp-Source: AMsMyM452qYtauCW4EO7scWSZkNj9sZ2nSnvYtqYPGuBG/6+zXZy0eh9dOLzUYkV9HTbdEPxf+TKeyEWlaGY X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a0d:d954:0:b0:368:d5ea:fc6a with SMTP id b81-20020a0dd954000000b00368d5eafc6amr20555995ywe.50.1666635616419; Mon, 24 Oct 2022 11:20:16 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:10 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-6-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 5/8] perf session: Change type to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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 +#include #include #include #include @@ -2022,7 +2023,7 @@ static int perf_session__flush_thread_stacks(struct p= erf_session *session) NULL); } =20 -volatile int session_done; +volatile sig_atomic_t session_done; =20 static int __perf_session__process_decomp_events(struct perf_session *sess= ion); =20 --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A84F3C38A2D for ; Mon, 24 Oct 2022 20:00:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233905AbiJXUAD (ORCPT ); Mon, 24 Oct 2022 16:00:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57926 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233971AbiJXT6o (ORCPT ); Mon, 24 Oct 2022 15:58:44 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 220AB280EF8 for ; Mon, 24 Oct 2022 11:21:16 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id n1-20020a170902f60100b00179c0a5c51fso6773979plg.7 for ; Mon, 24 Oct 2022 11:21:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=IO66rWb82Ym5SFWEwsbpBF8A8iB7JwCydGL2I5mbLFY=; b=hds5L9pq39xD5mOs2wSydg/fTH9JKNsJ7Rbx4+Zwar0mwCiXd1hUG54QUFgvXIy46C 0Nuybfzj2CtB9cQ87gNkJHD4MHJc113lhZZBc1ReSEFoxUjqpdWMir9O2DRmqD7ls/MW /M7P7UwALSMn681ZAGb7ZMYNuscUeK/5z2yD2R3faeyxN9tYpOCOSvAqSfBITEHXq4aM ZDekWbhsSEyGVKC9MlqoG8fW1+//MdAC2v70eHWLCMBgzcrePSjc7sMpNZJTy3eIjYJP auJ5eWSlKWzOox1BEvLJHFG/Y3irC2WZBoMDi9LvpgiZ1ZpS38/wuu4xWHW7ZGO8vbV7 Bo+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IO66rWb82Ym5SFWEwsbpBF8A8iB7JwCydGL2I5mbLFY=; b=AdPCszGK82yHO3jDmhpLy4IS+JWtW6c3nX734VvYrh/BDpbn4FfowkUL5PX75Dxei6 dS02nNYIc1fVHSTscWDQeUvgG2d3T/4YCYZt8LbjUn1+qxMQJaefdie9TLRvtAzJ6y1d 0+Ft/n63PWs7/hg4NrE6TuXF0EGTP+eKr8xF9fj2VlPQuZNupbeB33WaqEHgJBHtE1r+ izUdgftq60sv6af/10+E94HxJoBEeGdHkKAxpTz9PQqeY00h5U1NNQNq0iSw3jfLpLSy edbLTWavCYjH0RjyleUblncHrgwzr7HT+ovG5wOXPqXhOjhrArC8aYa2Jv1q5tV64iGL BbrA== X-Gm-Message-State: ACrzQf2T/lDVAv4/bvEUf7aP6EDEI4qr7hmBYpbUZ1cpoCcUu8wwsuXc FXDQSD6e3SfiIsx8NvKsXqaq6aznNqOK X-Google-Smtp-Source: AMsMyM7mr42p3I5oH5NEpSHkDYBQ44el74P+LK4ELUYR9780/JS2/SSKzlney3clKu0vyZWDA8Pxbn80JtQY X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a17:90a:7a85:b0:20d:2891:15f with SMTP id q5-20020a17090a7a8500b0020d2891015fmr40660039pjf.107.1666635626193; Mon, 24 Oct 2022 11:20:26 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:11 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-7-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 6/8] perf stat: Use sig_atomic_t to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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 =3D { =20 #define METRIC_ONLY_LEN 20 =20 -static volatile pid_t child_pid =3D -1; +static volatile sig_atomic_t child_pid =3D -1; static int detailed_run =3D 0; static bool transaction_run; static bool topdown_run =3D false; @@ -208,7 +208,7 @@ struct perf_stat { static struct perf_stat perf_stat; #define STAT_RECORD perf_stat.record =20 -static volatile int done =3D 0; +static volatile sig_atomic_t done =3D 0; =20 static struct perf_stat_config stat_config =3D { .aggr_mode =3D AGGR_GLOBAL, @@ -569,7 +569,7 @@ static void disable_counters(void) } } =20 -static volatile int workload_exec_errno; +static volatile sig_atomic_t workload_exec_errno; =20 /* * evlist__prepare_workload will send a SIGUSR1 @@ -1029,7 +1029,7 @@ static void print_counters(struct timespec *ts, int a= rgc, const char **argv) evlist__print_counters(evsel_list, &stat_config, &target, ts, argc, argv); } =20 -static volatile int signr =3D -1; +static volatile sig_atomic_t signr =3D -1; =20 static void skip_signal(int signo) { --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A824EFA373F for ; Mon, 24 Oct 2022 20:00:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232060AbiJXT77 (ORCPT ); Mon, 24 Oct 2022 15:59:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233818AbiJXT6o (ORCPT ); Mon, 24 Oct 2022 15:58:44 -0400 Received: from mail-pf1-x449.google.com (mail-pf1-x449.google.com [IPv6:2607:f8b0:4864:20::449]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7DC228511E for ; Mon, 24 Oct 2022 11:21:22 -0700 (PDT) Received: by mail-pf1-x449.google.com with SMTP id y143-20020a626495000000b0056bae530d80so2145463pfb.9 for ; Mon, 24 Oct 2022 11:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=kzKQRTEXGqt08SGBdEhLKezf4NlN9FWNmZKirRw+wNE=; b=iiTJs0VEY07rTilwdAieFazat3VOy+LVzf466jKCU8DFFU3klelDhVQh411e4Fda+W LEuRBdu5LJXJRND4MI9Z5m59FiS19f6TSE25O5r/TPPn58S5GgDVU2YAsHHigzmAWW5K S2L4iZahsiLBOs9YUXiczWeQG9G/+qNfojh8Pd/yuqpT87M8udlLSpbpVUSicv0UHszq WUC47j2oZTq+UOoaGTGgbZVfAe28njxnsOhstYgGz7teIVnuNOE0Ee/PTTIqj/WNedF0 sO0lxWfViGHOR2aRo/LnNfYE+7oupjVOGaFuOzh2y2uR4Gco+sfFuu/ErLgbWtfKNyQm 8Vtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kzKQRTEXGqt08SGBdEhLKezf4NlN9FWNmZKirRw+wNE=; b=JMG0Pus4feu8g/HKEGa6hBeSUfh/8hHszP++0Pnhj3SKl/rKEIWjaN5/XansuqykPI VU0QBGOi+RQTYK5jlp41ygSr7iuPWD2JxusBexcyDrhfW+egUj8fSgq0Y/UA5ERae9Mw CQCk5OABp9avIG4d3ZMHnBsvj/0zjVByAw48vn74f6FPGxTQlKF6FoNiiB8EbfjbsfU7 xaieAjemOv1e1TRjW8SYycRSRxTkORIGeStDi06I4bvj56mBgO1W/iiy8+sqRI4ew4YE EK3XfHunJBXeycjwXKs95UVfG42vszNHHXuWQ2daPMEz8FuFbQ+/dBn40pgoLmO2Ze7J +K8Q== X-Gm-Message-State: ACrzQf3+/5JZPZn9w4IlH+LX9IjnnlAD9EHb7S03hC/RIGckw7ISNnUd qIMQkytJV4xuZmZAA0hdgVT5Mew0XR+L X-Google-Smtp-Source: AMsMyM4Ejr4u/zJQD1O1ntbW0fysOW1g8lIqixCh7xH5QCVGq9vEZLSvDzrM54rVza3CoTeOfEI7YSgyWHdA X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a65:4943:0:b0:46e:f5e3:3e94 with SMTP id q3-20020a654943000000b0046ef5e33e94mr7928144pgs.75.1666635634101; Mon, 24 Oct 2022 11:20:34 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:12 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-8-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 7/8] perf top: Use sig_atomic_t to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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 #include =20 -static volatile int done; -static volatile int resize; +static volatile sig_atomic_t done; +static volatile sig_atomic_t resize; =20 #define HEADER_LINE_NR 5 =20 --=20 2.38.0.135.g90850a2211-goog From nobody Wed Apr 8 07:59:48 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 45C40C38A2D for ; Mon, 24 Oct 2022 20:00:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232046AbiJXUAY (ORCPT ); Mon, 24 Oct 2022 16:00:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233988AbiJXT64 (ORCPT ); Mon, 24 Oct 2022 15:58:56 -0400 Received: from mail-pl1-x64a.google.com (mail-pl1-x64a.google.com [IPv6:2607:f8b0:4864:20::64a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 178F8285B54 for ; Mon, 24 Oct 2022 11:21:31 -0700 (PDT) Received: by mail-pl1-x64a.google.com with SMTP id w11-20020a170902e88b00b001855276704aso6819562plg.4 for ; Mon, 24 Oct 2022 11:21:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=sJwUbAas6HwUpEbmohIDJ22IirHP0xTxc+7b+i3VB6U=; b=DnGef15ISVlJnfi1KdPzmICCiRSaKIZLMjxG9TJJ8kDAx+s7g+g/2xISsfzdrDh+WW /f6JqO38QlJnZ3N9v9ldBM2gB5j9g0mvhCW87whc3ZY/AogByxJnYfA9QCcZ1uJ3uJ9d 6zoLYgjruct7UaRGpXkJsHL2JA8nWB9V1yjJokQcpkKDcmkbKYEpVT/XbLGdpYFok8JB RkFfVFbMtjhAgFr81QhRU6/QGKSH8KhHTJ68iwVmVI1h7s7HMdWrgDUu130hdz+MJCS5 txCDwpf4bbfhmf8jzO6QwoM2RrNXZa4QUaZph5FgHM5muRrU0FG9hu9AHZODHPXTkvZ2 UkWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sJwUbAas6HwUpEbmohIDJ22IirHP0xTxc+7b+i3VB6U=; b=KJiYgtX+x0gAwiVc0UFA8O1pHsDIyZm6hCcwxI/OiPQ3fzGLFRPAR2tVtc/nKRWtLt lM/fWcF2mh6eCBjRjTtNzDIZ5qpI+Rom/+5x+69rw0W6FJK/nb3lJqF2x52z8xiaM1Kw 4wg/iwojqPW2L1l5vmG+L8QRlYa9J9J9wnT/9v1xoXeTpc2p6UaxnTxaLzeASpzEhX/V IgDg1N9/HX5kbMja0qDo5fppwCQOMm7pp46ijpUVdmhUNRKGCLNtWKqFYMo8R53EdffI xlUlylzvoskFbXnRhhYN9zvhD5O7AmQ/v9YB9OWu8pPVV7+ft0XvdZd0jTG6XwDgfHow THRw== X-Gm-Message-State: ACrzQf17lQWtKLhHyrHx3sCkD/fCeAIpBp2imvTKBBxExfMCeFmxq299 lRJqR9kIq7fyx61E1eqU1F3FjnoRDEGN X-Google-Smtp-Source: AMsMyM5I5LbNcQTjNoTi2S86eT/wMOj8nHlMxWbgBHAB8LrcdsN7qavwvxu+4GNraLduqpKcMV1v0wbxct3d X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:b8bc:a57d:a2a2:efdc]) (user=irogers job=sendgmr) by 2002:a17:90a:b794:b0:20a:eab5:cf39 with SMTP id m20-20020a17090ab79400b0020aeab5cf39mr3956618pjr.1.1666635641443; Mon, 24 Oct 2022 11:20:41 -0700 (PDT) Date: Mon, 24 Oct 2022 11:19:13 -0700 In-Reply-To: <20221024181913.630986-1-irogers@google.com> Message-Id: <20221024181913.630986-9-irogers@google.com> Mime-Version: 1.0 References: <20221024181913.630986-1-irogers@google.com> X-Mailer: git-send-email 2.38.0.135.g90850a2211-goog Subject: [PATCH v2 8/8] perf trace: Use sig_atomic_t to avoid UB From: Ian Rogers 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@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Stephane Eranian , Ian Rogers Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- 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 *tra= ce, u64 tstamp, FILE *fp) } =20 static pid_t workload_pid =3D -1; -static bool done =3D false; -static bool interrupted =3D false; +static volatile sig_atomic_t done =3D false; +static volatile sig_atomic_t interrupted =3D false; =20 static void sighandler_interrupt(int sig __maybe_unused) { --=20 2.38.0.135.g90850a2211-goog