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

[xen stable-4.18] x86/mm: fix detection of last L1 entry in modify_xen_mappings_lite()



commit a96d2d4355d85fc82abd0a3799978db04ee8cff3
Author:     Roger Pau Monné <roger.pau@xxxxxxxxxx>
AuthorDate: Tue Mar 12 12:07:07 2024 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Mar 12 12:07:07 2024 +0100

    x86/mm: fix detection of last L1 entry in modify_xen_mappings_lite()
    
    The current logic to detect when to switch to the next L1 table is 
incorrectly
    using l2_table_offset() in order to notice when the last entry on the 
current
    L1 table has been reached.
    
    It should instead use l1_table_offset() to check whether the index has 
wrapped
    to point to the first entry, and so the next L1 table should be used.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is 
active')
    Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    master commit: 7c81558208de7858251b62f168a449be84305595
    master date: 2024-03-11 11:09:42 +0000
---
 xen/arch/x86/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 39544bd9f9..ab0acbfea6 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5947,7 +5947,7 @@ void init_or_livepatch modify_xen_mappings_lite(
 
                 v += 1UL << L1_PAGETABLE_SHIFT;
 
-                if ( l2_table_offset(v) == 0 )
+                if ( l1_table_offset(v) == 0 )
                     break;
             }
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.18



 


Rackspace

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