Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp2465167imj; Mon, 18 Feb 2019 06:30:29 -0800 (PST) X-Google-Smtp-Source: AHgI3IY6vzmFirtdzLQ42+LdD2M7Gh1H2r96LrM4O5TK3CAqQg/TVhyHS8GeS2M2/R0qD72SAHlO X-Received: by 2002:a63:2ccd:: with SMTP id s196mr19018456pgs.194.1550500229375; Mon, 18 Feb 2019 06:30:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550500229; cv=none; d=google.com; s=arc-20160816; b=LLw+a5xkk1CwurTj1q/6JfMDby9UV+h91XLmFYXBisT732Uhn/U8sEtnwv24hfcfdr BUZxBnu5oB1CrSFrugR2LAVyQj2v4fZxhjskuabNv3oCXNSrbXKKhQlC0aXEzpfg6K5P Q1lhCN9VoXtCYtyFYztDVQS9+xbPjgJ3/GC09mpd4JASQQiBwo+64F0qbFoBzAQIQqFS 4evjIVhp5RNcwoI35vk+u0o1z1lZ0oRDw/Sq0pVqS/LNcNA0AAitu5rtZUaRJfCBi4aS Hp2QYkG6o/GWHCeRDqHY9sD/6AoBrAjTSySw6miDPlw77YhTS2gsY9d/JV5goBMqls4B qAvA== 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=jK7wVviwZ58lCSsAxbBqTozKVC7gfifSJINSbstcsDY=; b=mttqnSCqHc2Mp6Huly530zA+KTcQafACfOBe3TCIytn/8dCxegoEoLT0RNgcGYMYOX /aD1cJEGttz2zSs3KQTxYTcm0fwGp3+GAn0f8rEkNg6+29srIUieIcELQmAdevDmkDuN WxGAPb8zh+g4GY0NezJGumhN0ILJOCMUF1Uw7fjo+GTJlkrZBtE4SCuqLMDBC1+oh1j4 JBX6FKuYGdnPP23fsk8tmTmCmm0g4RlVyqqOT2HZd/uvo9bzAxIqFVTaV04ThuHH1vFw FAwBsrIduMLnvmFevmCrbnYHqJK+VdX6RbAp96yDiHauJH/SQlmLZjUtK2nq3g0GnaxU c/1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=y498Ycne; 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 z19si539494plo.322.2019.02.18.06.30.13; Mon, 18 Feb 2019 06:30:29 -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=y498Ycne; 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 S2387551AbfBRN7m (ORCPT + 99 others); Mon, 18 Feb 2019 08:59:42 -0500 Received: from mail.kernel.org ([198.145.29.99]:40640 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388623AbfBRN7j (ORCPT ); Mon, 18 Feb 2019 08:59:39 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (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 6A1E72070D; Mon, 18 Feb 2019 13:59:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1550498378; bh=QNYYuJC2exa2iU/W+1XNmZ2p7TyA5H5dT5QvOD1Cz2w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=y498Ycne+jN2TaUsaG47zZiZIC47b4/lPcjYMPwj8JX9DwDEsyVpZB01SYIn0u6S6 uBP1paMHDZ1sr9B5l3wWyxnJxbw/MUIHhSctvUeZkOweJ/Ljg69whzd5denDsVDjQk kUnQ+6ppm0AgYOzNDORaOvoYxppB3UVCftYo09Ac= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Marek Szyprowski , Krzysztof Kozlowski , Russell King , "David A. Long" , Julien Thierry , Sasha Levin Subject: [PATCH 4.9 18/58] ARM: ensure that processor vtables is not lost after boot Date: Mon, 18 Feb 2019 14:43:39 +0100 Message-Id: <20190218133509.954006167@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190218133508.567416115@linuxfoundation.org> References: <20190218133508.567416115@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ Commit 3a4d0c2172bcf15b7a3d9d498b2b355f9864286b upstream. Marek Szyprowski reported problems with CPU hotplug in current kernels. This was tracked down to the processor vtables being located in an init section, and therefore discarded after kernel boot, despite being required after boot to properly initialise the non-boot CPUs. Arrange for these tables to end up in .rodata when required. Reported-by: Marek Szyprowski Tested-by: Krzysztof Kozlowski Fixes: 383fb3ee8024 ("ARM: spectre-v2: per-CPU vtables to work around big.Little systems") Signed-off-by: Russell King Signed-off-by: David A. Long Reviewed-by: Julien Thierry Signed-off-by: Sasha Levin --- arch/arm/mm/proc-macros.S | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S index 7d9176c4a21d..7be1d7921342 100644 --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S @@ -275,6 +275,13 @@ .endm .macro define_processor_functions name:req, dabort:req, pabort:req, nommu=0, suspend=0, bugs=0 +/* + * If we are building for big.Little with branch predictor hardening, + * we need the processor function tables to remain available after boot. + */ +#if 1 // defined(CONFIG_BIG_LITTLE) && defined(CONFIG_HARDEN_BRANCH_PREDICTOR) + .section ".rodata" +#endif .type \name\()_processor_functions, #object .align 2 ENTRY(\name\()_processor_functions) @@ -310,6 +317,9 @@ ENTRY(\name\()_processor_functions) .endif .size \name\()_processor_functions, . - \name\()_processor_functions +#if 1 // defined(CONFIG_BIG_LITTLE) && defined(CONFIG_HARDEN_BRANCH_PREDICTOR) + .previous +#endif .endm .macro define_cache_functions name:req -- 2.19.1