Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp2900337ybx; Fri, 8 Nov 2019 11:00:58 -0800 (PST) X-Google-Smtp-Source: APXvYqz9P6+oorgv9Sc7QjCwKa6kZFR4DK9vCWqW+8F9wM2gwXwVwfKTWMiCO0vr9qyoIPpGbEPJ X-Received: by 2002:a50:ec83:: with SMTP id e3mr12178908edr.292.1573239658341; Fri, 08 Nov 2019 11:00:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573239658; cv=none; d=google.com; s=arc-20160816; b=G8uQ1pOPfrsMa3Z7D6FOopziV6lQzkpELy2ACH7EmWu2stF/dz1CzGwZcoRBoVwGCQ 2Sl8pyP2TGl8Fs6UxN9TirB3EA9HZEZlAHry5Zk+3oj0yEVDTHoj7jDmdDPT03HGy+gc PEjsla6lrANftTyUD074K1f6Wn8xk31+Hm6m+zUeUzIY6Yb91zmDpsFWZfVUp2HaU64L QxzGcXMPC2esFPyUBWbnylG6SAmWEls6XND7NDIZB9F8U3i2S6YIZfZzu6imykUTyJWG vTyeK1mviPfhdIOVM5G0EG1OpAVdrNo5cLK62yU/ZiE+kmuRTH5yXoOD9UydBh0qhDQq V1Aw== 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=D67wkSp7mE63+9DGn1H+2ye/2XLZqrz/Ke4GiZD6zs8=; b=hT6slW2Du9zbuc9dPv18sbbxPvj5oNSaO8/z8V2ngGdyIyh0SCvxcg7HpouV9omHfG /0TMjp0SwRNLIBpX+KuB/cT/0mvruwn1B5dAKEKySDFyydZUapCusUBKyp9dzkw1khWZ 8pMfbdYj7FFI3noWUkvf2i8gDJ52TUqhbBv5YDUQSEOEbrht980G/+L+GwXf2R6Qwq1q IleNCJks7UnjfP3dltydNg68SrB9k0RdmcybxGU7GpP0wrxB9o7f904buyDhcd9JQi0D hig8B6yp/K9Iuz7e5CSEJd4H3dXLSnK4Z4I65YjuHi+KXu88wxOPVZ1Jekt8e8I1Mwb8 1LQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=InPUAoJ0; 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 j8si4327495ejm.162.2019.11.08.11.00.34; Fri, 08 Nov 2019 11:00:58 -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=InPUAoJ0; 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 S1731278AbfKHSzU (ORCPT + 99 others); Fri, 8 Nov 2019 13:55:20 -0500 Received: from mail.kernel.org ([198.145.29.99]:52542 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733294AbfKHSzQ (ORCPT ); Fri, 8 Nov 2019 13:55:16 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.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 5C24A222C5; Fri, 8 Nov 2019 18:55:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573239315; bh=j3r/n5l6RYREqpwfXTDzpr2BYB8iYzHItBpD0Po+7WA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=InPUAoJ08lgozGcxxQI3jTFSpowOc15WHC1j8ieJWvftlq0IP+B/C2b96vULBzYPv P27iERlN7B50BJQXUcrrM2O/kDLUFPtJXOBTEpbVgOENKtT3wPJ8mr5a3jeBucBOxp 6AFBSxQSgwbBopqMRbKl8BdJeidqkqAC70iyn49I= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Greg Kroah-Hartman , "linus.walleij@linaro.org, rmk+kernel@armlinux.org.uk, Ard Biesheuvel" , Marek Szyprowski , Krzysztof Kozlowski , Russell King , "David A. Long" , Julien Thierry , Sasha Levin , Ard Biesheuvel Subject: [PATCH 4.4 72/75] ARM: ensure that processor vtables is not lost after boot Date: Fri, 8 Nov 2019 19:50:29 +0100 Message-Id: <20191108174812.646613145@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191108174708.135680837@linuxfoundation.org> References: <20191108174708.135680837@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: Russell King 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 Signed-off-by: Ard Biesheuvel Signed-off-by: Greg Kroah-Hartman --- arch/arm/mm/proc-macros.S | 10 ++++++++++ 1 file changed, 10 insertions(+) --- a/arch/arm/mm/proc-macros.S +++ b/arch/arm/mm/proc-macros.S @@ -259,6 +259,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) @@ -294,6 +301,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