(&mut self, start: usize, buf: &mut [MaybeUninit<u8>])
| 383 | } |
| 384 | |
| 385 | fn read(&mut self, start: usize, buf: &mut [MaybeUninit<u8>]) -> VmResult { |
| 386 | check_access(start, buf.len())?; |
| 387 | let failed_at = access_user_memory(|| unsafe { |
| 388 | user_copy(buf.as_mut_ptr() as *mut _, start as _, buf.len()) |
| 389 | }); |
| 390 | if unlikely(failed_at != 0) { |
| 391 | Err(VmError::AccessDenied) |
| 392 | } else { |
| 393 | Ok(()) |
| 394 | } |
| 395 | } |
| 396 | |
| 397 | fn write(&mut self, start: usize, buf: &[u8]) -> VmResult { |
| 398 | check_access(start, buf.len())?; |
no test coverage detected