[for-linus,15/15] ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
Message ID | 20231216042245.999106507@goodmis.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:24d3:b0:fb:cd0c:d3e with SMTP id r19csp30680dyi; Fri, 15 Dec 2023 20:25:52 -0800 (PST) X-Google-Smtp-Source: AGHT+IFs3goIn9i0Aj4Tnj/mfrqjcWldlGwkdNpCkyV1qrpB7G2+oICMCgITUxKzhp9DgEL0P9HF X-Received: by 2002:a05:6214:1106:b0:67a:cbf8:b162 with SMTP id e6-20020a056214110600b0067acbf8b162mr11470609qvs.87.1702700752624; Fri, 15 Dec 2023 20:25:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702700752; cv=none; d=google.com; s=arc-20160816; b=0V9e6hWOuM1C3iI57plEYH/a3EE0YEHoEUp2JSB1nm+5GJkFGzH11lkrYrmpvcuzZ4 zvJjNdGWaWFr/+CFKfiFdzfTlXb2g6i3oc6xBpXjPTMY9udname8HJH6Scgjny8VTWy2 q1aVVOwIrILbyx9k7fSD5y20M0GeU2zaqxhVndUJcDEMtxVBAz9HTbSmqLd+4+01kW4p ju5VFrw4Vt/Hr5fA9nggTD4SgYQpRBaCacpN6XFVUzUEevU5Yh2GULREPrsdUHWoXNcb /WKHCumOVcBNxFjZwG2onEKhTYhVvvqHGSmtb+jmXZB2hFrpcm8RmHaldduZCxkTpQz3 CouA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:subject:cc:to:from:date:user-agent:message-id; bh=7yWmTZz6xBQfotj9D8RbHPBcVW8g+FDm4fTllJi7Ds4=; fh=mTYg3JJ8i2GBNLFt8qb4bgYwOyk0kmrOzICLbi6qJ1c=; b=WIwKRT9pkuh1YBvoZgZxzxU7YlPnM1hgAc0sKO/bigNhQUU5t0PYCNVkQ4VeCPqHu9 6E0EWDHEOwFp9B638unEL+8wtg8CMSNBSMvISNhGbZ1o1FC8jeG/mccV4urH+K8ObXgT Tp3lDjHJfIX9XtKM8HIBxEQBlkz46Y34tKmhfdXpEXy4CSYQTVNcYuJ/NdlvBgbQM3Gu P/K+o2Am8DgUiunu0QG+oFhmBJ4OPeXZ4+HBIbBE8gSC/20HiAMe/FOkdvOcolLPHyEm L9E6+3pb5koWJuwkt/aG2yU4BQhL2maElp17CjUEac4n9JVoibq9Wyu4SM3a1WOcna0J Wykg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org" Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id t16-20020a0ce2d0000000b0067ef911bb5asi1174135qvl.342.2023.12.15.20.25.52 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 20:25:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-2058-ouuuleilei=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 661091C2433C for <ouuuleilei@gmail.com>; Sat, 16 Dec 2023 04:25:52 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 285ED3526F; Sat, 16 Dec 2023 04:21:57 +0000 (UTC) X-Original-To: linux-kernel@vger.kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 936FE328B6 for <linux-kernel@vger.kernel.org>; Sat, 16 Dec 2023 04:21:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27FF5C433C7; Sat, 16 Dec 2023 04:21:55 +0000 (UTC) Received: from rostedt by gandalf with local (Exim 4.97) (envelope-from <rostedt@goodmis.org>) id 1rEMCM-00000002yHl-0uWe; Fri, 15 Dec 2023 23:22:46 -0500 Message-ID: <20231216042245.999106507@goodmis.org> User-Agent: quilt/0.67 Date: Fri, 15 Dec 2023 23:22:29 -0500 From: Steven Rostedt <rostedt@goodmis.org> To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu <mhiramat@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, Andrew Morton <akpm@linux-foundation.org> Subject: [for-linus][PATCH 15/15] ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI References: <20231216042214.905262999@goodmis.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785411144568802495 X-GMAIL-MSGID: 1785411144568802495 |
Series |
tracing: Fixes for 6.7-rc5
|
|
Commit Message
Steven Rostedt
Dec. 16, 2023, 4:22 a.m. UTC
From: "Steven Rostedt (Google)" <rostedt@goodmis.org> As the ring buffer recording requires cmpxchg() to work, if the architecture does not support cmpxchg in NMI, then do not do any recording within an NMI. Link: https://lore.kernel.org/linux-trace-kernel/20231213175403.6fc18540@gandalf.local.home Cc: Masami Hiramatsu <mhiramat@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org> --- kernel/trace/ring_buffer.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index f4679013289b..5a114e752f11 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -3674,6 +3674,12 @@ rb_reserve_next_event(struct trace_buffer *buffer, int nr_loops = 0; int add_ts_default; + /* ring buffer does cmpxchg, make sure it is safe in NMI context */ + if (!IS_ENABLED(CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG) && + (unlikely(in_nmi()))) { + return NULL; + } + rb_start_commit(cpu_buffer); /* The commit page can not change after this */