diff --git a/kernel/src/syscall/semop.rs b/kernel/src/syscall/semop.rs index 7c07de87a..fd473cbc4 100644 --- a/kernel/src/syscall/semop.rs +++ b/kernel/src/syscall/semop.rs @@ -57,10 +57,9 @@ fn do_sys_semtimedop( return_errno!(Errno::E2BIG); } + let user_space = ctx.get_user_space(); for i in 0..nsops { - let sem_buf = - CurrentUserSpace::get().read_val::(tsops + size_of::() * i)?; - + let sem_buf = user_space.read_val::(tsops + size_of::() * i)?; sem_op(sem_id, &sem_buf, timeout, ctx)?; }