File tree Expand file tree Collapse file tree 1 file changed +4
-3
lines changed
src/aero_kernel/src/userland Expand file tree Collapse file tree 1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ use crate::fs::{self, FileSystem};
30
30
use crate :: mem:: paging:: * ;
31
31
32
32
use crate :: arch:: task:: ArchTask ;
33
+ use crate :: arch:: controlregs;
33
34
use crate :: fs:: file_table:: FileTable ;
34
35
use crate :: syscall:: { ExecArgs , MessageQueue } ;
35
36
use crate :: utils:: sync:: { BlockQueue , Mutex } ;
@@ -154,9 +155,9 @@ impl Zombies {
154
155
155
156
// WIFEXITED: The child process has been terminated normally by
156
157
// either calling sys_exit() or returning from the main function.
157
- * status = 0x200 ;
158
+ controlregs :: with_userspace_access ( || * status = 0x200 ) ;
158
159
// The lower 8-bits are used to store the exit status.
159
- * status |= st as u32 & 0xff ;
160
+ controlregs :: with_userspace_access ( || * status |= st as u32 & 0xff ) ;
160
161
161
162
Ok ( tid. as_usize ( ) )
162
163
}
@@ -399,7 +400,7 @@ impl Task {
399
400
// Clear the signals that are pending for this task on exec.
400
401
self . signals ( ) . clear ( ) ;
401
402
402
- self . arch_task_mut ( ) . exec ( vm, executable, argv, envv)
403
+ controlregs :: with_userspace_access ( || self . arch_task_mut ( ) . exec ( vm, executable, argv, envv) )
403
404
}
404
405
405
406
pub fn vm ( & self ) -> & Arc < Vm > {
You can’t perform that action at this time.
0 commit comments