fix: add check to mmap to ensure file isn't mapped over stack segment (ed1223)

This commit is contained in:
Themis Demetriades
2024-12-05 17:11:02 +00:00
parent d03e253046
commit 7860f3863f

View File

@@ -426,6 +426,10 @@ syscall_mmap (int fd, void *addr)
if (file_size == 0)
return MMAP_FAILURE;
/* Ensure that the mmap page doesn't overlap with the stack. */
if (addr >= (thread_current ()->curr_esp) - PGSIZE)
return MMAP_FAILURE;
/* Check and ensure that there is enough space in the user virtual memory to
hold the entire file. */
for (off_t ofs = 0; ofs < file_size; ofs += PGSIZE)