Received: by 10.223.185.116 with SMTP id b49csp4172619wrg; Mon, 26 Feb 2018 12:31:25 -0800 (PST) X-Google-Smtp-Source: AH8x227dJjjS1XKzg1vfcwMc7de1jXY5M+UQteIOvvVYT4a5dAXS5495tbiZdFmoU6yCjOV+3eX5 X-Received: by 2002:a17:902:968b:: with SMTP id n11-v6mr11756635plp.168.1519677085656; Mon, 26 Feb 2018 12:31:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519677085; cv=none; d=google.com; s=arc-20160816; b=jPV50ASTpoZXCGQmBc9SqVvO3J+GCNLTIyTgV0688B0ynjsW3awNi20RvoIbW8Ob/n VebNIXcD7dG6UEgpqz4hDKK/FGM3eoBNp9dN+QmexxdBlMSxff1tbfMXCejkj3rkNmFF gbZmk35Gdb6dafL1VpHAU2jxENYLB5647wQpIWuMf6R39gkeUPAH6eReg/Ycg6ABkowt NKuXJi1LCtGhZFqY9D8Hg49pVDJ2iAn+fKDFqdjgaM52oRLG1Ym5La28KemeIvefJgOQ j3O4w35gq0S9wHnNbELbxo5bSlgiSErX6YVa2KGs6e6b1Lv47yrPGIHK4gu18E77arRR m92g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=OqmqrhGtFnOVC68tTKJEyoXvTyu7RmUhr2bJmvMEF1k=; b=nR1LhuXSQJ2aX9ysn7hfB9k84ggIpGcw2pVtVWmCcYS9zzrpfAkUDeb83liRP+d5EB FY0xQgbyB9IAOCDpGpHGvbDac/mNM9vrKGtmnfnXfqykUfwDbi7FuowTHpt3vjsYgXGA yQ8ZbynXmpvjAjEkvCvtouH2rXRKGonvfImBQUsfo22DundbGfMhm5XTkFxZuzYWZRqh EvtV5afd4Bq5sDvozP3RU30kihqOpWZAqbYTKt6mzk9pOKk8LYwWx+WLr4r3Tayz3+yg lIHdr37N8WZIrz7X7kVfeo7oo4ikwun8Rcq84cLkbTTvkvM/ffwDhymEjV8YKsp6V0gW 4ksA== 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 u19si5902403pgv.195.2018.02.26.12.31.08; Mon, 26 Feb 2018 12:31:25 -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 S932132AbeBZU3b (ORCPT + 99 others); Mon, 26 Feb 2018 15:29:31 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:37588 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753646AbeBZU32 (ORCPT ); Mon, 26 Feb 2018 15:29:28 -0500 Received: from localhost (clnet-b04-243.ikbnet.co.at [83.175.124.243]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id A0E56E4B; Mon, 26 Feb 2018 20:29:27 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, NCSC Security , Will Deacon Subject: [PATCH 4.15 63/64] arm64: __show_regs: Only resolve kernel symbols when running at EL1 Date: Mon, 26 Feb 2018 21:22:40 +0100 Message-Id: <20180226202156.142384432@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180226202153.453363333@linuxfoundation.org> References: <20180226202153.453363333@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Will Deacon commit a06f818a70de21b4b3b4186816094208fc7accf9 upstream. __show_regs pretty prints PC and LR by attempting to map them to kernel function names to improve the utility of crash reports. Unfortunately, this mapping is applied even when the pt_regs corresponds to user mode, resulting in a KASLR oracle. Avoid this issue by only looking up the function symbols when the register state indicates that we're actually running at EL1. Cc: Reported-by: NCSC Security Signed-off-by: Will Deacon Signed-off-by: Greg Kroah-Hartman --- arch/arm64/kernel/process.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) --- a/arch/arm64/kernel/process.c +++ b/arch/arm64/kernel/process.c @@ -221,8 +221,15 @@ void __show_regs(struct pt_regs *regs) show_regs_print_info(KERN_DEFAULT); print_pstate(regs); - print_symbol("pc : %s\n", regs->pc); - print_symbol("lr : %s\n", lr); + + if (!user_mode(regs)) { + print_symbol("pc : %s\n", regs->pc); + print_symbol("lr : %s\n", lr); + } else { + printk("pc : %016llx\n", regs->pc); + printk("lr : %016llx\n", lr); + } + printk("sp : %016llx\n", sp); i = top_reg;