Quellcode durchsuchen

Prekernel: Don't wrap around the PTE index improperly

The boot_pd0_pts variable contains more than 512 PTEs so we shouldn't
wrap the index here.
Gunnar Beutner vor 4 Jahren
Ursprung
Commit
05fc75f994
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      Kernel/Prekernel/init.cpp

+ 1 - 1
Kernel/Prekernel/init.cpp

@@ -177,7 +177,7 @@ extern "C" [[noreturn]] void init()
 
     // unmap the end_of_prekernel_image - MAX_KERNEL_SIZE region
     for (FlatPtr vaddr = (FlatPtr)end_of_prekernel_image; vaddr < MAX_KERNEL_SIZE; vaddr += PAGE_SIZE)
-        boot_pd0_pts[vaddr >> 12 & 0x1ff] = 0;
+        boot_pd0_pts[vaddr >> 12] = 0;
 
     void (*entry)(BootInfo const&) = (void (*)(BootInfo const&))kernel_elf_header.e_entry;
     entry(*adjust_by_load_base(&info));