aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Stokes <alanstokes@google.com>2023-07-21 13:56:18 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-07-21 13:56:18 +0000
commitffa941982ebf817b810116692e7d97cf41b5a31d (patch)
tree5438bc5a696f1a247b11ba26873a1f0a42b5f924
parent238eae13b2c7f1ee7da7608c2e69d1f290b661e1 (diff)
parentec72b81c43ce13746babd2713aa1d78f9e43b1ed (diff)
downloadaarch64-paging-ffa941982ebf817b810116692e7d97cf41b5a31d.tar.gz
Upgrade aarch64-paging to 0.4.1 am: 0367f8f942 am: b8d0491fd6 am: 4f9c70135f am: 8b93ec6275 am: ec72b81c43
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/aarch64-paging/+/2671255 Change-Id: If36d32a780591739cacfcda7317c2a32e3637870 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp4
-rw-r--r--CHANGELOG.md7
-rw-r--r--Cargo.toml2
-rw-r--r--Cargo.toml.orig2
-rw-r--r--METADATA10
-rw-r--r--src/paging.rs4
7 files changed, 21 insertions, 10 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 9eaa221..0897c1f 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,6 +1,6 @@
{
"git": {
- "sha1": "346ea66fecce7eab483a159a8275b22e7ea20ad1"
+ "sha1": "922f88f390d2d14f07f8c2122204fcb3ce2afab8"
},
"path_in_vcs": ""
} \ No newline at end of file
diff --git a/Android.bp b/Android.bp
index 520b050..cf6d40e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -45,7 +45,7 @@ rust_test {
host_supported: true,
crate_name: "aarch64_paging",
cargo_env_compat: true,
- cargo_pkg_version: "0.4.0",
+ cargo_pkg_version: "0.4.1",
srcs: ["src/lib.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
@@ -73,7 +73,7 @@ rust_library {
host_supported: true,
crate_name: "aarch64_paging",
cargo_env_compat: true,
- cargo_pkg_version: "0.4.0",
+ cargo_pkg_version: "0.4.1",
srcs: ["src/lib.rs"],
edition: "2021",
features: [
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b0734e4..fb2c943 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,12 @@
# Changelog
+## 0.4.1
+
+### Bug fixes
+
+- `RootTable`, `Mapping`, `IdMap` and `LinearMap` are now correctly marked as `Send`, as it doesn't
+ matter where they are used from.
+
## 0.4.0
### Breaking changes
diff --git a/Cargo.toml b/Cargo.toml
index bf08bf9..3e58212 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -12,7 +12,7 @@
[package]
edition = "2021"
name = "aarch64-paging"
-version = "0.4.0"
+version = "0.4.1"
authors = [
"Ard Biesheuvel <ardb@google.com>",
"Andrew Walbran <qwandor@google.com>",
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 0981ad0..ac9236e 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -1,6 +1,6 @@
[package]
name = "aarch64-paging"
-version = "0.4.0"
+version = "0.4.1"
edition = "2021"
license = "MIT OR Apache-2.0"
description = "A library to manipulate AArch64 VMSA EL1 page tables."
diff --git a/METADATA b/METADATA
index 2af77d1..a438ff5 100644
--- a/METADATA
+++ b/METADATA
@@ -1,6 +1,6 @@
# This project was upgraded with external_updater.
# Usage: tools/external_updater/updater.sh update rust/crates/aarch64-paging
-# For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
name: "aarch64-paging"
description: "A library to manipulate AArch64 VMSA EL1 page tables."
@@ -11,13 +11,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/aarch64-paging/aarch64-paging-0.4.0.crate"
+ value: "https://static.crates.io/crates/aarch64-paging/aarch64-paging-0.4.1.crate"
}
- version: "0.4.0"
+ version: "0.4.1"
license_type: NOTICE
last_upgrade_date {
year: 2023
- month: 4
- day: 27
+ month: 7
+ day: 21
}
}
diff --git a/src/paging.rs b/src/paging.rs
index f0370f7..512bef2 100644
--- a/src/paging.rs
+++ b/src/paging.rs
@@ -424,6 +424,10 @@ struct PageTableWithLevel<T: Translation> {
_translation: PhantomData<T>,
}
+// SAFETY: The underlying PageTable is process-wide and can be safely accessed from any thread
+// with appropriate synchronization. This type manages ownership for the raw pointer.
+unsafe impl<T: Translation + Send> Send for PageTableWithLevel<T> {}
+
impl<T: Translation> PageTableWithLevel<T> {
/// Allocates a new, zeroed, appropriately-aligned page table with the given translation,
/// returning both a pointer to it and its physical address.