diff --git a/src/sys/mman.rs b/src/sys/mman.rs index ac142316b1..8ffdde2787 100644 --- a/src/sys/mman.rs +++ b/src/sys/mman.rs @@ -439,7 +439,7 @@ pub unsafe fn mmap( libc::mmap(ptr, length.into(), prot.bits(), flags.bits(), fd, offset) }; - if ret == libc::MAP_FAILED { + if std::ptr::eq(ret, libc::MAP_FAILED) { Err(Errno::last()) } else { // SAFETY: `libc::mmap` returns a valid non-null pointer or `libc::MAP_FAILED`, thus `ret` @@ -471,7 +471,7 @@ pub unsafe fn mmap_anonymous( libc::mmap(ptr, length.into(), prot.bits(), flags.bits(), -1, 0) }; - if ret == libc::MAP_FAILED { + if std::ptr::eq(ret, libc::MAP_FAILED) { Err(Errno::last()) } else { // SAFETY: `libc::mmap` returns a valid non-null pointer or `libc::MAP_FAILED`, thus `ret` @@ -520,7 +520,7 @@ pub unsafe fn mremap( ) }; - if ret == libc::MAP_FAILED { + if std::ptr::eq(ret, libc::MAP_FAILED) { Err(Errno::last()) } else { // SAFETY: `libc::mremap` returns a valid non-null pointer or `libc::MAP_FAILED`, thus `ret` diff --git a/test/sys/test_sockopt.rs b/test/sys/test_sockopt.rs index 42697ffa24..3ffc89069a 100644 --- a/test/sys/test_sockopt.rs +++ b/test/sys/test_sockopt.rs @@ -241,6 +241,8 @@ fn test_so_type_unknown() { use nix::errno::Errno; require_capability!("test_so_type", CAP_NET_RAW); + // SOCK_PACKET is deprecated, but since it is used for testing here, we allow it + #[allow(deprecated)] let raw_fd = unsafe { libc::socket(libc::AF_PACKET, libc::SOCK_PACKET, 0) }; assert!(raw_fd >= 0, "Error opening socket: {}", nix::Error::last()); let sockfd = unsafe { OwnedFd::from_raw_fd(raw_fd) };