ladybird/AK
Luke Wilde 49259777ef Kernel: Note if the page fault address is a destroyed smart pointer
While I was working on LibWeb, I got a page fault at 0xe0e0e0e4.
This indicates a destroyed RefPtr if compiled with SANITIZE_PTRS
defined. However, the page fault handler didn't print out this
indication.

This makes the page fault handler print out a note if the faulting
address looks like a recently destroyed RefPtr, OwnPtr, NonnullRefPtr,
NonnullOwnPtr, ThreadSafeRefPtr or ThreadSafeNonnullRefPtr. It will
only do this if SANITIZE_PTRS is defined, as smart pointers don't get
scrubbed without it being defined.
2021-10-07 21:30:13 +02:00
..
AllOf.h AK: Reimplement all_of in terms of find_if 2021-07-24 13:11:13 +04:30
AnyOf.h AK: Implement any_of using common implementation 2021-08-06 23:57:48 +02:00
Array.h AK: Stop publishing detail namespaced functions 2021-08-15 15:14:19 +02:00
Assertions.h AK+Kernel: Print TODO when a TODO() is executed 2021-08-04 11:01:16 +02:00
Atomic.h AK: Add free function to wrap around __atomic_is_lock_free built-in 2021-07-14 22:13:15 +01:00
Badge.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Base64.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Base64.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BinaryBufferWriter.h AK: Add helper type for serializing structures into buffer 2021-07-18 19:58:17 +04:30
BinaryHeap.h AK: Add missing headers 2021-10-06 23:52:40 +01:00
BinarySearch.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitCast.h AK: Use __builtin_bit_cast if available 2021-08-21 13:48:59 +04:30
Bitmap.h AK: Sprinkle [[nodiscard]] on AK::Bitmap 2021-07-21 18:09:01 +02:00
BitmapView.h Bitmap: De-duplicate bitmasks 2021-05-19 23:37:10 +01:00
BitStream.h AK: Add big endian bit reading to InputBitStream 2021-06-25 20:48:14 +04:30
Buffered.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BumpAllocator.h AK: Give BumpAllocator a single-block cache 2021-09-13 14:38:53 +04:30
ByteBuffer.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
ByteReader.h AK: Generalize ByteReader 2021-07-14 11:26:34 +04:30
CharacterTypes.h AK: Add the to_ascii_base36_digit helper method 2021-06-29 16:55:54 +01:00
Checked.h AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work 2021-07-22 21:19:40 +01:00
CheckedFormatString.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
CircularDeque.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDuplexStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularQueue.h AK: Calculate CircularQueue::end() correctly 2021-10-06 12:31:13 +02:00
CMakeLists.txt Meta: Add support for declaring components 2021-06-17 11:03:51 +02:00
Complex.h Everywhere: Use AK/Math.h if applicable 2021-07-19 16:34:21 +04:30
Concepts.h AK: Add a concept for iterable containers 2021-07-22 22:56:20 +02:00
DateTimeLexer.h AK: Add a DateTimeLexer 2021-07-12 19:05:17 +01:00
Debug.h.in RequestServer: Don't hide the SIGINFO state dump behind a debug macro 2021-10-01 20:17:15 +02:00
Demangle.h AK: Remove unused ifdef for BUILDING_SERENITY_TOOLCHAIN 2021-09-20 00:39:46 +00:00
DisjointChunks.h AK: Add an abstraction over multiple disjoint buffers 2021-09-14 21:33:15 +04:30
DistinctNumeric.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
DoublyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Endian.h AK: Add formatters for BigEndian and LittleEndian 2021-08-02 00:25:11 +02:00
EnumBits.h AK+Kernel: Implement and use EnumBits has_any_flag() 2021-07-16 11:49:50 +02:00
ExtraMathConstants.h Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
FileStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Find.h AK: Rewrite {AnyOf,AllOf,Find}.h to use the IteratorPairWith concept 2021-07-22 22:56:20 +02:00
FixedArray.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
FixedPoint.h AK: Add FixedPoint arithmetic helper 2021-08-31 17:03:55 +04:30
FlyString.cpp Everywhere: Replace AK::Singleton => Singleton 2021-08-08 00:03:45 +02:00
FlyString.h AK: Add a way to disable the trimming of whitespace in to_*int 2021-06-18 19:18:15 +01:00
Format.cpp AK: Add a basic formatter for wchar_t 2021-10-03 11:13:50 +00:00
Format.h AK: Add a basic formatter for wchar_t 2021-10-03 11:13:50 +00:00
Forward.h AK: Add GenericLexer to forwarding header 2021-08-19 23:49:25 +02:00
Function.h AK+Kernel: Fix perfect forwarding constructors shadowing others 2021-07-08 10:11:00 +02:00
GenericLexer.cpp AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
GenericLexer.h AK: Add GenericLexer API to consume an escaped Unicode code point 2021-08-19 23:49:25 +02:00
HashFunctions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HashMap.h AK+LibC: Remove SERENITY_LIBC_BUILD guard around <initializer_list> 2021-09-20 00:39:46 +00:00
HashTable.h AK: Add missing headers 2021-10-06 23:52:40 +01:00
Hex.cpp Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
Hex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IDAllocator.h AK: Use get_random() in IDAllocator 2021-08-30 18:35:36 +02:00
IntrusiveDetails.h AK: Add missing headers 2021-10-06 23:52:40 +01:00
IntrusiveList.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveListRelaxedConst.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
IntrusiveRedBlackTree.h AK+Kernel: Reduce the number of template parameters of IntrusiveRBTree 2021-09-10 18:05:46 +03:00
IPv4Address.h AK: Implement IPv4Address::to_string_reversed() 2021-06-09 17:43:32 +04:30
IterationDecision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Iterator.h AK: Make Vector capable of holding reference types 2021-06-08 19:14:24 +02:00
JsonArray.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonArraySerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonObject.h AK: Use [[nodiscard]] in JsonObject and JsonArray 2021-06-29 13:18:03 +02:00
JsonObjectSerializer.h AK: Make Json{Array,Object}Serializer ignore append() return values 2021-09-06 18:56:51 +02:00
JsonParser.cpp AK: Reduce the scope of fraction_string to where it's needed 2021-09-16 17:17:13 +02:00
JsonParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonPath.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonPath.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonValue.cpp Kernel+AK: Don't compile JSON parser into the kernel 2021-06-29 22:19:29 +02:00
JsonValue.h AK: Add a getter to JsonValue to get machine-native addresses 2021-07-22 08:57:01 +02:00
kmalloc.cpp AK: Declare operators new and delete as global functions 2021-07-05 20:23:42 +02:00
kmalloc.h AK: Add operator delete stub to all AK_MAKE_ETERNAL objects 2021-08-30 16:44:16 +02:00
kstdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LEB128.h AK: Don't perform the shift when it's too large when decoding LEB128 2021-08-31 16:37:49 +02:00
LexicalPath.cpp AK+Everywhere: Remove StringView::find_{first,last}_of(char) methods 2021-07-02 21:54:21 +02:00
LexicalPath.h AK: Accept StringView in LexicalPath::join 2021-09-28 18:06:06 +03:00
MACAddress.h Everywhere: Make use of container version of all_of 2021-08-03 10:46:43 +02:00
MappedFile.cpp AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
MappedFile.h AK: Use east const in MappedFile 2021-08-07 12:48:22 +02:00
Math.h AK: Handle partial remainders 2021-08-08 10:55:36 +02:00
MemMem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Memory.h AK: Add secure_zero() implementation so it can be used on all platforms 2021-09-13 00:02:42 +02:00
MemoryStream.h Everywhere: Make ByteBuffer::{create_*,copy}() OOM-safe 2021-09-06 01:53:26 +02:00
NeverDestroyed.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Noncopyable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullOwnPtr.h Kernel: Note if the page fault address is a destroyed smart pointer 2021-10-07 21:30:13 +02:00
NonnullOwnPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullPtrVector.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
NonnullRefPtr.h Kernel: Note if the page fault address is a destroyed smart pointer 2021-10-07 21:30:13 +02:00
NonnullRefPtrVector.h AK: Make NonnullRefPtrVector constructible from Vector<NonnullRefPtr> 2021-06-11 00:30:09 +02:00
NumberFormat.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NumericLimits.h AK/NumericLimits: Add lowest() for floating-point types 2021-05-22 13:38:34 +01:00
Optional.h AK: Add note about an internal compile error with Optional in GCC 10.3+ 2021-09-08 00:37:19 +02:00
OSError.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OwnPtr.h Kernel: Note if the page fault address is a destroyed smart pointer 2021-10-07 21:30:13 +02:00
Platform.h Kernel: Introduce basic pre-kernel environment 2021-07-18 17:31:13 +02:00
PrintfImplementation.h AK: Honor variable precision argument when formatting 2021-05-30 18:45:06 +01:00
Ptr32.h AK: Fix building Ptr32 on x86_64 2021-06-24 09:27:13 +02:00
Queue.h AK+Everywhere: Reduce the number of template parameters of IntrusiveList 2021-09-10 18:05:46 +03:00
QuickSort.h AK: Guarantee a maximum stack depth for dual_pivot_quick_sort 2021-04-28 21:38:48 +02:00
Random.cpp AK: Introduce get_random_uniform() 2021-05-14 22:24:02 +02:00
Random.h AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
RecursionDecision.h AK: Add RecursionDecision 2021-08-07 15:21:58 +02:00
RedBlackTree.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
RefCounted.h AK+Kernel: Make automatically locking RefPtr & co a kernel-only thing 2021-10-07 19:27:30 +02:00
RefPtr.h Kernel: Note if the page fault address is a destroyed smart pointer 2021-10-07 21:30:13 +02:00
Result.h AK: Let Result<T, E> know its Value and Error types 2021-05-08 22:14:39 +02:00
ScopedValueRollback.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeGuard.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeLogger.h AK: Store the 'extra' field of ScopeLogger as String 2021-06-29 00:07:19 +04:30
SIMD.h AK: Add char SIMD types 2021-07-22 23:33:21 +02:00
Singleton.h AK: Bring Singleton into the global namespace with using 2021-08-08 00:03:45 +02:00
SinglyLinkedList.h AK: Make SinglyLinkedList::remove() public 2021-08-31 17:03:55 +04:30
SinglyLinkedListWithCount.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
SourceGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SourceLocation.h AK+Userland: Use akaster@serenityos.org for my copyright headers 2021-05-30 14:35:34 +01:00
Span.h AK: Make Span::operator==() comply with the ISO C++ idea of operator== 2021-09-13 14:38:53 +04:30
Stack.h AK: Implement AK::Stack 2021-05-26 16:36:53 +04:30
StackInfo.cpp AK+LibCore: Standardize on AK_OS_MACOS instead of __APPLE__ 2021-09-12 18:31:10 +02:00
StackInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Statistics.h AK: Add Statistics helper 2021-08-31 16:38:22 +02:00
StdLibExtraDetails.h AK: Add AssertSize utility template to provide rich type size assertions 2021-09-05 20:08:57 +02:00
StdLibExtras.h AK: Make declaration of std::move and std::forward optional 2021-09-04 16:32:54 +02:00
Stream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
String.cpp AK: Escape '"' in escape_html_entities 2021-09-12 12:17:16 +02:00
String.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringBuilder.cpp AK+Kernel: Avoid unescaped control chars in append_escaped_for_json() 2021-09-13 14:38:53 +04:30
StringBuilder.h Everywhere: Use OOM-safe ByteBuffer APIs where possible 2021-09-06 01:53:26 +02:00
StringHash.h AK: Add missing headers 2021-10-06 23:52:40 +01:00
StringImpl.cpp AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringImpl.h AK: Use kfree_sized() in AK::StringImpl 2021-07-11 14:14:51 +02:00
StringUtils.cpp AK: Expand to_int<i64> to to_int<long> and to_int<long long> 2021-10-05 13:27:25 +03:30
StringUtils.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
StringView.cpp AK: Expand to_int<i64> to to_int<long> and to_int<long long> 2021-10-05 13:27:25 +03:30
StringView.h AK: Replace the mutable String::replace API with an immutable version 2021-09-11 20:36:43 +03:00
TemporaryChange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Time.cpp AK: Remove dead store from Time:operator+ 2021-09-01 01:22:14 +02:00
Time.h LibCore: Make DateTime's members signed 2021-08-19 19:15:00 +01:00
Traits.h AK: Add Traits for Enums 2021-08-27 23:35:27 +04:30
Trie.h AK: Add children() accessor to Trie 2021-06-08 12:15:04 +02:00
Try.h AK: Rename the local variable in the TRY() macro to avoid name clashes 2021-09-15 23:46:53 +01:00
Tuple.h AK: Correct Tuple's constructor signatures 2021-08-02 17:22:50 +04:30
TypeCasts.h AK: Rename downcast<T> => verify_cast<T> 2021-06-24 19:57:01 +02:00
TypedTransfer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeList.h Everywhere: "indexes" => "indices" 2021-04-29 22:23:52 +02:00
Types.h AK: Make explode_byte depend on sizeof(FlatPtr) instead of ARCH(...) 2021-08-26 22:00:17 +02:00
UBSanitizer.h LibSanitizer+AK: Add float cast overflow handler 2021-08-08 10:55:36 +02:00
UFixedBigInt.h AK: Fix typos 2021-10-01 01:33:43 +01:00
UnicodeUtils.cpp AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
UnicodeUtils.h AK: Add UnicodeUtils with Unicode-related helper functions 2021-05-20 22:10:45 +02:00
URL.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URL.h AK: Move the path argument of URL::append_path instead of copying it 2021-09-14 00:14:45 +02:00
URLParser.cpp AK: Make URL::m_port an Optional<u16>, Expose raw port getter 2021-09-14 00:14:45 +02:00
URLParser.h AK: Accept optional url and state override parameters in URLParser 2021-09-14 00:14:45 +02:00
Userspace.h AK: Make C++ concepts support mandatory for compilers 2021-06-24 17:35:49 +04:30
Utf8View.cpp AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf8View.h AK: Inline all the trivial Utf8View functions 2021-09-18 19:54:24 +02:00
Utf16View.cpp AK: Simplify Utf16View::operator==(Utf16View) 2021-10-02 18:32:56 +02:00
Utf16View.h AK: Simplify Utf16View::operator==(Utf16View) 2021-10-02 18:32:56 +02:00
Utf32View.h AK: Add the at()/operator[]() getter to Utf32View 2021-07-18 21:10:55 +04:30
UUID.cpp AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
UUID.h AK: Use default constructor/destructor instead of declaring an empty one 2021-09-16 17:17:13 +02:00
Variant.h AK: Introduce ability to default-initialize a Variant 2021-09-21 04:22:52 +04:30
Vector.h AK: Remove unnecessary include of <new> for non-__serenity__ builds 2021-09-20 00:39:46 +00:00
Weakable.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
WeakPtr.h AK+Kernel: Make automatically locking RefPtr & co a kernel-only thing 2021-10-07 19:27:30 +02:00