summaryrefslogtreecommitdiff
path: root/trusty/coverage/coverage.cpp
diff options
context:
space:
mode:
authorTri Vo <trong@google.com>2021-02-11 23:25:51 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-02-11 23:25:51 +0000
commit3d6c2eedbf0c16c954288acd002f3e29d91f920b (patch)
tree90252aa1f92fd6c83b4f7ff1cba57bbb382d5b81 /trusty/coverage/coverage.cpp
parent73f9fd80df8edf84c011a54751ebaaa9daab90e5 (diff)
parent5d6955ea4fc0446ba99ca895da01cc5cf7cda088 (diff)
Merge changes I9e4cbf11,I41cde13a am: 83e66f792e am: 5729b640f2 am: 5d6955ea4f
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1584264 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I8ec8762cc2e908ecce703eeb248d8dcf1ad30b63
Diffstat (limited to 'trusty/coverage/coverage.cpp')
-rw-r--r--trusty/coverage/coverage.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/trusty/coverage/coverage.cpp b/trusty/coverage/coverage.cpp
index 5eccdc503..3c6b5c510 100644
--- a/trusty/coverage/coverage.cpp
+++ b/trusty/coverage/coverage.cpp
@@ -29,6 +29,7 @@
#include <trusty/coverage/record.h>
#include <trusty/coverage/tipc.h>
#include <trusty/tipc.h>
+#include <iostream>
#define COVERAGE_CLIENT_PORT "com.android.trusty.coverage.client"
@@ -122,7 +123,9 @@ Result<void> CoverageRecord::Open() {
int fd = tipc_connect(tipc_dev_.c_str(), COVERAGE_CLIENT_PORT);
if (fd < 0) {
- return ErrnoError() << "failed to connect to Trusty coverarge server: ";
+ // Don't error out to support fuzzing builds without coverage, e.g. for repros.
+ std::cerr << "WARNING!!! Failed to connect to Trusty coverarge server." << std::endl;
+ return {};
}
coverage_srv_fd_.reset(fd);
@@ -130,7 +133,7 @@ Result<void> CoverageRecord::Open() {
req.open_args.uuid = uuid_;
auto ret = Rpc(&req, -1, &resp);
if (!ret.ok()) {
- return Error() << "failed to open coverage client: ";
+ return Error() << "failed to open coverage client: " << ret.error();
}
record_len_ = resp.open_args.record_len;
shm_len_ = RoundPageUp(record_len_);
@@ -153,13 +156,17 @@ Result<void> CoverageRecord::Open() {
req.share_record_args.shm_len = shm_len_;
ret = Rpc(&req, dma_buf, &resp);
if (!ret.ok()) {
- return Error() << "failed to send shared memory: ";
+ return Error() << "failed to send shared memory: " << ret.error();
}
shm_ = shm;
return {};
}
+bool CoverageRecord::IsOpen() {
+ return shm_;
+}
+
void CoverageRecord::ResetFullRecord() {
auto header_region = GetRegionBounds(COV_START);
if (!header_region.ok()) {