Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4205141ybv; Tue, 25 Feb 2020 15:26:38 -0800 (PST) X-Google-Smtp-Source: APXvYqzPKOBBCbijHti6UHLrR8Yr/r3DZ25vm+hW0xY3BtDeOHjoaYE8lVr9JdJLfds0428zput4 X-Received: by 2002:a54:4895:: with SMTP id r21mr1039110oic.107.1582673198399; Tue, 25 Feb 2020 15:26:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582673198; cv=none; d=google.com; s=arc-20160816; b=B56AWcbywv0MOACBLflzXKsHn4GraBVBV6Jb4LuAoL3hXQh0dwUTkX0e3OTbcEimZ8 2SMgmOtqWIf/OVuSFosaECF8ERvUy4aJHNQqfye0jQDYHArIFAK4mXixnIrQeyUo00r4 ZMlzL4d0u7G+a6R/hmZWrD7rFYwwOwBOZBRKQLF0FwmmT5Hl/NdL8m433oyEbsCbPwD6 Fi0yBHh6THCL4d06Lj7mYccQOqCuaG8VMxQkOqovRmyw43NXEY590cfKraiYuo5z1V9P E8rku6a6JQJ7MkuXxB5aphzAuSyB3fKoqHtMjfWNcOLDRhhsxfRCINlxcd2NcQjjznjT i88g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:subject:cc:to :from:date:user-agent:message-id; bh=1ZpdpyDvRDVfc5RYGVZcV2jM6/JZXAhcJMDENWHY2pc=; b=fBZxi3tuJpnuCgHPTp0GLScz1rbT9vOj0JsqVmyBRKkJCnh5scdBkNKPo9BZa/rxLC eBKk7OcFr74yUnazA8og8XSU7UKnT2sC+/JBJ3YMRK5EwmEMJvKEa9xblSALGwN2ewFT dvjRuxtkAsp0YFFFNPPBDimikR7kX38b/bBCjdOyFjLceZODwxpw8/e++whOXOJDApeC nvMQ2QYkPetV8c+WPnwdX3uMwD57KFPVcjepi31GQ3MfIWP+xohv1Pze/oujl0HMt45o 5heplZbTWk+r64j2KJkgmDU4IltgHlyBHAp7U19xdwm6ilf78Y6GHtc+fbBBZlc6l8nH AqAg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l17si188048otp.248.2020.02.25.15.26.25; Tue, 25 Feb 2020 15:26:38 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729855AbgBYX0F (ORCPT + 99 others); Tue, 25 Feb 2020 18:26:05 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:55613 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729760AbgBYX0C (ORCPT ); Tue, 25 Feb 2020 18:26:02 -0500 Received: from p5de0bf0b.dip0.t-ipconnect.de ([93.224.191.11] helo=nanos.tec.linutronix.de) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1j6jaF-0004g3-Dp; Wed, 26 Feb 2020 00:25:47 +0100 Received: from nanos.tec.linutronix.de (localhost [IPv6:::1]) by nanos.tec.linutronix.de (Postfix) with ESMTP id EE71A10408F; Wed, 26 Feb 2020 00:25:37 +0100 (CET) Message-Id: <20200225222648.880108780@linutronix.de> User-Agent: quilt/0.65 Date: Tue, 25 Feb 2020 23:16:13 +0100 From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Steven Rostedt , Brian Gerst , Juergen Gross , Paolo Bonzini , Arnd Bergmann Subject: [patch 07/24] x86/traps: Prepare for using DEFINE_IDTENTRY References: <20200225221606.511535280@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 Prepare for using IDTENTRY to define the C exception/trap entry points. It would be possible to glue this into the existing macro maze, but it's simpler and better to read at the end to just make them distinct. Provide a trivial inline helper to read the trap address. Signed-off-by: Thomas Gleixner --- arch/x86/kernel/traps.c | 5 +++++ 1 file changed, 5 insertions(+) --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -274,6 +274,11 @@ static void do_error_trap(struct pt_regs } } +static inline void __user *error_get_trap_addr(struct pt_regs *regs) +{ + return (void __user *)uprobe_get_trap_addr(regs); +} + #define IP ((void __user *)uprobe_get_trap_addr(regs)) #define DO_ERROR(trapnr, signr, sicode, addr, str, name) \ dotraplinkage void do_##name(struct pt_regs *regs, long error_code) \