Patch "x86/hyperv: add noop functions to x86_init mpparse functions" has been added to the 6.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    x86/hyperv: add noop functions to x86_init mpparse functions

to the 6.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     x86-hyperv-add-noop-functions-to-x86_init-mpparse-fu.patch
and it can be found in the queue-6.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit fa3d80c2fdb62f3039e98c2bdf225d1a192ca80b
Author: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
Date:   Fri Jun 23 09:28:08 2023 -0700

    x86/hyperv: add noop functions to x86_init mpparse functions
    
    [ Upstream commit 9e2d0c336524706fb327e9b87477f5f3337ad7a6 ]
    
    Hyper-V can run VMs at different privilege "levels" known as Virtual
    Trust Levels (VTL). Sometimes, it chooses to run two different VMs
    at different levels but they share some of their address space. In
    such setups VTL2 (higher level VM) has visibility of all of the
    VTL0 (level 0) memory space.
    
    When the CONFIG_X86_MPPARSE is enabled for VTL2, the VTL2 kernel
    performs a search within the low memory to locate MP tables. However,
    in systems where VTL0 manages the low memory and may contain valid
    tables, this scanning can result in incorrect MP table information
    being provided to the VTL2 kernel, mistakenly considering VTL0's MP
    table as its own
    
    Add noop functions to avoid MP parse scan by VTL2.
    
    Signed-off-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
    Acked-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/1687537688-5397-1-git-send-email-ssengar@xxxxxxxxxxxxxxxxxxx
    Signed-off-by: Wei Liu <wei.liu@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/x86/hyperv/hv_vtl.c b/arch/x86/hyperv/hv_vtl.c
index 85d38b9f35861..db5d2ea39fc0d 100644
--- a/arch/x86/hyperv/hv_vtl.c
+++ b/arch/x86/hyperv/hv_vtl.c
@@ -25,6 +25,10 @@ void __init hv_vtl_init_platform(void)
 	x86_init.irqs.pre_vector_init = x86_init_noop;
 	x86_init.timers.timer_init = x86_init_noop;
 
+	/* Avoid searching for BIOS MP tables */
+	x86_init.mpparse.find_smp_config = x86_init_noop;
+	x86_init.mpparse.get_smp_config = x86_init_uint_noop;
+
 	x86_platform.get_wallclock = get_rtc_noop;
 	x86_platform.set_wallclock = set_rtc_noop;
 	x86_platform.get_nmi_reason = hv_get_nmi_reason;



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux