Skip to content

Commit 6bb4121

Browse files
panvaaduh95
authored andcommitted
crypto: initialize KeyObjectData mutex eagerly
Create the mutex before sharing key data so every copy uses one lock. Signed-off-by: Filip Skokan <panva.ip@gmail.com> PR-URL: #64851 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent 1516f7f commit 6bb4121

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/crypto/crypto_keys.cc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -952,10 +952,13 @@ KeyObjectData::KeyObjectData(std::nullptr_t)
952952

953953
KeyObjectData::KeyObjectData(ByteSource symmetric_key)
954954
: key_type_(KeyType::kKeyTypeSecret),
955+
mutex_(std::make_shared<Mutex>()),
955956
data_(std::make_shared<Data>(std::move(symmetric_key))) {}
956957

957958
KeyObjectData::KeyObjectData(KeyType type, EVPKeyPointer&& pkey)
958-
: key_type_(type), data_(std::make_shared<Data>(std::move(pkey))) {}
959+
: key_type_(type),
960+
mutex_(std::make_shared<Mutex>()),
961+
data_(std::make_shared<Data>(std::move(pkey))) {}
959962

960963
void KeyObjectData::Data::MemoryInfo(MemoryTracker* tracker) const {
961964
if (asymmetric_key) {

0 commit comments

Comments
 (0)