Merge #18443: lockedpool: avoid sensitive data in core files (FreeBSD)
f85203097f
lockedpool: avoid sensitive data in core files (FreeBSD) (Vasil Dimov) Pull request description: This is a followup to23991ee53
/ https://github.com/bitcoin/bitcoin/pull/15600 to also use madvise(2) on FreeBSD to avoid sensitive data allocated with secure_allocator ending up in core files in addition to preventing it from going to the swap. ACKs for top commit: sipa: ACKf85203097f
if someone verifies this works as intended on *BSD. laanwj: ACKf85203097f
practicalswift: Code-review ACKf85203097f
assuming a reviewer with FreeBSD access verifies that the PR goal is achieved :) Tree-SHA512: 2e6d4ab6a9fbe18732c8ba530eacc17f58128c97140758b80c905b5b838922a2bcaa5f9abc45ab69d5a1a2baa0cba322f006048b60a877228e089c7e64dadd2a
This commit is contained in:
commit
b549cb1bd2
1 changed files with 3 additions and 1 deletions
|
@ -253,8 +253,10 @@ void *PosixLockedPageAllocator::AllocateLocked(size_t len, bool *lockingSuccess)
|
||||||
}
|
}
|
||||||
if (addr) {
|
if (addr) {
|
||||||
*lockingSuccess = mlock(addr, len) == 0;
|
*lockingSuccess = mlock(addr, len) == 0;
|
||||||
#ifdef MADV_DONTDUMP
|
#if defined(MADV_DONTDUMP) // Linux
|
||||||
madvise(addr, len, MADV_DONTDUMP);
|
madvise(addr, len, MADV_DONTDUMP);
|
||||||
|
#elif defined(MADV_NOCORE) // FreeBSD
|
||||||
|
madvise(addr, len, MADV_NOCORE);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
return addr;
|
return addr;
|
||||||
|
|
Loading…
Reference in a new issue