1 //===-- report_linux.cpp ----------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 #if SCUDO_LINUX || SCUDO_TRUSTY
14 #include "internal_defs.h"
16 #include "report_linux.h"
17 #include "string_utils.h"
25 // Fatal internal map() error (potentially OOM related).
26 void NORETURN
reportMapError(uptr SizeIfOOM
) {
28 Error
.append("Scudo ERROR: internal map failure (error desc=%s)",
31 Error
.append(" requesting %zuKB", SizeIfOOM
>> 10);
33 reportRawError(Error
.data());
36 void NORETURN
reportUnmapError(uptr Addr
, uptr Size
) {
38 Error
.append("Scudo ERROR: internal unmap failure (error desc=%s) Addr 0x%zx "
40 strerror(errno
), Addr
, Size
);
41 reportRawError(Error
.data());
44 void NORETURN
reportProtectError(uptr Addr
, uptr Size
, int Prot
) {
47 "Scudo ERROR: internal protect failure (error desc=%s) Addr 0x%zx "
49 strerror(errno
), Addr
, Size
, Prot
);
50 reportRawError(Error
.data());
55 #endif // SCUDO_LINUX || SCUDO_TRUSTY