mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 10:19:03 +03:00
Revert "Kernel: Use an ArmedScopeGuard to revert changes after failed mmap"
This reverts commit 790d620b39
.
This commit is contained in:
parent
3b39e16e8f
commit
03342876b8
Notes:
sideshowbarker
2024-07-17 17:30:34 +09:00
Author: https://github.com/bgianfo Commit: https://github.com/SerenityOS/serenity/commit/03342876b8 Pull-request: https://github.com/SerenityOS/serenity/pull/13020 Issue: https://github.com/SerenityOS/serenity/issues/12970
@ -5,7 +5,6 @@
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#include <AK/kmalloc.h>
|
||||
#include <Kernel/Arch/SmapDisabler.h>
|
||||
#include <Kernel/Arch/x86/MSR.h>
|
||||
#include <Kernel/Arch/x86/SafeMem.h>
|
||||
@ -185,16 +184,8 @@ ErrorOr<FlatPtr> Process::sys$mmap(Userspace<const Syscall::SC_mmap_params*> use
|
||||
return EINVAL;
|
||||
|
||||
Memory::Region* region = nullptr;
|
||||
Memory::VirtualRange range { {}, 0 };
|
||||
|
||||
ArmedScopeGuard scope_guard = [&] {
|
||||
if (region)
|
||||
address_space().deallocate_region(*region);
|
||||
else if (range.is_valid())
|
||||
address_space().page_directory().range_allocator().deallocate(range);
|
||||
};
|
||||
|
||||
range = TRY([&]() -> ErrorOr<Memory::VirtualRange> {
|
||||
auto range = TRY([&]() -> ErrorOr<Memory::VirtualRange> {
|
||||
if (map_randomized)
|
||||
return address_space().page_directory().range_allocator().try_allocate_randomized(rounded_size, alignment);
|
||||
|
||||
@ -257,8 +248,6 @@ ErrorOr<FlatPtr> Process::sys$mmap(Userspace<const Syscall::SC_mmap_params*> use
|
||||
|
||||
PerformanceManager::add_mmap_perf_event(*this, *region);
|
||||
|
||||
scope_guard.disarm();
|
||||
|
||||
return region->vaddr().get();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user