1### Unreleased 2 3- Added `Uffd::read_events` that can read multiple events from the userfaultfd file descriptor. 4- Updated `bitflags` dependency to `2.2.1`. 5- Use `/dev/userfaultfd` as the default API for creating userfaultfd file descriptors. 6 7 Since Linux 5.11 a process can select if it wants to handle page faults triggered in kernel space 8 or not. Under this mechanism, processes that wish to handle those, need to have `CAP_SYS_PTRACE` 9 capability. `CAP_SYS_PTRACE` allows a process to do much more than create userfault fds, so with 10 6.1 Linux introduces `/dev/userfaultfd`, a special character device that allows creating 11 userfault file descriptors using the `USERFAULTFD_IOC_NEW` `ioctl`. Access to this device is 12 granted via file system permissions and does not require `CAP_SYS_PTRACE` to handle kernel 13 triggered page faults. 14 15 We now default to using `/dev/userfaultfd` for creating the descriptors and only if that file is 16 not present, we fall back to using the syscall. 17 18### 0.3.1 (2021-02-17) 19 20- Added support for the `UFFD_FEATURE_THREAD_ID` flag when compiled with the `linux4_14` Cargo 21 feature. 22 23### 0.3.0 (2021-02-03) 24 25- Update `bindgen` dependency of `userfaultfd-sys` to `0.57`. Thank you @jgowans 26 27### 0.2.1 (2020-11-20) 28 29- Make `ReadWrite` public. Thank you @electroCutie 30 31### 0.2.0 (2020-04-10) 32 33- Removed the compile-time Linux version check, and replaced it with a Cargo feature. 34 35 The Linux version check was overly restrictive, even on systems that did have the right kernel 36 version installed but had older headers in `/usr/include/linux`. Beyond that, this check made it 37 more difficult to compile on a different host than what's targeted. 38 39 There is now a `linux4_14` feature flag on `userfaultfd-sys`, which turns on and tests the extra 40 constants available in that version. Since `userfaultfd` did not make use of any of those newer 41 features, it doesn't have a feature flag yet. 42 43 Applications should take care when initializing with `UffdBuilder` to specify the features and 44 ioctls they require, so that an unsupported version will be detected at runtime. 45 46 47### 0.1.0 (2020-04-07) 48 49- Initial public release of userfaultfd-rs. 50