Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp755388ybl; Wed, 4 Dec 2019 10:18:42 -0800 (PST) X-Google-Smtp-Source: APXvYqyQQrqcH1hRyXXTGgjGcevzuGNcIA4qnoyiwgIjpn0W2HKDq+N3d/YUoTItyZ3RIddS1dLb X-Received: by 2002:a05:6830:22e2:: with SMTP id t2mr3691345otc.129.1575483522641; Wed, 04 Dec 2019 10:18:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575483522; cv=none; d=google.com; s=arc-20160816; b=fJd3JHFcRg0rmYlf1QTUJwkqc1n8fQinv0z5XS1zAwQQm9rE0V5piIPBUzNNOvB9PC NiI134PHPW93PwcLrOFzyQYWTZzs2qaQccYErBk9bzjYeveqMWZ6KN6Mj9m+IZQhqS/w I7hsV/kUjvShe74oo1kBvMfaAqtTXjLcs/xOXFLgex0SSCZmId8CBnyqzXK7wEehtfOJ p2t/aWWhaCMb2bJJyLXGiErQZP0F4o4wSuAMXFMpULrU4/YEMg6LPk6GJfnDRFOI5mjI +kUJo/0RYRNJfiCvzqcTBkXVgLEgqUWH6VPsdsn9n2AR48r2doe75PJJX0RzTYgEuUDZ z1uA== 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:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=iiuph18X9XXWgtWM6B2rkkjdoXNTK/yepy0PqO4p1OU=; b=RoPWHPZR2ZYJjQPJu/P/Qf0WCX5Tbm4jIEncW1gcp2oWHZ57DZ9OND7U81YTTSBwd2 PdAZ+CEpzXoHeghzYjhIn8IKpiMbKVfdOSpIU4czqyzSSdRpM2micl0s53clNyQHZth7 Lst1nNjGKe3KJ7PANQRY2i2MTeWOQ31XqzDJNr+y2yCzAswY61u7vlFC2DFdEnX8nCgv aZb+UuYr8TmHobmoDDqJ/U4Bi1ZuHwm8nNA9eGNoxDCVGCdQWRiSm/2rGpc/q6vTgGl4 B2IBa+9EhEa4DX/B+aLlH3NNfmj5HyyOANjBqHOSgsICHUgYt8F1U3H+IpWUzm7kyGDZ RHIg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1l81dHi; 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 s2si3600722otd.190.2019.12.04.10.18.29; Wed, 04 Dec 2019 10:18:42 -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; dkim=pass header.i=@kernel.org header.s=default header.b=b1l81dHi; 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 S1731423AbfLDSRZ (ORCPT + 99 others); Wed, 4 Dec 2019 13:17:25 -0500 Received: from mail.kernel.org ([198.145.29.99]:40534 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731244AbfLDSMD (ORCPT ); Wed, 4 Dec 2019 13:12:03 -0500 Received: from localhost (unknown [217.68.49.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BE4BB20865; Wed, 4 Dec 2019 18:12:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575483123; bh=giUmpor69kBQGPlEKJQXTVOif8JHpyxMXUDBvI7re4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b1l81dHiOajZuu8jQvNVmVAkhhS3d4APPUr5Tm+vSLnHatfc4q6U8BFAXwM8NjWTt qoqvlgl7otgXem2ggWXVEm1pX7KzEvLM3uTcMcGixZE62pOSBNmia0nahgsCkaFc3A HcPjPNosSeWguiYT6w6iTo9bMvXdRqQJOAao90Zo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christophe Leroy , Michael Ellerman , Sasha Levin Subject: [PATCH 4.9 061/125] powerpc/mm: Make NULL pointer deferences explicit on bad page faults. Date: Wed, 4 Dec 2019 18:56:06 +0100 Message-Id: <20191204175322.677655070@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191204175308.377746305@linuxfoundation.org> References: <20191204175308.377746305@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Christophe Leroy [ Upstream commit 49a502ea23bf9dec47f8f3c3960909ff409cd1bb ] As several other arches including x86, this patch makes it explicit that a bad page fault is a NULL pointer dereference when the fault address is lower than PAGE_SIZE In the mean time, this page makes all bad_page_fault() messages shorter so that they remain on one single line. And it prefixes them by "BUG: " so that they get easily grepped. Signed-off-by: Christophe Leroy [mpe: Avoid pr_cont()] Signed-off-by: Michael Ellerman Signed-off-by: Sasha Levin --- arch/powerpc/mm/fault.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 9376e8e53bfae..2791f568bdb25 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -521,21 +521,22 @@ void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) switch (regs->trap) { case 0x300: case 0x380: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "data at address 0x%08lx\n", regs->dar); + pr_alert("BUG: %s at 0x%08lx\n", + regs->dar < PAGE_SIZE ? "Kernel NULL pointer dereference" : + "Unable to handle kernel data access", regs->dar); break; case 0x400: case 0x480: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "instruction fetch\n"); + pr_alert("BUG: Unable to handle kernel instruction fetch%s", + regs->nip < PAGE_SIZE ? " (NULL pointer?)\n" : "\n"); break; case 0x600: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "unaligned access at address 0x%08lx\n", regs->dar); + pr_alert("BUG: Unable to handle kernel unaligned access at 0x%08lx\n", + regs->dar); break; default: - printk(KERN_ALERT "Unable to handle kernel paging request for " - "unknown fault\n"); + pr_alert("BUG: Unable to handle unknown paging fault at 0x%08lx\n", + regs->dar); break; } printk(KERN_ALERT "Faulting instruction address: 0x%08lx\n", -- 2.20.1