From bfe7339816e23625c1fe669f0619400e5abde9e6 Mon Sep 17 00:00:00 2001 From: YdrMaster Date: Thu, 24 Mar 2022 16:51:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=20zircon=20=E4=B8=93?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zircon-syscall/src/futex.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zircon-syscall/src/futex.rs b/zircon-syscall/src/futex.rs index 726d7479..8ee7bbb5 100644 --- a/zircon-syscall/src/futex.rs +++ b/zircon-syscall/src/futex.rs @@ -19,7 +19,7 @@ impl Syscall<'_> { "futex.wait: value_ptr={:#x?}, current_value={:#x}, new_futex_owner={:#x}, deadline={:?}", value_ptr, current_value, new_futex_owner, deadline ); - if value_ptr.is_null() || value_ptr.as_ptr() as usize % 4 != 0 { + if value_ptr.is_null() || value_ptr.as_addr() % 4 != 0 { return Err(ZxError::INVALID_ARGS); } let value = value_ptr.as_ref()?; @@ -52,12 +52,12 @@ impl Syscall<'_> { "futex.requeue: value_ptr={:?}, wake_count={:#x}, current_value={:#x}, requeue_ptr={:?}, requeue_count={:#x}, new_requeue_owner={:?}", value_ptr, wake_count, current_value, requeue_ptr, requeue_count, new_requeue_owner ); - if value_ptr.is_null() || value_ptr.as_ptr() as usize % 4 != 0 { + if value_ptr.is_null() || value_ptr.as_addr() % 4 != 0 { return Err(ZxError::INVALID_ARGS); } let value = value_ptr.as_ref()?; let requeue = requeue_ptr.as_ref()?; - if value_ptr.as_ptr() == requeue_ptr.as_ptr() { + if value_ptr.as_addr() == requeue_ptr.as_addr() { return Err(ZxError::INVALID_ARGS); } let proc = self.thread.proc(); @@ -83,7 +83,7 @@ impl Syscall<'_> { /// > Waking up zero threads is not an error condition. Passing in an unallocated address for value_ptr is not an error condition. pub fn sys_futex_wake(&self, value_ptr: UserInPtr, count: u32) -> ZxResult { info!("futex.wake: value_ptr={:?}, count={:#x}", value_ptr, count); - if value_ptr.is_null() || value_ptr.as_ptr() as usize % 4 != 0 { + if value_ptr.is_null() || value_ptr.as_addr() % 4 != 0 { return Err(ZxError::INVALID_ARGS); } let value = value_ptr.as_ref()?; @@ -96,7 +96,7 @@ impl Syscall<'_> { /// Wake some number of threads waiting on a futex, and move more waiters to another wait queue. pub fn sys_futex_wake_single_owner(&self, value_ptr: UserInPtr) -> ZxResult { info!("futex.wake_single_owner: value_ptr={:?}", value_ptr); - if value_ptr.is_null() || value_ptr.as_ptr() as usize % 4 != 0 { + if value_ptr.is_null() || value_ptr.as_addr() % 4 != 0 { return Err(ZxError::INVALID_ARGS); } let value = value_ptr.as_ref()?;