sBubshait
|
1efa1fef9a
|
Merge frame pinning into themis-synch
|
2024-12-05 23:56:25 +00:00 |
|
sBubshait
|
6da855fe47
|
Implement validation of pointers and strings in syscalls with pinning and unpinning to protect against eviction
|
2024-12-05 21:12:31 +00:00 |
|
EDiasAlberto
|
5cf79b5389
|
fix: add check to mmap to ensure file isn't mapped over stack segment
|
2024-12-05 16:05:08 +00:00 |
|
sBubshait
|
f13fd435cd
|
Merge remote-tracking branch 'origin/vm/page-swap-synch' into vm/virtual-memory/saleh
# Conflicts:
# .gitlab-ci.yml
# src/Makefile.build
# src/threads/thread.c
# src/userprog/exception.c
# src/userprog/process.c
# src/vm/frame.c
# src/vm/page.c
# src/vm/page.h
# src/vm/stackgrowth.c
# src/vm/stackgrowth.h
|
2024-12-05 02:21:53 +00:00 |
|
sBubshait
|
1a8eb1bbe5
|
Merge branch 'vm/memory-mapped-files' into vm/virtual-memory/saleh
|
2024-12-05 01:24:50 +00:00 |
|
sBubshait
|
26a2d40325
|
Implement implicitly unmapping all mmapped files when a process exits. Refactor to reduce duplication
|
2024-12-04 22:00:59 +00:00 |
|
Themis Demetriades
|
1e236a5c47
|
Merge branch 'vm/lazy-loading' into vm/page-swap-synch
|
2024-12-04 19:11:37 +00:00 |
|
sBubshait
|
ecbb4e74a5
|
Implement the unmap system call, writing back to the file if a page is dirty before removing from SPT
|
2024-12-04 19:07:28 +00:00 |
|
sBubshait
|
941e1e067a
|
Update SPT page entry to change type from EXECUTABLE to PAGE_FILE to capture mmaps in addition to executables
|
2024-12-04 17:51:30 +00:00 |
|
sBubshait
|
ad6e4b4059
|
Implement syscall_mmap to validate and then map all file data into a user address in memory
|
2024-12-04 17:42:53 +00:00 |
|
sBubshait
|
67f16cb2a6
|
Update syscall.c to allow mmap and unmap system calls through helper handler functions for each
|
2024-12-04 15:31:53 +00:00 |
|
EDiasAlberto
|
5c661c2e24
|
Feat: pointer validation checks string across multiple pages and handle kernel page faults
|
2024-11-29 23:49:49 +00:00 |
|
EDiasAlberto
|
5f40d83e66
|
Implement MMU-based user memory validation
|
2024-11-29 23:03:31 +00:00 |
|
sBubshait
|
8047c65227
|
Update syscall handling of invalid pointers by preloading pages using the helper try_fetch_page
|
2024-11-29 18:55:28 +00:00 |
|
EDiasAlberto
|
4f84a83611
|
Refactor: abstract new page allocation to one general function and make helper functions static
|
2024-11-27 19:41:22 +00:00 |
|
EDiasAlberto
|
c74a8c55aa
|
Implement stack growth for system calls and add stack pointer tracking to thread
|
2024-11-27 19:21:43 +00:00 |
|
|
|
aedb72246b
|
fix: do not acquire filesys_lock for tell and seek
|
2024-11-24 15:41:18 +00:00 |
|
|
|
8567434231
|
Use a single exit_status instead of two
|
2024-11-15 17:28:04 +00:00 |
|
sBubshait
|
ea3b3594ea
|
Update fd_hash to use the fd itself as the hash value for performance, w/ G & E
|
2024-11-15 15:53:01 +00:00 |
|
sBubshait
|
6b1dbdd34f
|
Update thread and syscall to use local fd counter instead global one, preventing overflow
|
2024-11-15 15:48:56 +00:00 |
|
sBubshait
|
82d45880f7
|
Update validate_user_pointer to start from the beginning of the page rather than the given ptr
|
2024-11-15 13:51:10 +00:00 |
|
sBubshait
|
1c757ecdfe
|
Update syscall to add more helpful comments for clarity and readability
|
2024-11-15 13:51:10 +00:00 |
|
sBubshait
|
fa2fb4a711
|
Refactor system call comments for accuracy and grammar
|
2024-11-13 18:48:23 +00:00 |
|
sBubshait
|
31ea215805
|
Refactor validate_user_string to remove unnecessary variable to track length of str
|
2024-11-13 18:30:24 +00:00 |
|
sBubshait
|
9549ca28e5
|
Refactor syscall: Use EXIT_FAILURE instead of magic numbers & close files on failure
|
2024-11-13 18:18:41 +00:00 |
|
sBubshait
|
b1c5819469
|
Avoid masking the struct syscall_arguments using typedef for consistency
|
2024-11-13 18:06:51 +00:00 |
|
sBubshait
|
287130ca7b
|
Update syscall.c to use syscall_exit on failure instead of calling thread_exit directly
|
2024-11-13 18:02:08 +00:00 |
|
sBubshait
|
4f586bb4da
|
Fix Bug: Free all entries in the fd hashtable when the process exits, w/ E
|
2024-11-13 17:42:25 +00:00 |
|
sBubshait
|
d890c2353e
|
Add constant MAX_SYSCALL_ARGS to avoid magic numbers [Gleb]
|
2024-11-13 17:16:15 +00:00 |
|
sBubshait
|
eb4f23c290
|
Add validate_user_string helper function to validate that a string is fully conatined within user vm
|
2024-11-13 17:11:37 +00:00 |
|
sBubshait
|
26de38cdba
|
Update validate_user_pointer to check if the memory block is mapped into a physical address
|
2024-11-13 16:39:45 +00:00 |
|
sBubshait
|
6e59e8c9f3
|
Update validate_user_pointer to be a void function
|
2024-11-13 16:22:16 +00:00 |
|
Themis Demetriades
|
3418425f20
|
Don't acquire filesys lock when calling exec
|
2024-11-12 16:08:27 +00:00 |
|
|
|
59e7a64f8e
|
Only check user pages rather than all bytes in-between, for known-size pointers
|
2024-11-12 15:48:22 +00:00 |
|
|
|
cf4bf90cbb
|
Implement user pointer checking for C strings
|
2024-11-12 15:34:45 +00:00 |
|
|
|
9a6abab95e
|
Check access to user memory using page fault method (via get_user and put_user).
|
2024-11-12 15:00:16 +00:00 |
|
|
|
44f6a85163
|
Add get_user and put_user provided by spec.
|
2024-11-12 14:50:53 +00:00 |
|
Themis Demetriades
|
a69b9c808e
|
Update start_process to acquire filesys lock when loading user process file
|
2024-11-12 14:21:33 +00:00 |
|
EDiasAlberto
|
1bfd73b202
|
Comment syscall functions and handlers
|
2024-11-10 01:32:58 +00:00 |
|
sBubshait
|
e40794e672
|
Fix Bug in fd_get_file: In case fd not found, then returns NULL, w/ E
|
2024-11-08 16:48:19 +00:00 |
|
sBubshait
|
8912ef4660
|
Implement writing to file system files in the write system call, w/ E
|
2024-11-08 16:26:47 +00:00 |
|
EDiasAlberto
|
18694d7b62
|
Implement file reading syscall and fix fd validation w/ S.
|
2024-11-08 16:25:49 +00:00 |
|
sBubshait
|
2a1cc3c361
|
Implement filesize and tell system calls, w/ E
|
2024-11-08 16:14:53 +00:00 |
|
EDiasAlberto
|
3cfbe198e0
|
Implement syscall for seek w/ S.
|
2024-11-08 16:10:46 +00:00 |
|
EDiasAlberto
|
75bd3fbde0
|
Implement syscall for close() and fix typing bug in fd_get_file w/ S.
|
2024-11-08 16:02:51 +00:00 |
|
sBubshait
|
a80084e907
|
Fix Bug in fd_get_file declaration use open_file instead of file, w/ E
|
2024-11-08 15:54:28 +00:00 |
|
sBubshait
|
5424276603
|
Add a helper function to get a file from its descriptor (FD), w/ E
|
2024-11-08 15:50:48 +00:00 |
|
EDiasAlberto
|
92e93b8060
|
Implement syscall for file opening and refactor open_files initialisation in thread.c w/ S.
|
2024-11-08 15:33:47 +00:00 |
|
sBubshait
|
5bbe7a03c0
|
Add in syscall hash helper functions for open_file struct: fd_hash and fd_less, w/ E
|
2024-11-08 15:12:08 +00:00 |
|
sBubshait
|
b112824a64
|
Implement the exec system call through process_execute, w/ E
|
2024-11-08 14:41:27 +00:00 |
|