Kernel: Add guard pages to kernel and userspace stacks

This commit is contained in:
2025-07-02 23:12:36 +03:00
parent e1319a06f2
commit 6084aae603
10 changed files with 47 additions and 35 deletions

View File

@@ -35,7 +35,7 @@ namespace Kernel
~(uintptr_t)0,
pending_packet_buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
ipv4_manager->m_arp_table = TRY(ARPTable::create());
return ipv4_manager;

View File

@@ -16,7 +16,7 @@ namespace Kernel
BAN::numeric_limits<vaddr_t>::max(),
buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
loopback->set_ipv4_address({ 127, 0, 0, 1 });
loopback->set_netmask({ 255, 0, 0, 0 });

View File

@@ -32,7 +32,7 @@ namespace Kernel
~(vaddr_t)0,
s_recv_window_buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
socket->m_recv_window.scale_shift = PAGE_SIZE_SHIFT; // use PAGE_SIZE windows
socket->m_send_window.buffer = TRY(VirtualRange::create_to_vaddr_range(
@@ -41,7 +41,7 @@ namespace Kernel
~(vaddr_t)0,
s_send_window_buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
socket->m_thread = TRY(Thread::create_kernel(
[](void* socket_ptr)

View File

@@ -17,7 +17,7 @@ namespace Kernel
~(uintptr_t)0,
packet_buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
return socket;
}

View File

@@ -29,7 +29,7 @@ namespace Kernel
~(uintptr_t)0,
s_packet_buffer_size,
PageTable::Flags::ReadWrite | PageTable::Flags::Present,
true
true, false
));
return socket;
}