Skip to content

Commit b867f5c

Browse files
committed
[Support/BLAKE3] Do manual instrumentation of llvm_blake3_hasher_finalize for memory sanitizer
This is to avoid false positives when using the uninstrumented assembly code implementation.
1 parent e47d220 commit b867f5c

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

llvm/lib/Support/BLAKE3/blake3.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,6 +571,10 @@ void llvm_blake3_hasher_update(blake3_hasher *self, const void *input,
571571
void llvm_blake3_hasher_finalize(const blake3_hasher *self, uint8_t *out,
572572
size_t out_len) {
573573
llvm_blake3_hasher_finalize_seek(self, 0, out, out_len);
574+
#if LLVM_MEMORY_SANITIZER_BUILD
575+
// Avoid false positives due to uninstrumented assembly code.
576+
__msan_unpoison(out, out_len);
577+
#endif
574578
}
575579

576580
void llvm_blake3_hasher_finalize_seek(const blake3_hasher *self, uint64_t seek,

0 commit comments

Comments
 (0)