1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 18:27:42 +00:00
serenity/Kernel/VM
Brian Gianforcaro a324d4d6a3 Kernel: Make AnonymousVMObject physical page APIs OOM safe
AnonymousVMObject::create_with_physical_page(s) can't be NonnullRefPtr
as it allocates internally. Fixing the API then surfaced an issue in
ScatterGatherList, where the code was attempting to create an
AnonymousVMObject in the constructor which will not be observable
during OOM.

Fix all of these issues and start propagating errors at the callers
of the AnonymousVMObject and ScatterGatherList APis.
2021-05-15 09:01:32 +02:00
..
AllocationStrategy.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
AnonymousVMObject.cpp Kernel: Make AnonymousVMObject physical page APIs OOM safe 2021-05-15 09:01:32 +02:00
AnonymousVMObject.h Kernel: Make AnonymousVMObject physical page APIs OOM safe 2021-05-15 09:01:32 +02:00
ContiguousVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
ContiguousVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
InodeVMObject.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
InodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedROM.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemoryManager.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemoryManager.h Kernel: Move VirtIO code away from using a scatter gather list 2021-05-13 10:00:42 +02:00
PageDirectory.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PageDirectory.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PageFaultResponse.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
PhysicalPage.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PhysicalPage.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PhysicalRegion.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PhysicalRegion.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PrivateInodeVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PrivateInodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessPagingScope.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessPagingScope.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RangeAllocator.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RangeAllocator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Region.cpp Kernel: Change Inode::{read/write}_bytes interface to KResultOr<ssize_t> 2021-05-02 13:27:37 +02:00
Region.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RingBuffer.cpp Kernel: Create VM::RingBuffer class 2021-05-13 10:00:42 +02:00
RingBuffer.h Kernel: Create VM::RingBuffer class 2021-05-13 10:00:42 +02:00
ScatterGatherList.cpp Kernel: Make AnonymousVMObject physical page APIs OOM safe 2021-05-15 09:01:32 +02:00
ScatterGatherList.h Kernel: Make AnonymousVMObject physical page APIs OOM safe 2021-05-15 09:01:32 +02:00
SharedInodeVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
SharedInodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Space.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Space.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypedMapping.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
VMObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
VMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00