Update userfaultfd-sys to 0.6.0
Test: mm
bug: b/43905887
Change-Id: I3f50d851d6ccd0fb0049b46b3f2f472e43cb5269
diff --git a/crates/userfaultfd-sys/.android-checksum.json b/crates/userfaultfd-sys/.android-checksum.json
index c799678..1499e38 100644
--- a/crates/userfaultfd-sys/.android-checksum.json
+++ b/crates/userfaultfd-sys/.android-checksum.json
@@ -1 +1 @@
-{"package":null,"files":{".cargo-checksum.json":"1c99072d02edc14b5f1c0c2560d7d2ad38ad212ffa3ef0407d8412ca1c5788df","Android.bp":"0225904823558da682cee37e5c9cc6ebecab9f90d6c6376463bb2cb0532902ea","Cargo.toml":"adcba1730aadfc614afe7e203e264b67d7c2b45dd8110d012aaa3e200443c20f","LICENSE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","METADATA":"8b6ae8d7483471c6d3e5aa1de516bb2a37d532be5a32fa805e64a369522c99b7","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","build.rs":"0617efd7fc5bb5e1d27fe375ec68c2753d1a9b4b07b9ebb81a74eb626d5336d8","cargo2android_consts.bp.fragment":"5ae1ef26ca569329661c3388bcd2f6bcb37487ee6582534d218ea49c6a9e0a22","cargo_embargo.json":"82a250e83f12c8b717c0b83a31b92c70a6b2039d2bc0d6d883ecab77f4b9837d","out/bindings.rs":"4f0533c81213cd946d7dfb2cd39621f6c126dd3004bb23107148a10aa3e94d87","patches/Android.bp.patch":"7e83d43d2af41a60aac2d917c5c6cc82b46acf209ef23c7668ea9e2d0c9976cb","patches/dont-compile-userfaultfd_sys_consts.patch":"02af347740ead910391d8c5893697c681dc8ab69e14298d3c658df41f0c6169e","src/consts.c":"72ef35bcfbb7110109a8e7442947db2e39c6024ebc6b9726e713d7b6e69e41ae","src/lib.rs":"83e6998e54c31d5716a8af141fb1daf11931ccfd50d3c867392df989851f5db8","src/linux4_11.rs":"a4069918b7e67cdbbb9204cc62ccfc9087ff5bdaacd8e79aa0b9db6efed0c88b","src/linux4_14.rs":"92bf6df0a6a403c1832ad63c22c92953bcc60f2857a442c85325a3792b63d6bd","src/linux5_7.rs":"36565db79be872b869555bf05a49f714d8e9c2f21b94a1418a54a27d40e79d37","wrapper.h":"83cc7b85f35297dc44ef7ccd00c813d117c67f674f95452b2bd58f7043c48cbe"}}
\ No newline at end of file
+{"package":null,"files":{".cargo-checksum.json":"c8dba82ac8f4024c8b1b02f0623a694f39a08d970082ac710afa56fff4bd92ff","Android.bp":"9106052c37ef7c211eebb17dccbaee9fb54cc6a41921904548a303e6fdcae95a","Cargo.lock":"3428a08f5efcd0473a3de5ca644d307df482db5986b605a089e80e50832b3582","Cargo.toml":"86d9f68e801cb5450b3a27cd8148184ae5c9ec3439158f0fe3367691793ed8eb","LICENSE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","LICENSE-APACHE":"50f827348bfd5def2df4f30cb41264072cf9c180bd9ed698437e8d85b2482754","METADATA":"0285057de9439f8e7b8577079cdfdb4ed99ff0a240c4a938f6cf130e25ec0601","MODULE_LICENSE_APACHE2":"0d6f8afa3940b7f06bebee651376d43bc8b0d5b437337be2696d30377451e93a","build.rs":"0617efd7fc5bb5e1d27fe375ec68c2753d1a9b4b07b9ebb81a74eb626d5336d8","cargo2android_consts.bp.fragment":"5ae1ef26ca569329661c3388bcd2f6bcb37487ee6582534d218ea49c6a9e0a22","cargo_embargo.json":"82a250e83f12c8b717c0b83a31b92c70a6b2039d2bc0d6d883ecab77f4b9837d","out/bindings.rs":"8334d543c8889f86c85bab4e3e523ffa116238fae04bb2e5a62b0d3f7e2c09b1","patches/Android.bp.patch":"7e83d43d2af41a60aac2d917c5c6cc82b46acf209ef23c7668ea9e2d0c9976cb","patches/dont-compile-userfaultfd_sys_consts.patch":"02af347740ead910391d8c5893697c681dc8ab69e14298d3c658df41f0c6169e","src/consts.c":"254481c9908c00d8d5cf705e0c58d03b08f97ce35fc6a75d6eb24f2e46b55126","src/lib.rs":"773a5966dae45876af94495d3207d12f2a4c03d5970170696b433cde15f84fd3","src/linux4_11.rs":"bfac9a1ce581c9e891470455c70ca12436d19e279db5bc60984043ca9f534bd7","src/linux4_14.rs":"49ec40f5219277ba4e27cfcac72d911c1746f1dd1b99c3575c95687953d1bc6a","src/linux5_13.rs":"b130a7c54a6fe30532ac5a16ebcdb9c5dc276c20c59a2d6411b4158261ca8b86","src/linux5_7.rs":"236a2706bf779e42f113294cd761398b6bffb7c3cfe9cb752bf05c45747126a5","wrapper.h":"83cc7b85f35297dc44ef7ccd00c813d117c67f674f95452b2bd58f7043c48cbe"}}
\ No newline at end of file
diff --git a/crates/userfaultfd-sys/.cargo-checksum.json b/crates/userfaultfd-sys/.cargo-checksum.json
index 88ed615..a33b453 100644
--- a/crates/userfaultfd-sys/.cargo-checksum.json
+++ b/crates/userfaultfd-sys/.cargo-checksum.json
@@ -1 +1 @@
-{"files":{"Cargo.toml":"f9ebc1694b8a7de4b7da6d6e5ccb3c964919eacb591c38fa408f112ce60ead94","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","build.rs":"bb5953a032e0eaddd9ab97690ecfb9595e7881eede2f5d728a7349d9469ea9d7","src/consts.c":"2d1436b582578c8aaedcafa3f317f784be748636f168e77e95862065f92c32a1","src/lib.rs":"18d7ecbc84b4986ed398eafcb0b0d589f5872e60508f0ca0da6e13dfc0d87f2e","src/linux4_11.rs":"30aa9382aa4d9dfcc009571017a5a3b996ad63c9f5dad3a4a8781ac852a47747","src/linux4_14.rs":"e6966141f8533a3f13f0bb0fb7f342aba86c6b447434e412856632f656ab0a69","src/linux5_7.rs":"5f37fe80604ec339a5fb0aad25e34726405b69cd1114dcd60aa2850a3d65e019","wrapper.h":"4df51db7e0c89c77138a8249cd5085d34ac0ff8d105b2b53047c98ab13ebaf2d"},"package":"d75595d2a62b7db16bd47f5a1ce14e1fe05ccbe27d6c96721a958e0a027cad41"}
\ No newline at end of file
+{"files":{"Cargo.lock":"112efeaa8de66e7e70429f3abc1ec6aa0f313bf0031dedb27a7a464e39ac236c","Cargo.toml":"7d32833fff4c90cf8a8de6fe5bb792fe548bd8e11fd7d120dc64cfd069927ef2","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","build.rs":"bb5953a032e0eaddd9ab97690ecfb9595e7881eede2f5d728a7349d9469ea9d7","src/consts.c":"71ae1b2834ff2e2e53bfe92cf6682509980771215a213d06116c39bc77bae7cf","src/lib.rs":"7b22aa447d8b12f0842c15e6ff1b07fc616ecd2de3cb9cb5675bb976e9704d0d","src/linux4_11.rs":"5d6b37ddcb83c630e40ec4b0447404003c8d0da71ee5e6d459ded213698d043b","src/linux4_14.rs":"fbedb8b359f8afb9861922f6c8010ec6507316b3a57518cacbd3e08277597c95","src/linux5_13.rs":"e8f246239299476eaa5fecf8f019943ab158af016fb190e4ff8c8947bf2d7f0b","src/linux5_7.rs":"a78d35ddfcad72a97da7c64ac571008c62f2dff35cb64f88d2524d3d0416ed62","wrapper.h":"4df51db7e0c89c77138a8249cd5085d34ac0ff8d105b2b53047c98ab13ebaf2d"},"package":"dc91d95a797a81604af22946d0e86656f27feb0b9665c60665cf3554df12d1a8"}
\ No newline at end of file
diff --git a/crates/userfaultfd-sys/Android.bp b/crates/userfaultfd-sys/Android.bp
index 758e172..162f941 100644
--- a/crates/userfaultfd-sys/Android.bp
+++ b/crates/userfaultfd-sys/Android.bp
@@ -25,7 +25,7 @@
host_supported: true,
crate_name: "userfaultfd_sys",
cargo_env_compat: true,
- cargo_pkg_version: "0.5.0",
+ cargo_pkg_version: "0.6.0",
crate_root: "src/lib.rs",
srcs: [":copy_userfaultfd-sys_build_out"],
edition: "2018",
diff --git a/crates/userfaultfd-sys/Cargo.lock b/crates/userfaultfd-sys/Cargo.lock
new file mode 100644
index 0000000..3f4db08
--- /dev/null
+++ b/crates/userfaultfd-sys/Cargo.lock
@@ -0,0 +1,300 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "aho-corasick"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags",
+ "cexpr",
+ "clang-sys",
+ "itertools",
+ "lazy_static",
+ "lazycell",
+ "proc-macro2",
+ "quote",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn",
+]
+
+[[package]]
+name = "bitflags"
+version = "2.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29"
+
+[[package]]
+name = "cc"
+version = "1.2.33"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ee0f8803222ba5a7e2777dd72ca451868909b1ac410621b676adf07280e9b5f"
+dependencies = [
+ "shlex",
+]
+
+[[package]]
+name = "cexpr"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
+dependencies = [
+ "nom",
+]
+
+[[package]]
+name = "cfg-if"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
+
+[[package]]
+name = "clang-sys"
+version = "1.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4"
+dependencies = [
+ "glob",
+ "libc",
+ "libloading",
+]
+
+[[package]]
+name = "either"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
+
+[[package]]
+name = "glob"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280"
+
+[[package]]
+name = "itertools"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
+dependencies = [
+ "either",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+
+[[package]]
+name = "lazycell"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
+
+[[package]]
+name = "libc"
+version = "0.2.175"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543"
+
+[[package]]
+name = "libloading"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
+dependencies = [
+ "cfg-if",
+ "windows-targets",
+]
+
+[[package]]
+name = "memchr"
+version = "2.7.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
+
+[[package]]
+name = "minimal-lexical"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+
+[[package]]
+name = "nom"
+version = "7.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
+dependencies = [
+ "memchr",
+ "minimal-lexical",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "regex"
+version = "1.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-automata"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
+
+[[package]]
+name = "rustc-hash"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+[[package]]
+name = "syn"
+version = "2.0.106"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+
+[[package]]
+name = "userfaultfd-sys"
+version = "0.6.0"
+dependencies = [
+ "bindgen",
+ "cc",
+ "cfg-if",
+]
+
+[[package]]
+name = "windows-link"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
+
+[[package]]
+name = "windows-targets"
+version = "0.53.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91"
+dependencies = [
+ "windows-link",
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_gnullvm",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3"
+
+[[package]]
+name = "windows_i686_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.53.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486"
diff --git a/crates/userfaultfd-sys/Cargo.toml b/crates/userfaultfd-sys/Cargo.toml
index 110da27..10da5e8 100644
--- a/crates/userfaultfd-sys/Cargo.toml
+++ b/crates/userfaultfd-sys/Cargo.toml
@@ -12,25 +12,36 @@
[package]
edition = "2018"
name = "userfaultfd-sys"
-version = "0.5.0"
+version = "0.6.0"
authors = ["The Wasmtime Project Developers"]
build = "build.rs"
+autolib = false
+autobins = false
+autoexamples = false
+autotests = false
+autobenches = false
description = "Low-level bindings for userfaultfd functionality on Linux."
+readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/bytecodealliance/userfaultfd-rs"
+[features]
+default = []
+linux4_14 = []
+linux5_13 = ["linux5_7"]
+linux5_7 = ["linux4_14"]
+
+[lib]
+name = "userfaultfd_sys"
+path = "src/lib.rs"
+
[dependencies.cfg-if]
version = "^1.0.0"
[build-dependencies.bindgen]
-version = "^0.68.1"
+version = "^0.69.2"
features = ["runtime"]
default-features = false
[build-dependencies.cc]
version = "1.0"
-
-[features]
-default = []
-linux4_14 = []
-linux5_7 = []
diff --git a/crates/userfaultfd-sys/METADATA b/crates/userfaultfd-sys/METADATA
index 2fefde7..334c61e 100644
--- a/crates/userfaultfd-sys/METADATA
+++ b/crates/userfaultfd-sys/METADATA
@@ -1,17 +1,17 @@
name: "userfaultfd-sys"
description: "Low-level bindings for userfaultfd functionality on Linux."
third_party {
- version: "0.5.0"
+ version: "0.6.0"
license_type: NOTICE
last_upgrade_date {
- year: 2023
- month: 12
- day: 16
+ year: 2025
+ month: 8
+ day: 19
}
homepage: "https://crates.io/crates/userfaultfd-sys"
identifier {
type: "Archive"
- value: "https://static.crates.io/crates/userfaultfd-sys/userfaultfd-sys-0.5.0.crate"
- version: "0.5.0"
+ value: "https://static.crates.io/crates/userfaultfd-sys/userfaultfd-sys-0.6.0.crate"
+ version: "0.6.0"
}
}
diff --git a/crates/userfaultfd-sys/out/bindings.rs b/crates/userfaultfd-sys/out/bindings.rs
index 2c559b8..c012d6f 100644
--- a/crates/userfaultfd-sys/out/bindings.rs
+++ b/crates/userfaultfd-sys/out/bindings.rs
@@ -1,4 +1,4 @@
-/* automatically generated by rust-bindgen 0.68.1 */
+/* automatically generated by rust-bindgen 0.69.5 */
pub const __BITS_PER_LONG_LONG: u32 = 64;
pub const USERFAULTFD_IOC: u32 = 170;
diff --git a/crates/userfaultfd-sys/src/consts.c b/crates/userfaultfd-sys/src/consts.c
index df78dbb..7969a56 100644
--- a/crates/userfaultfd-sys/src/consts.c
+++ b/crates/userfaultfd-sys/src/consts.c
@@ -30,6 +30,10 @@
const __u64 _const_UFFDIO_REGISTER_MODE_WP = UFFDIO_REGISTER_MODE_WP;
#endif
+#ifdef UFFDIO_REGISTER_MODE_MINOR
+const __u64 _const_UFFDIO_REGISTER_MODE_MINOR = UFFDIO_REGISTER_MODE_MINOR;
+#endif
+
#ifdef UFFDIO_COPY_MODE_DONTWAKE
const __u64 _const_UFFDIO_COPY_MODE_DONTWAKE = UFFDIO_COPY_MODE_DONTWAKE;
#endif
@@ -42,6 +46,18 @@
const __u64 _const_UFFDIO_ZEROPAGE_MODE_DONTWAKE = UFFDIO_ZEROPAGE_MODE_DONTWAKE;
#endif
+#ifdef UFFDIO_WRITEPROTECT_MODE_WP
+const __u64 _const_UFFDIO_WRITEPROTECT_MODE_WP = UFFDIO_WRITEPROTECT_MODE_WP;
+#endif
+
+#ifdef UFFDIO_CONTINUE_MODE_DONTWAKE
+const __u64 _const_UFFDIO_CONTINUE_MODE_DONTWAKE = UFFDIO_CONTINUE_MODE_DONTWAKE;
+#endif
+
+#ifdef UFFDIO_WRITEPROTECT_MODE_DONTWAKE
+const __u64 _const_UFFDIO_WRITEPROTECT_MODE_DONTWAKE = UFFDIO_WRITEPROTECT_MODE_DONTWAKE;
+#endif
+
#ifdef UFFDIO_API
const __u32 _const_UFFDIO_API = UFFDIO_API;
#endif
@@ -70,6 +86,10 @@
const __u32 _const_UFFDIO_WRITEPROTECT = UFFDIO_WRITEPROTECT;
#endif
+#ifdef UFFDIO_CONTINUE
+const __u32 _const_UFFDIO_CONTINUE = UFFDIO_CONTINUE;
+#endif
+
#ifdef USERFAULTFD_IOC
const __u32 _const_USERFAULTFD_IOC = USERFAULTFD_IOC;
#endif
diff --git a/crates/userfaultfd-sys/src/lib.rs b/crates/userfaultfd-sys/src/lib.rs
index 7164db2..37d80ed 100644
--- a/crates/userfaultfd-sys/src/lib.rs
+++ b/crates/userfaultfd-sys/src/lib.rs
@@ -9,18 +9,57 @@
use cfg_if::cfg_if;
+mod linux4_11;
+#[cfg(feature = "linux4_14")]
+mod linux4_14;
+#[cfg(feature = "linux5_7")]
+mod linux5_7;
+
+#[cfg(feature = "linux5_13")]
+mod linux5_13;
+
cfg_if! {
- if #[cfg(feature = "linux5_7")] {
- mod linux5_7;
+ if #[cfg(feature = "linux5_13")] {
+ pub use crate::linux5_13::*;
+ } else if #[cfg(feature = "linux5_7")] {
pub use crate::linux5_7::*;
- }
- else if #[cfg(feature = "linux4_14")] {
- mod linux4_14;
+ } else if #[cfg(feature = "linux4_14")] {
pub use crate::linux4_14::*;
} else {
- mod linux4_11;
pub use crate::linux4_11::*;
}
}
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
+
+#[cfg(test)]
+mod const_tests {
+ use super::*;
+
+ extern "C" {
+ static _const_UFFD_API_FEATURES: u64;
+ static _const_UFFD_API_RANGE_IOCTLS: u64;
+ static _const_UFFD_API_RANGE_IOCTLS_BASIC: u64;
+ }
+
+ #[test]
+ fn consts_correct() {
+ unsafe {
+ assert_eq!(
+ UFFD_API_FEATURES & _const_UFFD_API_FEATURES,
+ UFFD_API_FEATURES,
+ "UFFD_API_FEATURES"
+ );
+ assert_eq!(
+ UFFD_API_RANGE_IOCTLS & _const_UFFD_API_RANGE_IOCTLS,
+ UFFD_API_RANGE_IOCTLS,
+ "UFFD_API_RANGE_IOCTLS"
+ );
+ assert_eq!(
+ UFFD_API_RANGE_IOCTLS_BASIC & _const_UFFD_API_RANGE_IOCTLS_BASIC,
+ UFFD_API_RANGE_IOCTLS_BASIC,
+ "UFFD_API_RANGE_IOCTLS_BASIC"
+ );
+ }
+ }
+}
diff --git a/crates/userfaultfd-sys/src/linux4_11.rs b/crates/userfaultfd-sys/src/linux4_11.rs
index fab13a2..2df0cf5 100644
--- a/crates/userfaultfd-sys/src/linux4_11.rs
+++ b/crates/userfaultfd-sys/src/linux4_11.rs
@@ -14,6 +14,7 @@
pub const UFFD_API_IOCTLS: u64 = 1 << _UFFDIO_REGISTER | 1 << _UFFDIO_UNREGISTER | 1 << _UFFDIO_API;
pub const UFFD_API_RANGE_IOCTLS: u64 =
1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY | 1 << _UFFDIO_ZEROPAGE;
+pub const UFFD_API_RANGE_IOCTLS_BASIC: u64 = 0;
pub const UFFDIO_REGISTER_MODE_MISSING: u64 = 1 << 0;
pub const UFFDIO_REGISTER_MODE_WP: u64 = 1 << 1;
@@ -29,7 +30,6 @@
pub const UFFDIO_WAKE: u32 = 0x8010aa02;
pub const UFFDIO_COPY: u32 = 0xc028aa03;
pub const UFFDIO_ZEROPAGE: u32 = 0xc020aa04;
-pub const UFFDIO_WRITEPROTECT: u32 = 0xc018aa06;
#[cfg(test)]
mod const_tests {
@@ -37,7 +37,6 @@
extern "C" {
static _const_UFFD_API: u64;
- static _const_UFFD_API_FEATURES: u64;
static _const_UFFD_API_IOCTLS: u64;
static _const_UFFD_API_RANGE_IOCTLS: u64;
static _const_UFFDIO_REGISTER_MODE_MISSING: u64;
@@ -51,23 +50,14 @@
static _const_UFFDIO_WAKE: u32;
static _const_UFFDIO_COPY: u32;
static _const_UFFDIO_ZEROPAGE: u32;
- static _const_UFFDIO_WRITEPROTECT: u32;
}
#[test]
fn consts_correct() {
unsafe {
assert_eq!(UFFD_API, _const_UFFD_API, "UFFD_API");
- assert_eq!(
- UFFD_API_FEATURES, _const_UFFD_API_FEATURES,
- "UFFD_API_FEATURES"
- );
assert_eq!(UFFD_API_IOCTLS, _const_UFFD_API_IOCTLS, "UFFD_API_IOCTLS");
assert_eq!(
- UFFD_API_RANGE_IOCTLS, _const_UFFD_API_RANGE_IOCTLS,
- "UFFD_API_RANGE_IOCTLS"
- );
- assert_eq!(
UFFDIO_REGISTER_MODE_MISSING, _const_UFFDIO_REGISTER_MODE_MISSING,
"UFFDIO_REGISTER_MODE_MISSING"
);
@@ -96,10 +86,6 @@
assert_eq!(UFFDIO_WAKE, _const_UFFDIO_WAKE, "UFFDIO_WAKE");
assert_eq!(UFFDIO_COPY, _const_UFFDIO_COPY, "UFFDIO_COPY");
assert_eq!(UFFDIO_ZEROPAGE, _const_UFFDIO_ZEROPAGE, "UFFDIO_ZEROPAGE");
- assert_eq!(
- UFFDIO_WRITEPROTECT, _const_UFFDIO_WRITEPROTECT,
- "UFFDIO_WRITEPROTECT"
- );
}
}
}
diff --git a/crates/userfaultfd-sys/src/linux4_14.rs b/crates/userfaultfd-sys/src/linux4_14.rs
index d485171..be5d331 100644
--- a/crates/userfaultfd-sys/src/linux4_14.rs
+++ b/crates/userfaultfd-sys/src/linux4_14.rs
@@ -1,113 +1,16 @@
use super::*;
+pub use linux4_11::{
+ UFFDIO_API, UFFDIO_COPY, UFFDIO_COPY_MODE_DONTWAKE, UFFDIO_COPY_MODE_WP, UFFDIO_REGISTER,
+ UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP, UFFDIO_UNREGISTER, UFFDIO_WAKE,
+ UFFDIO_ZEROPAGE, UFFDIO_ZEROPAGE_MODE_DONTWAKE, UFFD_API, UFFD_API_IOCTLS,
+ UFFD_API_RANGE_IOCTLS,
+};
+
// The following are preprocessor constants that bindgen can't figure out, so we enter them manually
// from <linux/userfaultfd.h>, and have tests to make sure they're accurate.
-pub const UFFD_API: u64 = 0xAA;
-
-pub const UFFD_API_FEATURES: u64 = UFFD_FEATURE_EVENT_FORK
- | UFFD_FEATURE_EVENT_REMAP
- | UFFD_FEATURE_EVENT_REMOVE
- | UFFD_FEATURE_EVENT_UNMAP
- | UFFD_FEATURE_MISSING_HUGETLBFS
- | UFFD_FEATURE_MISSING_SHMEM
- | UFFD_FEATURE_SIGBUS
- | UFFD_FEATURE_THREAD_ID;
-pub const UFFD_API_IOCTLS: u64 = 1 << _UFFDIO_REGISTER | 1 << _UFFDIO_UNREGISTER | 1 << _UFFDIO_API;
-pub const UFFD_API_RANGE_IOCTLS: u64 =
- 1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY | 1 << _UFFDIO_ZEROPAGE;
-pub const UFFD_API_RANGE_IOCTLS_BASIC: u64 = 1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY;
-
-pub const UFFDIO_REGISTER_MODE_MISSING: u64 = 1 << 0;
-pub const UFFDIO_REGISTER_MODE_WP: u64 = 1 << 1;
-
-pub const UFFDIO_COPY_MODE_DONTWAKE: u64 = 1 << 0;
-pub const UFFDIO_COPY_MODE_WP: u64 = 1 << 1;
-
-pub const UFFDIO_ZEROPAGE_MODE_DONTWAKE: u64 = 1 << 0;
-
-pub const UFFDIO_API: u32 = 0xc018aa3f;
-pub const UFFDIO_REGISTER: u32 = 0xc020aa00;
-pub const UFFDIO_UNREGISTER: u32 = 0x8010aa01;
-pub const UFFDIO_WAKE: u32 = 0x8010aa02;
-pub const UFFDIO_COPY: u32 = 0xc028aa03;
-pub const UFFDIO_ZEROPAGE: u32 = 0xc020aa04;
-pub const UFFDIO_WRITEPROTECT: u32 = 0xc018aa06;
-
-#[cfg(test)]
-mod const_tests {
- use super::*;
-
- extern "C" {
- static _const_UFFD_API: u64;
- static _const_UFFD_API_FEATURES: u64;
- static _const_UFFD_API_IOCTLS: u64;
- static _const_UFFD_API_RANGE_IOCTLS: u64;
- static _const_UFFD_API_RANGE_IOCTLS_BASIC: u64;
- static _const_UFFDIO_REGISTER_MODE_MISSING: u64;
- static _const_UFFDIO_REGISTER_MODE_WP: u64;
- static _const_UFFDIO_COPY_MODE_DONTWAKE: u64;
- static _const_UFFDIO_COPY_MODE_WP: u64;
- static _const_UFFDIO_ZEROPAGE_MODE_DONTWAKE: u64;
- static _const_UFFDIO_API: u32;
- static _const_UFFDIO_REGISTER: u32;
- static _const_UFFDIO_UNREGISTER: u32;
- static _const_UFFDIO_WAKE: u32;
- static _const_UFFDIO_COPY: u32;
- static _const_UFFDIO_ZEROPAGE: u32;
- static _const_UFFDIO_WRITEPROTECT: u32;
- }
-
- #[test]
- fn consts_correct() {
- unsafe {
- assert_eq!(UFFD_API, _const_UFFD_API, "UFFD_API");
- assert_eq!(
- UFFD_API_FEATURES, _const_UFFD_API_FEATURES,
- "UFFD_API_FEATURES"
- );
- assert_eq!(UFFD_API_IOCTLS, _const_UFFD_API_IOCTLS, "UFFD_API_IOCTLS");
- assert_eq!(
- UFFD_API_RANGE_IOCTLS, _const_UFFD_API_RANGE_IOCTLS,
- "UFFD_API_RANGE_IOCTLS"
- );
- assert_eq!(
- UFFD_API_RANGE_IOCTLS_BASIC, _const_UFFD_API_RANGE_IOCTLS_BASIC,
- "UFFD_API_RANGE_IOCTLS_BASIC"
- );
- assert_eq!(
- UFFDIO_REGISTER_MODE_MISSING, _const_UFFDIO_REGISTER_MODE_MISSING,
- "UFFDIO_REGISTER_MODE_MISSING"
- );
- assert_eq!(
- UFFDIO_REGISTER_MODE_WP, _const_UFFDIO_REGISTER_MODE_WP,
- "UFFDIO_REGISTER_MODE_WP"
- );
- assert_eq!(
- UFFDIO_COPY_MODE_DONTWAKE, _const_UFFDIO_COPY_MODE_DONTWAKE,
- "UFFDIO_COPY_MODE_DONTWAKE"
- );
- assert_eq!(
- UFFDIO_COPY_MODE_WP, _const_UFFDIO_COPY_MODE_WP,
- "UFFDIO_COPY_MODE_WP"
- );
- assert_eq!(
- UFFDIO_ZEROPAGE_MODE_DONTWAKE, _const_UFFDIO_ZEROPAGE_MODE_DONTWAKE,
- "UFFDIO_ZEROPAGE_MODE_DONTWAKE"
- );
- assert_eq!(UFFDIO_API, _const_UFFDIO_API, "UFFDIO_API");
- assert_eq!(UFFDIO_REGISTER, _const_UFFDIO_REGISTER, "UFFDIO_REGISTER");
- assert_eq!(
- UFFDIO_UNREGISTER, _const_UFFDIO_UNREGISTER,
- "UFFDIO_UNREGISTER"
- );
- assert_eq!(UFFDIO_WAKE, _const_UFFDIO_WAKE, "UFFDIO_WAKE");
- assert_eq!(UFFDIO_COPY, _const_UFFDIO_COPY, "UFFDIO_COPY");
- assert_eq!(UFFDIO_ZEROPAGE, _const_UFFDIO_ZEROPAGE, "UFFDIO_ZEROPAGE");
- assert_eq!(
- UFFDIO_WRITEPROTECT, _const_UFFDIO_WRITEPROTECT,
- "UFFDIO_WRITEPROTECT"
- );
- }
- }
-}
+pub const UFFD_API_FEATURES: u64 =
+ linux4_11::UFFD_API_FEATURES | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID;
+pub const UFFD_API_RANGE_IOCTLS_BASIC: u64 =
+ linux4_11::UFFD_API_RANGE_IOCTLS_BASIC | 1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY;
diff --git a/crates/userfaultfd-sys/src/linux5_13.rs b/crates/userfaultfd-sys/src/linux5_13.rs
new file mode 100644
index 0000000..23ac209
--- /dev/null
+++ b/crates/userfaultfd-sys/src/linux5_13.rs
@@ -0,0 +1,43 @@
+use super::*;
+
+pub use linux5_7::{
+ UFFDIO_API, UFFDIO_COPY, UFFDIO_COPY_MODE_DONTWAKE, UFFDIO_COPY_MODE_WP, UFFDIO_REGISTER,
+ UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP, UFFDIO_UNREGISTER, UFFDIO_WAKE,
+ UFFDIO_WRITEPROTECT, UFFDIO_WRITEPROTECT_MODE_DONTWAKE, UFFDIO_WRITEPROTECT_MODE_WP,
+ UFFDIO_ZEROPAGE, UFFDIO_ZEROPAGE_MODE_DONTWAKE, UFFD_API, UFFD_API_FEATURES, UFFD_API_IOCTLS,
+ UFFD_API_RANGE_IOCTLS_BASIC,
+};
+
+pub const UFFD_API_RANGE_IOCTLS: u64 = linux5_7::UFFD_API_RANGE_IOCTLS | 1 << _UFFDIO_CONTINUE;
+
+pub const UFFDIO_REGISTER_MODE_MINOR: u64 = 1 << 2;
+
+pub const UFFDIO_CONTINUE_MODE_DONTWAKE: u64 = 1 << 0;
+
+pub const UFFDIO_CONTINUE: u32 = 0xc020aa07;
+
+#[cfg(test)]
+mod const_tests {
+ use super::*;
+
+ extern "C" {
+ static _const_UFFDIO_REGISTER_MODE_MINOR: u64;
+ static _const_UFFDIO_CONTINUE_MODE_DONTWAKE: u64;
+ static _const_UFFDIO_CONTINUE: u32;
+ }
+
+ #[test]
+ fn consts_correct() {
+ unsafe {
+ assert_eq!(
+ UFFDIO_REGISTER_MODE_MINOR, _const_UFFDIO_REGISTER_MODE_MINOR,
+ "UFFDIO_REGISTER_MODE_MINOR"
+ );
+ assert_eq!(
+ UFFDIO_CONTINUE_MODE_DONTWAKE, _const_UFFDIO_CONTINUE_MODE_DONTWAKE,
+ "UFFDIO_CONTINUE_MODE_DONTWAKE"
+ );
+ assert_eq!(UFFDIO_CONTINUE, _const_UFFDIO_CONTINUE, "UFFDIO_CONTINUE");
+ }
+ }
+}
diff --git a/crates/userfaultfd-sys/src/linux5_7.rs b/crates/userfaultfd-sys/src/linux5_7.rs
index 05e43fc..5cac710 100644
--- a/crates/userfaultfd-sys/src/linux5_7.rs
+++ b/crates/userfaultfd-sys/src/linux5_7.rs
@@ -1,40 +1,20 @@
use super::*;
+pub use linux4_14::{
+ UFFDIO_API, UFFDIO_COPY, UFFDIO_COPY_MODE_DONTWAKE, UFFDIO_COPY_MODE_WP, UFFDIO_REGISTER,
+ UFFDIO_REGISTER_MODE_MISSING, UFFDIO_REGISTER_MODE_WP, UFFDIO_UNREGISTER, UFFDIO_WAKE,
+ UFFDIO_ZEROPAGE, UFFDIO_ZEROPAGE_MODE_DONTWAKE, UFFD_API, UFFD_API_FEATURES, UFFD_API_IOCTLS,
+ UFFD_API_RANGE_IOCTLS_BASIC,
+};
+
// The following are preprocessor constants that bindgen can't figure out, so we enter them manually
// from <linux/userfaultfd.h>, and have tests to make sure they're accurate.
-pub const UFFD_API: u64 = 0xAA;
+pub const UFFD_API_RANGE_IOCTLS: u64 = linux4_14::UFFD_API_RANGE_IOCTLS | 1 << _UFFDIO_WRITEPROTECT;
-pub const UFFD_API_FEATURES: u64 = UFFD_FEATURE_PAGEFAULT_FLAG_WP
- | UFFD_FEATURE_EVENT_FORK
- | UFFD_FEATURE_EVENT_REMAP
- | UFFD_FEATURE_EVENT_REMOVE
- | UFFD_FEATURE_EVENT_UNMAP
- | UFFD_FEATURE_MISSING_HUGETLBFS
- | UFFD_FEATURE_MISSING_SHMEM
- | UFFD_FEATURE_SIGBUS
- | UFFD_FEATURE_THREAD_ID;
-pub const UFFD_API_IOCTLS: u64 = 1 << _UFFDIO_REGISTER | 1 << _UFFDIO_UNREGISTER | 1 << _UFFDIO_API;
-
-pub const UFFD_API_RANGE_IOCTLS: u64 =
- 1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY | 1 << _UFFDIO_ZEROPAGE | 1 << _UFFDIO_WRITEPROTECT;
-
-pub const UFFD_API_RANGE_IOCTLS_BASIC: u64 = 1 << _UFFDIO_WAKE | 1 << _UFFDIO_COPY;
-
-pub const UFFDIO_REGISTER_MODE_MISSING: u64 = 1 << 0;
-pub const UFFDIO_REGISTER_MODE_WP: u64 = 1 << 1;
-pub const UFFDIO_COPY_MODE_DONTWAKE: u64 = 1 << 0;
-pub const UFFDIO_COPY_MODE_WP: u64 = 1 << 1;
-pub const UFFDIO_ZEROPAGE_MODE_DONTWAKE: u64 = 1 << 0;
pub const UFFDIO_WRITEPROTECT_MODE_WP: u64 = 1 << 0;
pub const UFFDIO_WRITEPROTECT_MODE_DONTWAKE: u64 = 1 << 1;
-pub const UFFDIO_API: u32 = 0xc018aa3f;
-pub const UFFDIO_REGISTER: u32 = 0xc020aa00;
-pub const UFFDIO_UNREGISTER: u32 = 0x8010aa01;
-pub const UFFDIO_WAKE: u32 = 0x8010aa02;
-pub const UFFDIO_COPY: u32 = 0xc028aa03;
-pub const UFFDIO_ZEROPAGE: u32 = 0xc020aa04;
pub const UFFDIO_WRITEPROTECT: u32 = 0xc018aa06;
#[cfg(test)]
@@ -42,72 +22,23 @@
use super::*;
extern "C" {
- static _const_UFFD_API: u64;
- static _const_UFFD_API_FEATURES: u64;
- static _const_UFFD_API_IOCTLS: u64;
- static _const_UFFD_API_RANGE_IOCTLS: u64;
- static _const_UFFD_API_RANGE_IOCTLS_BASIC: u64;
- static _const_UFFDIO_REGISTER_MODE_MISSING: u64;
- static _const_UFFDIO_REGISTER_MODE_WP: u64;
- static _const_UFFDIO_COPY_MODE_DONTWAKE: u64;
- static _const_UFFDIO_COPY_MODE_WP: u64;
- static _const_UFFDIO_ZEROPAGE_MODE_DONTWAKE: u64;
- static _const_UFFDIO_API: u32;
- static _const_UFFDIO_REGISTER: u32;
- static _const_UFFDIO_UNREGISTER: u32;
- static _const_UFFDIO_WAKE: u32;
- static _const_UFFDIO_COPY: u32;
- static _const_UFFDIO_ZEROPAGE: u32;
+ static _const_UFFDIO_WRITEPROTECT_MODE_WP: u64;
+ static _const_UFFDIO_WRITEPROTECT_MODE_DONTWAKE: u64;
static _const_UFFDIO_WRITEPROTECT: u32;
}
#[test]
fn consts_correct() {
unsafe {
- assert_eq!(UFFD_API, _const_UFFD_API, "UFFD_API");
assert_eq!(
- UFFD_API_FEATURES, _const_UFFD_API_FEATURES,
- "UFFD_API_FEATURES"
- );
- assert_eq!(UFFD_API_IOCTLS, _const_UFFD_API_IOCTLS, "UFFD_API_IOCTLS");
- assert_eq!(
- UFFD_API_RANGE_IOCTLS, _const_UFFD_API_RANGE_IOCTLS,
- "UFFD_API_RANGE_IOCTLS"
+ UFFDIO_WRITEPROTECT_MODE_WP, _const_UFFDIO_WRITEPROTECT_MODE_WP,
+ "UFFDIO_WRITEPROTECT_MODE_WP"
);
assert_eq!(
- UFFD_API_RANGE_IOCTLS_BASIC, _const_UFFD_API_RANGE_IOCTLS_BASIC,
- "UFFD_API_RANGE_IOCTLS_BASIC"
+ UFFDIO_WRITEPROTECT_MODE_DONTWAKE, _const_UFFDIO_WRITEPROTECT_MODE_DONTWAKE,
+ "UFFDIO_WRITEPROTECT_MODE_DONTWAKE"
);
assert_eq!(
- UFFDIO_REGISTER_MODE_MISSING, _const_UFFDIO_REGISTER_MODE_MISSING,
- "UFFDIO_REGISTER_MODE_MISSING"
- );
- assert_eq!(
- UFFDIO_REGISTER_MODE_WP, _const_UFFDIO_REGISTER_MODE_WP,
- "UFFDIO_REGISTER_MODE_WP"
- );
- assert_eq!(
- UFFDIO_COPY_MODE_DONTWAKE, _const_UFFDIO_COPY_MODE_DONTWAKE,
- "UFFDIO_COPY_MODE_DONTWAKE"
- );
- assert_eq!(
- UFFDIO_COPY_MODE_WP, _const_UFFDIO_COPY_MODE_WP,
- "UFFDIO_COPY_MODE_WP"
- );
- assert_eq!(
- UFFDIO_ZEROPAGE_MODE_DONTWAKE, _const_UFFDIO_ZEROPAGE_MODE_DONTWAKE,
- "UFFDIO_ZEROPAGE_MODE_DONTWAKE"
- );
- assert_eq!(UFFDIO_API, _const_UFFDIO_API, "UFFDIO_API");
- assert_eq!(UFFDIO_REGISTER, _const_UFFDIO_REGISTER, "UFFDIO_REGISTER");
- assert_eq!(
- UFFDIO_UNREGISTER, _const_UFFDIO_UNREGISTER,
- "UFFDIO_UNREGISTER"
- );
- assert_eq!(UFFDIO_WAKE, _const_UFFDIO_WAKE, "UFFDIO_WAKE");
- assert_eq!(UFFDIO_COPY, _const_UFFDIO_COPY, "UFFDIO_COPY");
- assert_eq!(UFFDIO_ZEROPAGE, _const_UFFDIO_ZEROPAGE, "UFFDIO_ZEROPAGE");
- assert_eq!(
UFFDIO_WRITEPROTECT, _const_UFFDIO_WRITEPROTECT,
"UFFDIO_WRITEPROTECT"
);
diff --git a/pseudo_crate/Cargo.lock b/pseudo_crate/Cargo.lock
index 7cf6e84..8fe3541 100644
--- a/pseudo_crate/Cargo.lock
+++ b/pseudo_crate/Cargo.lock
@@ -566,7 +566,7 @@
"untrusted 0.7.1",
"url",
"userfaultfd",
- "userfaultfd-sys",
+ "userfaultfd-sys 0.6.0",
"utf-8",
"uuid",
"vhost",
@@ -1064,6 +1064,26 @@
[[package]]
name = "bindgen"
+version = "0.69.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
+dependencies = [
+ "bitflags 2.9.2",
+ "cexpr",
+ "clang-sys",
+ "itertools 0.12.1",
+ "lazy_static",
+ "lazycell",
+ "proc-macro2 1.0.96",
+ "quote 1.0.40",
+ "regex",
+ "rustc-hash 1.1.0",
+ "shlex",
+ "syn 2.0.104",
+]
+
+[[package]]
+name = "bindgen"
version = "0.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
@@ -2492,7 +2512,7 @@
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
dependencies = [
"libc 0.2.171",
- "windows-sys 0.59.0",
+ "windows-sys 0.60.2",
]
[[package]]
@@ -4438,7 +4458,7 @@
checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
dependencies = [
"cfg-if",
- "windows-targets 0.52.6",
+ "windows-targets 0.53.3",
]
[[package]]
@@ -8113,7 +8133,7 @@
"libc 0.2.171",
"nix 0.27.1",
"thiserror 1.0.49",
- "userfaultfd-sys",
+ "userfaultfd-sys 0.5.0",
]
[[package]]
@@ -8128,6 +8148,17 @@
]
[[package]]
+name = "userfaultfd-sys"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc91d95a797a81604af22946d0e86656f27feb0b9665c60665cf3554df12d1a8"
+dependencies = [
+ "bindgen 0.69.5",
+ "cc",
+ "cfg-if",
+]
+
+[[package]]
name = "utf-8"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/pseudo_crate/Cargo.toml b/pseudo_crate/Cargo.toml
index 0f67f26..170764e 100644
--- a/pseudo_crate/Cargo.toml
+++ b/pseudo_crate/Cargo.toml
@@ -470,7 +470,7 @@
untrusted = "=0.7.1"
url = "=2.5.2"
userfaultfd = "=0.8.1"
-userfaultfd-sys = "=0.5.0"
+userfaultfd-sys = "=0.6.0"
utf-8 = "=0.7.6"
uuid = "=1.12.1"
vhost = "=0.13.0"