From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vitaly Kuznetsov Subject: Re: [PATCH] x86/acpi: keep x86_cpu_to_acpiid mapping valid on cpu hotplug Date: Tue, 07 Feb 2017 10:29:03 +0100 Message-ID: <87shnqs61s.fsf@vitty.brq.redhat.com> References: <20170206170151.25542-1-vkuznets@redhat.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: (Rafael J. Wysocki's message of "Mon, 6 Feb 2017 22:05:57 +0100") Sender: linux-kernel-owner@vger.kernel.org To: "Rafael J. Wysocki" Cc: the arch/x86 maintainers , ACPI Devel Maling List , Linux Kernel Mailing List , "linux-ia64@vger.kernel.org" , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Andrew Jones List-Id: linux-acpi@vger.kernel.org "Rafael J. Wysocki" writes: > On Mon, Feb 6, 2017 at 6:01 PM, Vitaly Kuznetsov wrote: >> We may or may not have all possible CPUs in MADT on boot but in any case >> we're overwriting x86_cpu_to_acpiid mapping with U32_MAX when >> acpi_register_lapic() is called again on the CPU hotplug path: >> acpi_processor_hotadd_init() -> acpi_map_cpu() -> acpi_register_lapic(). >> >> As we have the required acpi_id information in acpi_processor_hotadd_init() >> propagate it to acpi_map_cpu() to always keep x86_cpu_to_acpiid mapping >> valid. >> >> Reported-by: Andrew Jones >> Signed-off-by: Vitaly Kuznetsov > > Is the bug report available and if so, do you have a pointer to it? > There was no 'real' bug, the issue was found by code inspection. Potentially, the following scenario is currently broken: - boot Xen HVM guest and do kdump on a secondary CPU - with kdump kernel running try to hot-plug additional CPUs. we'll end up with U32_MAX in x86_cpu_to_acpiid for hot-plugged CPUs so we'll be assuming direct Linux<->Xen mapping which won't be the case and all hypercalls referring to these CPUs will end up affecting some other CPUs. -- Vitaly