blob: d078265258ca14e69dbecb9ac3bb74d31b5ae244 [file] [log] [blame]
//===-- dfsan_chained_origin_depot.cpp ------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file is a part of DataFlowSanitizer.
//
// A storage for chained origins.
//===----------------------------------------------------------------------===//
#include "dfsan_chained_origin_depot.h"
namespace __dfsan {
static ChainedOriginDepot chainedOriginDepot;
ChainedOriginDepot* GetChainedOriginDepot() { return &chainedOriginDepot; }
void ChainedOriginDepotLockBeforeFork() {
// TODO: Consider same optimization as `StackDepotLockBeforeFork`.
chainedOriginDepot.LockAll();
}
void ChainedOriginDepotUnlockAfterFork(bool fork_child) {
// TODO: Consider same optimization as `StackDepotUnlockAfterFork`.
chainedOriginDepot.UnlockAll();
}
} // namespace __dfsan