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

[Xen-changelog] [xen staging-4.8] x86/setup: Avoid OoB E820 lookup when calculating the L1TF safe address



commit 5e8697735b7004adc637f3190165da0eaa7e39c7
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Fri Sep 14 13:34:57 2018 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Sep 14 13:34:57 2018 +0200

    x86/setup: Avoid OoB E820 lookup when calculating the L1TF safe address
    
    A number of corner cases (most obviously, no-real-mode and no Multiboot 
memory
    map) can end up with e820_raw.nr_map being 0, at which point the L1TF
    calculation will underflow.
    
    Spotted by Coverity.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    master commit: 3e4ec07e14bce81f6ae22c31ff1302d1f297a226
    master date: 2018-08-16 18:10:07 +0100
---
 xen/arch/x86/setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index ad99098a13..1050127c25 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -864,7 +864,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     /* Sanitise the raw E820 map to produce a final clean version. */
     max_page = raw_max_page = init_e820(memmap_type, e820_raw, &e820_raw_nr);
 
-    if ( !efi_enabled )
+    if ( !efi_enabled && e820_raw_nr >= 1 )
     {
         /*
          * Supplement the heuristics in l1tf_calculations() by assuming that
--
generated by git-patchbot for /home/xen/git/xen.git#staging-4.8

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.