Merge "libutils: disallow extending lifetime on stack" am: ea25b4ba5b am: c55c68fe33 am: bc43001408 am: 74218da6b4 am: 34737da2d3

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2166445

Change-Id: Idbc42ed35fe09202daa54b7768a6b12bbc05c3f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Steven Moreland 2022-07-29 01:12:12 +00:00 committed by Automerger Merge Worker
commit 2dcd08af3d

View file

@ -797,6 +797,8 @@ RefBase::~RefBase()
void RefBase::extendObjectLifetime(int32_t mode)
{
check_not_on_stack(this);
// Must be happens-before ordered with respect to construction or any
// operation that could destroy the object.
mRefs->mFlags.fetch_or(mode, std::memory_order_relaxed);