Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3890380pxv; Mon, 19 Jul 2021 11:13:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgalPsKGrRdTkPMjMoNRqlsbcboJDvyzapsUwi+MPj+P2l/Y4vc8uHBed77aa2p3kMRj5B X-Received: by 2002:a02:85a5:: with SMTP id d34mr22639900jai.132.1626718408432; Mon, 19 Jul 2021 11:13:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626718408; cv=none; d=google.com; s=arc-20160816; b=yXPGkaGK+6xHxc05xSjHq/Gb9GwYcKId/za99V3YlRoFaPg/gpDW9YdfdoEGdyF1qd 40GxyUf6KXDnppnS/9ou8YTrdm1+GqBhnTBx4JA8HmApIijbweBL0mfoVCnBE/Z+Xw88 fEF3fdtY9b5fKDZSL3GlHFFMmd+bZMVUmRzMbFTwrloWkgV07bWIKl9x7klyjpQyvrOc zNoKWLj99VDa14wrESDrcFf18HN+ytIiWB6RlFUjJGlvTCCPqM9+iU/q5IRf9O1x8PIb x7h2u4awkryIptqu0kevYr6cGv8qAAxS6xFQYdjcWm/gqKBo/PBg3VfJfusF4aTYr6ej BP8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Ngu89fCA22R9mM5iw3zNLafBl3dsCr0U8i4o6uQubRg=; b=pEvTo3zPrCcIvS1j7IekmJNsOtXWM1YDLu1uF7olfm4d7ha/XCg01oYmSqHR/n9NoZ Dpj0BdeUPP3cUaH6CivUQfWHVJuNdsYGu3fBWrzRuQb3ijK7KaJjP71daJEwA/xh5+aM CW6fJkpIb7Gk9elNDbblZPR+b4F+LKmLgp122+aFCMGhGEWFo/GtPIovej36oIUcpItX pLIS9VIAndAZcfrdKiMnJBGgx/aIFJ0zkxBwzq64xbHhk6mZtBRkWg7tEYB1/6jvgnK1 8x8WcHkrGAtzkfMuLPVa/UXhRBaq81lfSizLI/GipWDE/+Fxsy3fzqSN+TkcCc8R9fIi unug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mBXHaw+g; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q4si19976467ils.118.2021.07.19.11.13.16; Mon, 19 Jul 2021 11:13:28 -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; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=mBXHaw+g; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346803AbhGSRbZ (ORCPT + 99 others); Mon, 19 Jul 2021 13:31:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:50540 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346381AbhGSPrt (ORCPT ); Mon, 19 Jul 2021 11:47:49 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 651DD6128A; Mon, 19 Jul 2021 16:27:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626712074; bh=FF6FdsUlmnuBBRRI2C3j3WieIA8w49IEE/YOHnTkSJU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mBXHaw+gVgagtdl+/Vot8PntN/UfgxEmtcbOcSA12XsPhrDBheY8BpTdotkEsGTCS DxohhJMpfOl9XFrijMwcXAoPPCuNCo71lsyyRQjQiBdBsccpZ6ntNvAlif59hkzMJE Mb22bbXpUvv7BYoLNiz3dWFpXflBWldaROGP35kY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Caleb Connolly , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.12 241/292] arm64: dts: qcom: sdm845-oneplus-common: guard rmtfs-mem Date: Mon, 19 Jul 2021 16:55:03 +0200 Message-Id: <20210719144950.882627059@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.514164272@linuxfoundation.org> References: <20210719144942.514164272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Caleb Connolly [ Upstream commit e60fd5ac1f6851be5b2c042b39584bfcf8a66f57 ] The rmtfs_mem region is a weird one, downstream allocates it dynamically, and supports a "qcom,guard-memory" property which when set will reserve 4k above and below the rmtfs memory. A common from qcom 4.9 kernel msm_sharedmem driver: /* * If guard_memory is set, then the shared memory region * will be guarded by SZ_4K at the start and at the end. * This is needed to overcome the XPU limitation on few * MSM HW, so as to make this memory not contiguous with * other allocations that may possibly happen from other * clients in the system. */ When the kernel tries to touch memory that is too close the rmtfs region it may cause an XPU violation. Such is the case on the OnePlus 6 where random crashes would occur usually after boot. Reserve 4k above and below the rmtfs_mem to avoid hitting these XPU Violations. This doesn't entirely solve the random crashes on the OnePlus 6/6T but it does seem to prevent the ones which happen shortly after modem bringup. Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices") Signed-off-by: Caleb Connolly Link: https://lore.kernel.org/r/20210502014146.85642-4-caleb@connolly.tech Signed-off-by: Bjorn Andersson Signed-off-by: Sasha Levin --- arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi index 8f617f7b6d34..f712771df0c7 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi @@ -46,6 +46,14 @@ }; reserved-memory { + /* The rmtfs_mem needs to be guarded due to "XPU limitations" + * it is otherwise possible for an allocation adjacent to the + * rmtfs_mem region to trigger an XPU violation, causing a crash. + */ + rmtfs_lower_guard: memory@f5b00000 { + no-map; + reg = <0 0xf5b00000 0 0x1000>; + }; /* * The rmtfs memory region in downstream is 'dynamically allocated' * but given the same address every time. Hard code it as this address is @@ -59,6 +67,10 @@ qcom,client-id = <1>; qcom,vmid = <15>; }; + rmtfs_upper_guard: memory@f5d01000 { + no-map; + reg = <0 0xf5d01000 0 0x2000>; + }; /* * It seems like reserving the old rmtfs_mem region is also needed to prevent -- 2.30.2