prlimit64_raw

Function prlimit64_raw 

Source
pub unsafe fn prlimit64_raw(
    pid: kernel_pid_t,
    resource: c_uint,
    new_rlim: *const rlimit64,
    old_rlim: *mut rlimit64,
) -> Result<(), Errno>
Expand description

Call the prlimit64 syscall

§Safety

Technically, calling this function can’t violate Safety in the rust-language sense. It’s been conservatively marked unsafe though, since in particular lowering resource limits may result in those limits being exceeded, and resource limits being exceeded can result in surprising behaviors that may terminate the process or exercise rarely-used error-handling paths - primarily receiving fatal-by-default signals or related syscalls failing.

Similarly, technically passing non-dereferenceable pointers doesn’t violate safety in this process - the kernel will safely fail to access them and return EFAULT.