set_pte_type now correctly sets flags

Previously it erroneously set all flags regardless to `flags` argument
This commit is contained in:
2023-03-03 04:54:54 -06:00
parent a4e69e9e36
commit 14415fae9f

View File

@@ -133,9 +133,9 @@ int set_pte_type(void *page, int level, int flags)
struct page_table_entry_t *entry = get_pte_pointer(page, level); struct page_table_entry_t *entry = get_pte_pointer(page, level);
if(entry != NULL) if(entry != NULL)
{ {
entry->present = PAGE_PRESENT ? 1 : 0; entry->present = (flags & PAGE_PRESENT) ? 1 : 0;
entry->rw = PAGE_RW ? 1 : 0; entry->rw = (flags & PAGE_RW) ? 1 : 0;
entry->usermode = PAGE_USERMODE ? 1 : 0; entry->usermode = (flags & PAGE_USERMODE) ? 1 : 0;
return 0; return 0;
} }
else else