Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp774107imm; Fri, 13 Jul 2018 06:11:53 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcYBQYR/vqPXA00FiojgcDQb0or0v1+51xIuEv27H1+H7985cTCo8S7kpq7VWSJPqZMdh3z X-Received: by 2002:a17:902:7202:: with SMTP id ba2-v6mr4525113plb.179.1531487513714; Fri, 13 Jul 2018 06:11:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1531487513; cv=none; d=google.com; s=arc-20160816; b=gLCXE2lgBkLk4CsH4FS/KnA6i9mbSklZcYRBimwTYVET31HVxli20aQdUj2OeGvo/8 g91Bigs80GTQ/eFZKPGP0AgGTB9Nkcfr3Vq+owgL3JEtitilVC6lBTxWmPLQxu4Ab0Xi NTTxdZOSnsL4Qd+G78Zq12w4JpfITONxL6DkfOZtADKNqXUoiNgq0PZ+FDl0s64jfJ8I MwNBNTL3ipp5LH4CL+dO1Z1C8xtW6EFL9MX414VcinlLvf/YlEapnhHR1fdpJ5Jh30zW vrWaf8zy6HUk9QHMPrvlRoqB7uu5PPl1NBOqCKd3pAJQQym9cYfAtG6eLzNA8HuL+QD2 ySTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:cc:to:subject:from:message-id :arc-authentication-results; bh=YIZ6z7N76+O3mRHL8PSfKNAG6lZriUzN0caCsX4tY44=; b=dapUa+GSHxjNr5gwot6h/ZNZq2w57TJmbkaJ9V1aExZO6trBL8+4fHtEXoaieimlGi sDFpCjkB4xj4hFa+2zyHpYWNk5nEp2l95MZeX07GftznuLbIeMJ+ncTGPdPjD3/xNnpw HzmDh87LZ2ksCIgzz3xHIGpeGkaQqTvzDdBJBY/7/ubx6Fuyzzc1av9dCFXycYNNcWm3 T/9bTK7Z5zOSeTBrOsXyKkRlWM1nZID+l/zo93qQMuGdZE6i9rJj9aLH6Eze9VVv6Nrn SmImKp4jzzGq2LYjOfenqBmbQ4zSO6sUuE9NiiqIQRxtMLqKi7/2jjicS4SQLTJOOXEa nRiQ== 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 q66-v6si26323537pfd.153.2018.07.13.06.11.39; Fri, 13 Jul 2018 06:11:53 -0700 (PDT) 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 S1729830AbeGMNZ0 (ORCPT + 99 others); Fri, 13 Jul 2018 09:25:26 -0400 Received: from pegase1.c-s.fr ([93.17.236.30]:13819 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728140AbeGMNZZ (ORCPT ); Fri, 13 Jul 2018 09:25:25 -0400 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 41RtTN54l2z9ttmp; Fri, 13 Jul 2018 15:10:32 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id m_GBfCzAQTTg; Fri, 13 Jul 2018 15:10:32 +0200 (CEST) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 41RtTN4cz3z9ttmB; Fri, 13 Jul 2018 15:10:32 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 34FA28B8A6; Fri, 13 Jul 2018 15:10:48 +0200 (CEST) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id xCZfC-m1-DxT; Fri, 13 Jul 2018 15:10:48 +0200 (CEST) Received: from po14934vm.idsi0.si.c-s.fr (po15451.idsi0.si.c-s.fr [172.25.231.4]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 0329E8B75A; Fri, 13 Jul 2018 15:10:48 +0200 (CEST) Received: by po14934vm.idsi0.si.c-s.fr (Postfix, from userid 0) id C807871200; Fri, 13 Jul 2018 13:10:47 +0000 (UTC) Message-Id: <4302f36bd615c179c92f2007a0f3a1215ba96c55.1531439662.git.christophe.leroy@c-s.fr> From: Christophe Leroy Subject: [PATCH] powerpc/8xx: fix handling of early NULL pointer dereference To: Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Date: Fri, 13 Jul 2018 13:10:47 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org NULL pointers are pointers to user memory space. So user pagetable has to be set in order to avoid random behaviour in case of NULL pointer dereference, otherwise we may encounter random memory access hence Machine Check Exception from TLB Miss handlers. Set user pagetable as early as possible in order to properly catch early kernel NULL pointer dereference. Signed-off-by: Christophe Leroy --- arch/powerpc/kernel/head_8xx.S | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S index 6cab07e76732..04501b65040e 100644 --- a/arch/powerpc/kernel/head_8xx.S +++ b/arch/powerpc/kernel/head_8xx.S @@ -873,6 +873,10 @@ start_here: li r0,0 stwu r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1) + lis r6, swapper_pg_dir@ha + tophys(r6,r6) + mtspr SPRN_M_TW, r6 + bl early_init /* We have to do this with MMU on */ /* @@ -893,9 +897,6 @@ start_here: * init's THREAD like the context switch code does, but this is * easier......until someone changes init's static structures. */ - lis r6, swapper_pg_dir@ha - tophys(r6,r6) - mtspr SPRN_M_TW, r6 lis r4,2f@h ori r4,r4,2f@l tophys(r4,r4) -- 2.13.3