add file_deny_write and file_allow_write to process creation and exiting to make executable read-only

This commit is contained in:
EDiasAlberto
2024-11-11 17:55:24 +00:00
parent 5b1e4b561b
commit 98a5818406
2 changed files with 6 additions and 0 deletions

View File

@@ -181,6 +181,10 @@ start_process (void *file_name_)
if (!success)
thread_exit ();
struct file *exec_file = filesys_open (file_name);
thread_current ()->exec_file = exec_file;
file_deny_write (exec_file);
/* Start the user process by simulating a return from an
interrupt, implemented by intr_exit (in
threads/intr-stubs.S). Because intr_exit takes all of its
@@ -246,6 +250,7 @@ process_exit (void)
uint32_t *pd;
printf ("%s: exit(%d)\n", cur->name, cur->exit_status);
file_close (cur->exec_file);
/* Update process result. */
if (cur->result != NULL)