mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 05:57:45 +00:00
Kernel+AK: Move UBSanitizer to AK, and to AK namespace
In preparation for copying UBSanitizer to userspace, move the header to AK :^)
This commit is contained in:
parent
a223ef3c4f
commit
505f84daae
3 changed files with 7 additions and 7 deletions
|
@ -9,6 +9,7 @@
|
|||
#include <AK/JsonObjectSerializer.h>
|
||||
#include <AK/JsonValue.h>
|
||||
#include <AK/ScopeGuard.h>
|
||||
#include <AK/UBSanitizer.h>
|
||||
#include <Kernel/Arch/x86/CPU.h>
|
||||
#include <Kernel/Arch/x86/ProcessorInfo.h>
|
||||
#include <Kernel/CommandLine.h>
|
||||
|
@ -38,7 +39,6 @@
|
|||
#include <Kernel/Scheduler.h>
|
||||
#include <Kernel/StdLib.h>
|
||||
#include <Kernel/TTY/TTY.h>
|
||||
#include <Kernel/UBSanitizer.h>
|
||||
#include <Kernel/VM/AnonymousVMObject.h>
|
||||
#include <Kernel/VM/MemoryManager.h>
|
||||
#include <LibC/errno_numbers.h>
|
||||
|
@ -978,9 +978,9 @@ bool ProcFS::initialize()
|
|||
g_dump_kmalloc_stacks = kmalloc_stack_helper->resource();
|
||||
});
|
||||
ubsan_deadly_helper = new Lockable<bool>();
|
||||
ubsan_deadly_helper->resource() = UBSanitizer::g_ubsan_is_deadly;
|
||||
ubsan_deadly_helper->resource() = AK::UBSanitizer::g_ubsan_is_deadly;
|
||||
ProcFS::add_sys_bool("ubsan_is_deadly", *ubsan_deadly_helper, [] {
|
||||
UBSanitizer::g_ubsan_is_deadly = ubsan_deadly_helper->resource();
|
||||
AK::UBSanitizer::g_ubsan_is_deadly = ubsan_deadly_helper->resource();
|
||||
});
|
||||
caps_lock_to_ctrl_helper = new Lockable<bool>();
|
||||
ProcFS::add_sys_bool("caps_lock_to_ctrl", *caps_lock_to_ctrl_helper, [] {
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
*/
|
||||
|
||||
#include <AK/Format.h>
|
||||
#include <AK/UBSanitizer.h>
|
||||
#include <Kernel/Arch/x86/CPU.h>
|
||||
#include <Kernel/KSyms.h>
|
||||
#include <Kernel/UBSanitizer.h>
|
||||
|
||||
using namespace Kernel;
|
||||
using namespace Kernel::UBSanitizer;
|
||||
using namespace AK::UBSanitizer;
|
||||
|
||||
bool Kernel::UBSanitizer::g_ubsan_is_deadly { true };
|
||||
bool AK::UBSanitizer::g_ubsan_is_deadly { true };
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
|
|
@ -1,120 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/Types.h>
|
||||
|
||||
namespace Kernel::UBSanitizer {
|
||||
|
||||
extern bool g_ubsan_is_deadly;
|
||||
|
||||
typedef void* ValueHandle;
|
||||
|
||||
class SourceLocation {
|
||||
public:
|
||||
const char* filename() const { return m_filename; }
|
||||
u32 line() const { return m_line; }
|
||||
u32 column() const { return m_column; }
|
||||
|
||||
private:
|
||||
const char* m_filename;
|
||||
u32 m_line;
|
||||
u32 m_column;
|
||||
};
|
||||
|
||||
enum TypeKind : u16 {
|
||||
Integer = 0,
|
||||
Float = 1,
|
||||
Unknown = 0xffff,
|
||||
};
|
||||
|
||||
class TypeDescriptor {
|
||||
public:
|
||||
const char* name() const { return m_name; }
|
||||
TypeKind kind() const { return (TypeKind)m_kind; }
|
||||
bool is_integer() const { return kind() == TypeKind::Integer; }
|
||||
bool is_signed() const { return m_info & 1; }
|
||||
bool is_unsigned() const { return !is_signed(); }
|
||||
size_t bit_width() const { return 1 << (m_info >> 1); }
|
||||
|
||||
private:
|
||||
u16 m_kind;
|
||||
u16 m_info;
|
||||
char m_name[1];
|
||||
};
|
||||
|
||||
struct InvalidValueData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& type;
|
||||
};
|
||||
|
||||
struct NonnullArgData {
|
||||
SourceLocation location;
|
||||
SourceLocation attribute_location;
|
||||
int argument_index;
|
||||
};
|
||||
|
||||
struct NonnullReturnData {
|
||||
SourceLocation attribute_location;
|
||||
};
|
||||
|
||||
struct OverflowData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& type;
|
||||
};
|
||||
|
||||
struct VLABoundData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& type;
|
||||
};
|
||||
|
||||
struct ShiftOutOfBoundsData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& lhs_type;
|
||||
const TypeDescriptor& rhs_type;
|
||||
};
|
||||
|
||||
struct OutOfBoundsData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& array_type;
|
||||
const TypeDescriptor& index_type;
|
||||
};
|
||||
|
||||
struct TypeMismatchData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& type;
|
||||
u8 log_alignment;
|
||||
u8 type_check_kind;
|
||||
};
|
||||
|
||||
struct AlignmentAssumptionData {
|
||||
SourceLocation location;
|
||||
SourceLocation assumption_location;
|
||||
const TypeDescriptor& type;
|
||||
};
|
||||
|
||||
struct UnreachableData {
|
||||
SourceLocation location;
|
||||
};
|
||||
|
||||
struct ImplicitConversionData {
|
||||
SourceLocation location;
|
||||
const TypeDescriptor& from_type;
|
||||
const TypeDescriptor& to_type;
|
||||
/* ImplicitConversionCheckKind */ unsigned char kind;
|
||||
};
|
||||
|
||||
struct InvalidBuiltinData {
|
||||
SourceLocation location;
|
||||
unsigned char kind;
|
||||
};
|
||||
|
||||
struct PointerOverflowData {
|
||||
SourceLocation location;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue