diff --git a/devices/src/proxy.rs b/devices/src/proxy.rs index 4afa7b38ce..5e22786d63 100644 --- a/devices/src/proxy.rs +++ b/devices/src/proxy.rs @@ -158,6 +158,9 @@ impl ProxyDevice { let debug_label_trimmed = &debug_label.as_bytes()[..std::cmp::min(max_len, debug_label.len())]; let thread_name = CString::new(debug_label_trimmed).unwrap(); + // TODO(crbug.com/1199487): remove this once libc provides the wrapper for all + // targets + #[cfg(all(target_os = "linux", target_env = "gnu"))] let _ = libc::pthread_setname_np(libc::pthread_self(), thread_name.as_ptr()); device.on_sandboxed(); child_proc(child_tube, &mut device); diff --git a/devices/src/virtio/fs/worker.rs b/devices/src/virtio/fs/worker.rs index 19fec1159c..65a47a9c67 100644 --- a/devices/src/virtio/fs/worker.rs +++ b/devices/src/virtio/fs/worker.rs @@ -188,18 +188,22 @@ impl Worker { // cases. const SECBIT_NO_SETUID_FIXUP: i32 = 1 << 2; - // Safe because this doesn't modify any memory and we check the return value. - let mut securebits = unsafe { libc::prctl(libc::PR_GET_SECUREBITS) }; - if securebits < 0 { - return Err(Error::GetSecurebits(io::Error::last_os_error())); - } + // TODO(crbug.com/1199487): Remove this once libc provides the wrapper for all targets. + #[cfg(target_os = "linux")] + { + // Safe because this doesn't modify any memory and we check the return value. + let mut securebits = unsafe { libc::prctl(libc::PR_GET_SECUREBITS) }; + if securebits < 0 { + return Err(Error::GetSecurebits(io::Error::last_os_error())); + } - securebits |= SECBIT_NO_SETUID_FIXUP; + securebits |= SECBIT_NO_SETUID_FIXUP; - // Safe because this doesn't modify any memory and we check the return value. - let ret = unsafe { libc::prctl(libc::PR_SET_SECUREBITS, securebits) }; - if ret < 0 { - return Err(Error::SetSecurebits(io::Error::last_os_error())); + // Safe because this doesn't modify any memory and we check the return value. + let ret = unsafe { libc::prctl(libc::PR_SET_SECUREBITS, securebits) }; + if ret < 0 { + return Err(Error::SetSecurebits(io::Error::last_os_error())); + } } #[derive(PollToken)]