diff options
author | Andreas Kling <awesomekling@gmail.com> | 2018-11-03 00:31:42 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2018-11-03 00:35:57 +0100 |
commit | b59ce22fc5a3097544519eee7876e5f5d0656d4b (patch) | |
tree | 58d705aa34d97c99bc20fbd36ecbc379e8e7ef01 /Userland/sh.cpp | |
parent | 8accc92c3c060e5f3d236bc6ee7de90e64900ace (diff) | |
download | serenity-b59ce22fc5a3097544519eee7876e5f5d0656d4b.zip |
Fix dumb-but-hard-to-find bug in paging.
This was the fix:
-process.m_page_directory[0] = m_kernel_page_directory[0];
-process.m_page_directory[1] = m_kernel_page_directory[1];
+process.m_page_directory->entries[0] = m_kernel_page_directory->entries[0];
+process.m_page_directory->entries[1] = m_kernel_page_directory->entries[1];
I spent a good two hours scratching my head, not being able to figure out why
user process page directories felt they had ownership of page tables in the
kernel page directory.
It was because I was copying the entire damn kernel page directory into
the process instead of only sharing the two first PDE's. Dang!
Diffstat (limited to 'Userland/sh.cpp')
0 files changed, 0 insertions, 0 deletions