@@ -3,9 +3,8 @@ use libc::{self, c_void};
3
3
use nix:: poll:: { poll, PollFd , PollFlags } ;
4
4
use nix:: sys:: mman:: { mmap, MapFlags , ProtFlags } ;
5
5
use nix:: unistd:: { sysconf, SysconfVar } ;
6
- use std:: env;
7
6
use std:: os:: unix:: io:: AsRawFd ;
8
- use std:: ptr ;
7
+ use std:: { convert :: TryInto , env } ;
9
8
use userfaultfd:: { Event , Uffd , UffdBuilder } ;
10
9
11
10
fn fault_handler_thread ( uffd : Uffd ) {
@@ -15,8 +14,8 @@ fn fault_handler_thread(uffd: Uffd) {
15
14
16
15
let page = unsafe {
17
16
mmap (
18
- ptr :: null_mut ( ) ,
19
- page_size,
17
+ None ,
18
+ page_size. try_into ( ) . unwrap ( ) ,
20
19
ProtFlags :: PROT_READ | ProtFlags :: PROT_WRITE ,
21
20
MapFlags :: MAP_PRIVATE | MapFlags :: MAP_ANONYMOUS ,
22
21
-1 ,
@@ -64,7 +63,7 @@ fn fault_handler_thread(uffd: Uffd) {
64
63
}
65
64
fault_cnt += 1 ;
66
65
67
- let dst = ( addr as usize & !( page_size as usize - 1 ) ) as * mut c_void ;
66
+ let dst = ( addr as usize & !( page_size - 1 ) ) as * mut c_void ;
68
67
let copy = unsafe { uffd. copy ( page, dst, page_size, true ) . expect ( "uffd copy" ) } ;
69
68
70
69
println ! ( " (uffdio_copy.copy returned {})" , copy) ;
@@ -98,8 +97,8 @@ fn main() {
98
97
99
98
let addr = unsafe {
100
99
mmap (
101
- ptr :: null_mut ( ) ,
102
- len,
100
+ None ,
101
+ len. try_into ( ) . unwrap ( ) ,
103
102
ProtFlags :: PROT_READ | ProtFlags :: PROT_WRITE ,
104
103
MapFlags :: MAP_PRIVATE | MapFlags :: MAP_ANONYMOUS ,
105
104
-1 ,
0 commit comments