aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Galenson <jgalenson@google.com>2021-05-25 14:52:54 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-05-25 14:52:54 +0000
commit016b096e8827b783a310a7fd56dc194252a1701c (patch)
tree2e0f58384ae43906efa37ef906c62dcafe20eb72
parentdd8664866b7dd1c3e84f669e2bd49927ad0f7f1c (diff)
parent2244f872a59fb316a8f565fd470a68cec5f59d1c (diff)
downloadcrossbeam-epoch-016b096e8827b783a310a7fd56dc194252a1701c.tar.gz
Upgrade rust/crates/crossbeam-epoch to 0.9.4 am: 08e1a7361c am: 2244f872a5
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/crossbeam-epoch/+/1712419 Change-Id: Ib875acc694d0fe9b73e427d79f7bf1721e85cb5c
-rw-r--r--.cargo_vcs_info.json2
-rw-r--r--Android.bp4
-rw-r--r--CHANGELOG.md5
-rw-r--r--Cargo.lock26
-rw-r--r--Cargo.toml6
-rw-r--r--Cargo.toml.orig6
-rw-r--r--METADATA8
-rw-r--r--README.md2
-rw-r--r--TEST_MAPPING3
-rw-r--r--src/atomic.rs3
10 files changed, 38 insertions, 27 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json
index 1d9c34d..78aaf0a 100644
--- a/.cargo_vcs_info.json
+++ b/.cargo_vcs_info.json
@@ -1,5 +1,5 @@
{
"git": {
- "sha1": "d841a2028dc72b4e09739116f07e865db60f3690"
+ "sha1": "d4f6785c9be365832eecfc04222f95a1c2dd314a"
}
}
diff --git a/Android.bp b/Android.bp
index bba5b1e..1b525e5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -136,10 +136,10 @@ rust_library {
// dependent_library ["feature_list"]
// autocfg-1.0.1
// cfg-if-1.0.0
-// crossbeam-utils-0.8.3 "lazy_static,std"
+// crossbeam-utils-0.8.4 "lazy_static,std"
// getrandom-0.2.2 "std"
// lazy_static-1.4.0
-// libc-0.2.92
+// libc-0.2.94
// memoffset-0.6.3 "default"
// ppv-lite86-0.2.10 "simd,std"
// rand-0.8.3 "alloc,default,getrandom,libc,rand_chacha,rand_hc,std,std_rng"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0f30b70..861b059 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# Version 0.9.4
+
+- Fix UB in `<[MaybeUninit<T>] as Pointable>::init` when global allocator failed allocation (#690)
+- Bump `loom` dependency to version 0.5. (#686)
+
# Version 0.9.3
- Make `loom` dependency optional. (#666)
diff --git a/Cargo.lock b/Cargo.lock
index fd37e90..d457e56 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -22,13 +22,13 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "const_fn"
-version = "0.4.5"
+version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b9d6de7f49e22cf97ad17fc4036ece69300032f45f78f30b4a4482cdc3f4a6"
+checksum = "402da840495de3f976eaefc3485b7f5eb5b0bf9761f9a47be27fe975b3b8c2ec"
[[package]]
name = "crossbeam-epoch"
-version = "0.9.3"
+version = "0.9.4"
dependencies = [
"cfg-if",
"const_fn",
@@ -42,9 +42,9 @@ dependencies = [
[[package]]
name = "crossbeam-utils"
-version = "0.8.3"
+version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49"
+checksum = "4feb231f0d4d6af81aed15928e58ecf5816aa62a2393e2c82f46973e92a9a278"
dependencies = [
"autocfg",
"cfg-if",
@@ -54,9 +54,9 @@ dependencies = [
[[package]]
name = "generator"
-version = "0.6.24"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9fed24fd1e18827652b4d55652899a1e9da8e54d91624dc3437a5bc3a9f9a9c"
+checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee"
dependencies = [
"cc",
"libc",
@@ -84,9 +84,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "libc"
-version = "0.2.86"
+version = "0.2.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
+checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
[[package]]
name = "log"
@@ -99,9 +99,9 @@ dependencies = [
[[package]]
name = "loom"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d44c73b4636e497b4917eb21c33539efa3816741a2d3ff26c6316f1b529481a4"
+checksum = "7aa5348dc45fa5f2419b6dd4ea20345e6b01b1fcc9d176a322eada1ac3f382ba"
dependencies = [
"cfg-if",
"generator",
@@ -110,9 +110,9 @@ dependencies = [
[[package]]
name = "memoffset"
-version = "0.6.1"
+version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"
+checksum = "f83fb6581e8ed1f85fd45c116db8405483899489e38406156c25eb743554361d"
dependencies = [
"autocfg",
]
diff --git a/Cargo.toml b/Cargo.toml
index 2d7eb00..3d78582 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -13,7 +13,7 @@
[package]
edition = "2018"
name = "crossbeam-epoch"
-version = "0.9.3"
+version = "0.9.4"
authors = ["The Crossbeam Project Developers"]
description = "Epoch-based garbage collection"
homepage = "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch"
@@ -30,7 +30,7 @@ version = "0.4.4"
optional = true
[dependencies.crossbeam-utils]
-version = "0.8.3"
+version = "0.8.4"
default-features = false
[dependencies.lazy_static]
@@ -53,6 +53,6 @@ loom = ["loom-crate", "crossbeam-utils/loom"]
nightly = ["crossbeam-utils/nightly", "const_fn"]
std = ["alloc", "crossbeam-utils/std", "lazy_static"]
[target."cfg(crossbeam_loom)".dependencies.loom-crate]
-version = "0.4"
+version = "0.5"
optional = true
package = "loom"
diff --git a/Cargo.toml.orig b/Cargo.toml.orig
index 8961f25..de70ebb 100644
--- a/Cargo.toml.orig
+++ b/Cargo.toml.orig
@@ -4,7 +4,7 @@ name = "crossbeam-epoch"
# - Update CHANGELOG.md
# - Update README.md
# - Create "crossbeam-epoch-X.Y.Z" git tag
-version = "0.9.3"
+version = "0.9.4"
authors = ["The Crossbeam Project Developers"]
edition = "2018"
license = "MIT OR Apache-2.0"
@@ -48,10 +48,10 @@ memoffset = "0.6"
# This configuration option is outside of the normal semver guarantees: minor
# versions of crossbeam may make breaking changes to it at any time.
[target.'cfg(crossbeam_loom)'.dependencies]
-loom-crate = { package = "loom", version = "0.4", optional = true }
+loom-crate = { package = "loom", version = "0.5", optional = true }
[dependencies.crossbeam-utils]
-version = "0.8.3"
+version = "0.8.4"
path = "../crossbeam-utils"
default-features = false
diff --git a/METADATA b/METADATA
index fc37c40..5588ef8 100644
--- a/METADATA
+++ b/METADATA
@@ -7,13 +7,13 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://static.crates.io/crates/crossbeam-epoch/crossbeam-epoch-0.9.3.crate"
+ value: "https://static.crates.io/crates/crossbeam-epoch/crossbeam-epoch-0.9.4.crate"
}
- version: "0.9.3"
+ version: "0.9.4"
license_type: NOTICE
last_upgrade_date {
year: 2021
- month: 4
- day: 1
+ month: 5
+ day: 19
}
}
diff --git a/README.md b/README.md
index c8ebd87..eb33bad 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ https://crates.io/crates/crossbeam-epoch)
https://docs.rs/crossbeam-epoch)
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
-[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)
+[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.com/invite/JXYwgWZ)
This crate provides epoch-based garbage collection for building concurrent data structures.
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 25a9cdc..9ca6a6c 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -3,6 +3,9 @@
"presubmit": [
{
"name": "crossbeam-epoch_device_test_src_lib"
+ },
+ {
+ "name": "crossbeam-epoch_device_test_tests_loom"
}
]
}
diff --git a/src/atomic.rs b/src/atomic.rs
index e4ca23f..75a4714 100644
--- a/src/atomic.rs
+++ b/src/atomic.rs
@@ -252,6 +252,9 @@ impl<T> Pointable for [MaybeUninit<T>] {
let align = mem::align_of::<Array<T>>();
let layout = alloc::Layout::from_size_align(size, align).unwrap();
let ptr = alloc::alloc(layout) as *mut Array<T>;
+ if ptr.is_null() {
+ alloc::handle_alloc_error(layout);
+ }
(*ptr).size = size;
ptr as usize
}