Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp3792123ybk; Tue, 19 May 2020 13:04:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZOC7i3eRHN0J/VHkzsWCLrOsE4TLMsw/0FRJbTRQufMepxAI8U6NMSGSxQt+gyNyquJU3 X-Received: by 2002:a05:6402:1a29:: with SMTP id be9mr513802edb.70.1589918663975; Tue, 19 May 2020 13:04:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589918663; cv=none; d=google.com; s=arc-20160816; b=Wh+hZvNpcCJa+NrbVRXJudE1aVA+1WAqs/asFj5gtmI00rmuUxG75RdsF+aVHWwAUb t2uhsG/HYjVAAKxGdYVA4+aioUcezbo1Rzbdm4Jw68+TVHSNSuVIVv7fYT7gQAkgw8Ct K3w6u2CTBAC+JoJ0ciJl0LiHeYu7EPvKPYpuWNWxn7XmIhE8HN+Lomg2uC2nCo+Gn6GW n6Cd08tDir6i4V1r1ogsXGBOfbrAz19Pe+iYcYQWVbmuk3qfbxYis1qkCDIApxo7pJ76 /58ysOBMrKvJl4kUdbkZEAd5SXZ7s7fKylhjO7SnzcEuw0A7FwJ9o0Gls9R0YKNlTN+0 QocQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :robot-unsubscribe:robot-id:message-id:mime-version:references :in-reply-to:cc:subject:to:reply-to:from:date; bh=GgHh1f3tQICxcM+k/295lNn8Ug/cF0RIjADJe8B5caQ=; b=o1+Gzg7b2UDDBw/2M9HkIdoFi6U7EL29zqzC9WnDRFdzsDj5T5+aIk4JLs75o04xly wR00n+QcQ8RQwT0Ja1moHx50TpFcBFZD0+Nu0Rznh1ex+ZEPcjpW6v42TeWUGx1aisa7 srrEt5zAOJCPo3YKejq6JTQdKNVhI1s91hHYvQh5oj61mrvh6cc4X61MB2jOm1Wq5tCm pFTLhxd6haBv77h6ondq/l6u227b69pZU92f2OOCquqYwnNGaeYiHcbUt3aU9+JtoMex Us68RwOYKgGYyjPepJtCNbuhi7+TjbL1OvDfL71bH+t0aLhTKbS/jvvb0j3c3ETV4sNN +hdQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dg11si265160edb.59.2020.05.19.13.04.00; Tue, 19 May 2020 13:04:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728229AbgEST6v (ORCPT + 99 others); Tue, 19 May 2020 15:58:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728085AbgEST6k (ORCPT ); Tue, 19 May 2020 15:58:40 -0400 Received: from Galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1387AC08C5C0; Tue, 19 May 2020 12:58:40 -0700 (PDT) Received: from [5.158.153.53] (helo=tip-bot2.lab.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1jb8Nm-0008Gz-Qr; Tue, 19 May 2020 21:58:35 +0200 Received: from [127.0.1.1] (localhost [IPv6:::1]) by tip-bot2.lab.linutronix.de (Postfix) with ESMTP id 2CCF71C0178; Tue, 19 May 2020 21:58:27 +0200 (CEST) Date: Tue, 19 May 2020 19:58:27 -0000 From: "tip-bot2 for Peter Zijlstra" Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: x86/entry] x86/int3: Avoid atomic instrumentation Cc: Thomas Gleixner , "Peter Zijlstra (Intel)" , Masami Hiramatsu , Alexandre Chartre , Andy Lutomirski , x86 , LKML In-Reply-To: <20200505135313.517429268@linutronix.de> References: <20200505135313.517429268@linutronix.de> MIME-Version: 1.0 Message-ID: <158991830703.17951.7301728008554770838.tip-bot2@tip-bot2> X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The following commit has been merged into the x86/entry branch of tip: Commit-ID: a53a1d0435cdc2b66f41f75fa1cee31e8fe6d99e Gitweb: https://git.kernel.org/tip/a53a1d0435cdc2b66f41f75fa1cee31e8fe6d99e Author: Peter Zijlstra AuthorDate: Fri, 24 Jan 2020 22:08:45 +01:00 Committer: Thomas Gleixner CommitterDate: Tue, 19 May 2020 16:04:05 +02:00 x86/int3: Avoid atomic instrumentation Use arch_atomic_*() and __READ_ONCE() to ensure nothing untoward creeps in and ruins things. That is; this is the INT3 text poke handler, strictly limit the code that runs in it, lest it inadvertenly hits yet another INT3. Reported-by: Thomas Gleixner Signed-off-by: Peter Zijlstra (Intel) Signed-off-by: Thomas Gleixner Reviewed-by: Masami Hiramatsu Reviewed-by: Alexandre Chartre Acked-by: Andy Lutomirski Link: https://lkml.kernel.org/r/20200505135313.517429268@linutronix.de --- arch/x86/kernel/alternative.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c index 1f4cb2c..686c8ac 100644 --- a/arch/x86/kernel/alternative.c +++ b/arch/x86/kernel/alternative.c @@ -960,9 +960,9 @@ static struct bp_patching_desc *bp_desc; static __always_inline struct bp_patching_desc *try_get_desc(struct bp_patching_desc **descp) { - struct bp_patching_desc *desc = READ_ONCE(*descp); /* rcu_dereference */ + struct bp_patching_desc *desc = __READ_ONCE(*descp); /* rcu_dereference */ - if (!desc || !atomic_inc_not_zero(&desc->refs)) + if (!desc || !arch_atomic_inc_not_zero(&desc->refs)) return NULL; return desc; @@ -971,7 +971,7 @@ struct bp_patching_desc *try_get_desc(struct bp_patching_desc **descp) static __always_inline void put_desc(struct bp_patching_desc *desc) { smp_mb__before_atomic(); - atomic_dec(&desc->refs); + arch_atomic_dec(&desc->refs); } static __always_inline void *text_poke_addr(struct text_poke_loc *tp)