Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp648180pxb; Mon, 25 Oct 2021 15:48:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkxHXS/rbKy7jDqc+JfnfnfmJUjBfmmVXsUtBXbkC1YuresW33fzcnBjVct34pQtOgQoyz X-Received: by 2002:a05:6a00:181a:b0:47c:1057:52e with SMTP id y26-20020a056a00181a00b0047c1057052emr189200pfa.76.1635202129441; Mon, 25 Oct 2021 15:48:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635202129; cv=none; d=google.com; s=arc-20160816; b=fA8kmoKhyCgMtpb8PvOdqQIDBOPJrdZe3Lyok/t387r5sKOZpUcxgdZdnS4ONcBVUS FZgo4okyKIqcJsk3HP5hbsGjBzu7rhGP9hBJI8K3zvlNsfUgex3tvyx3t5BSY/XkS1aU Dn6gR37VQngYwvGjAyTHIrXX4xY00otURD75eUe8KQqo9J+nqn4YaJsgVoarHXCjGaW8 QkZdmlmvO8KwHYcWwm4GGEumHYUdNJ9C6F1EDdW/pAUJMg+5oZd3DJegwjFLmrD5Voai 1ogNZ/04RPhHQQgJ8g/MwLRGT3XQ4G3n9vIiJDP8U3GTVuU0zGqDK4mZJeLhBz74G1J/ 7CYw== 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=GgVdMObQp8J5tSjR+1I5XvkKFPl6jlRga8zqjYLm+SE=; b=IjRenseUyH5KtB2DpTXsTz1E4aYs5rtpNja36zy5NmsC/s4+dFBPuKYVJMvtfySC+e SEm4nM0fiKFAh70r5kwnmPg2MxpZ7mudKjNw8kP4HZLc8PLKm2JSqG8PQM7LpCDUQnxS 2yudIs8mm84c7bvyqaQnAPwJSFkEPlh/0g3jbGNT9Ooq1qJkjV02l8OMdV/IQTmZUX9N JGYfoBBDZiows1YVvGL/gxtzA9aTtLrRMh0PgzYRBwap4VoRLlfE9Q2uz/21x2pWGUQc ZW1l3gFEFkoDhb24U5QDQaBT6Rt377aIX8RkUdPxuLos9b1vLe6fVnaCKnqn6CBtrzgI powA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=DtqtdV4+; 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 j2si25822058pgh.277.2021.10.25.15.48.36; Mon, 25 Oct 2021 15:48:49 -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=DtqtdV4+; 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 S235271AbhJYTjI (ORCPT + 99 others); Mon, 25 Oct 2021 15:39:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:52126 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236274AbhJYTeE (ORCPT ); Mon, 25 Oct 2021 15:34:04 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id EC06360FE8; Mon, 25 Oct 2021 19:29:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1635190195; bh=n1tTSWQDnZCGccnS6zBfI+YWb3yAxp76XfmkA1dlrOQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DtqtdV4+4cZVayHy7dSUDko9f67zYni1Apy3fVsx1FUoElEfsrlZTRxfy7/ZxStjl Y2d2OrXHio6NIpfkngdUYdT7RLLEs/VlvfQIc5cAX2uNm7ff/YmCAoJB7Po7/X5Lyw D4eWi1R0n6LkoEjpgP0kpj7OBr3cCXtKF+qEIz1k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jan Beulich , Juergen Gross , Sasha Levin Subject: [PATCH 5.10 07/95] xen/x86: prevent PVH type from getting clobbered Date: Mon, 25 Oct 2021 21:14:04 +0200 Message-Id: <20211025190957.449773881@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211025190956.374447057@linuxfoundation.org> References: <20211025190956.374447057@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: Jan Beulich [ Upstream commit 9172b5c4a778da1f855b2e3780b1afabb3cfd523 ] Like xen_start_flags, xen_domain_type gets set before .bss gets cleared. Hence this variable also needs to be prevented from getting put in .bss, which is possible because XEN_NATIVE is an enumerator evaluating to zero. Any use prior to init_hvm_pv_info() setting the variable again would lead to wrong decisions; one such case is xenboot_console_setup() when called as a result of "earlyprintk=xen". Use __ro_after_init as more applicable than either __section(".data") or __read_mostly. Signed-off-by: Jan Beulich Reviewed-by: Juergen Gross Link: https://lore.kernel.org/r/d301677b-6f22-5ae6-bd36-458e1f323d0b@suse.com Signed-off-by: Juergen Gross Signed-off-by: Sasha Levin --- arch/x86/xen/enlighten.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index aa9f50fccc5d..0f68c6da7382 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c @@ -51,9 +51,6 @@ DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info); DEFINE_PER_CPU(uint32_t, xen_vcpu_id); EXPORT_PER_CPU_SYMBOL(xen_vcpu_id); -enum xen_domain_type xen_domain_type = XEN_NATIVE; -EXPORT_SYMBOL_GPL(xen_domain_type); - unsigned long *machine_to_phys_mapping = (void *)MACH2PHYS_VIRT_START; EXPORT_SYMBOL(machine_to_phys_mapping); unsigned long machine_to_phys_nr; @@ -68,9 +65,11 @@ __read_mostly int xen_have_vector_callback; EXPORT_SYMBOL_GPL(xen_have_vector_callback); /* - * NB: needs to live in .data because it's used by xen_prepare_pvh which runs - * before clearing the bss. + * NB: These need to live in .data or alike because they're used by + * xen_prepare_pvh() which runs before clearing the bss. */ +enum xen_domain_type __ro_after_init xen_domain_type = XEN_NATIVE; +EXPORT_SYMBOL_GPL(xen_domain_type); uint32_t xen_start_flags __section(".data") = 0; EXPORT_SYMBOL(xen_start_flags); -- 2.33.0