diff --git a/headers/os/kernel/OS.h b/headers/os/kernel/OS.h index 820b5343b2..dc91207136 100644 --- a/headers/os/kernel/OS.h +++ b/headers/os/kernel/OS.h @@ -81,7 +81,6 @@ typedef struct area_info { /* B_ANY_KERNEL_BLOCK_ADDRESS 5 */ #define B_RANDOMIZED_ANY_ADDRESS 6 #define B_RANDOMIZED_BASE_ADDRESS 7 -#define B_RANDOMIZED_IMAGE_ADDRESS 8 /* area protection */ #define B_READ_AREA 1 diff --git a/src/system/kernel/vm/VMUserAddressSpace.cpp b/src/system/kernel/vm/VMUserAddressSpace.cpp index 9315e97bdc..c517e84250 100644 --- a/src/system/kernel/vm/VMUserAddressSpace.cpp +++ b/src/system/kernel/vm/VMUserAddressSpace.cpp @@ -36,7 +36,6 @@ const addr_t VMUserAddressSpace::kMaxInitialRandomize = 0x20000000000ul; const addr_t VMUserAddressSpace::kMaxRandomize = 0x800000ul; const addr_t VMUserAddressSpace::kMaxInitialRandomize = 0x2000000ul; #endif -const addr_t VMUserAddressSpace::kImageEndAddress = 0x7ffffffful; /*! Verifies that an area with the given aligned base and size fits into @@ -74,8 +73,7 @@ static inline bool is_randomized(uint32 addressSpec) { return addressSpec == B_RANDOMIZED_ANY_ADDRESS - || addressSpec == B_RANDOMIZED_BASE_ADDRESS - || addressSpec == B_RANDOMIZED_IMAGE_ADDRESS; + || addressSpec == B_RANDOMIZED_BASE_ADDRESS; } @@ -189,11 +187,6 @@ VMUserAddressSpace::InsertArea(VMArea* _area, size_t size, searchEnd = fEndAddress; break; - case B_RANDOMIZED_IMAGE_ADDRESS: - searchBase = (addr_t)addressRestrictions->address; - searchEnd = min_c(fEndAddress, kImageEndAddress); - break; - default: return B_BAD_VALUE; } @@ -577,9 +570,7 @@ VMUserAddressSpace::_InsertAreaSlot(addr_t start, addr_t size, addr_t end, start = ROUNDUP(start, alignment); - if (addressSpec == B_RANDOMIZED_BASE_ADDRESS - || addressSpec == B_RANDOMIZED_IMAGE_ADDRESS) { - + if (addressSpec == B_RANDOMIZED_BASE_ADDRESS) { originalStart = start; start = _RandomizeAddress(start, end - size, alignment, true); } @@ -606,7 +597,6 @@ second_chance: case B_RANDOMIZED_ANY_ADDRESS: case B_BASE_ADDRESS: case B_RANDOMIZED_BASE_ADDRESS: - case B_RANDOMIZED_IMAGE_ADDRESS: { // find a hole big enough for a new area if (last == NULL) { @@ -671,8 +661,7 @@ second_chance: area->SetBase(alignedBase); break; } else if (addressSpec == B_BASE_ADDRESS - || addressSpec == B_RANDOMIZED_BASE_ADDRESS - || addressSpec == B_RANDOMIZED_IMAGE_ADDRESS) { + || addressSpec == B_RANDOMIZED_BASE_ADDRESS) { // we didn't find a free spot in the requested range, so we'll // try again without any restrictions diff --git a/src/system/kernel/vm/VMUserAddressSpace.h b/src/system/kernel/vm/VMUserAddressSpace.h index 8bd04bc11f..0aa42612b6 100644 --- a/src/system/kernel/vm/VMUserAddressSpace.h +++ b/src/system/kernel/vm/VMUserAddressSpace.h @@ -67,7 +67,6 @@ private: private: static const addr_t kMaxRandomize; static const addr_t kMaxInitialRandomize; - static const addr_t kImageEndAddress; VMUserAreaList fAreas; mutable VMUserArea* fAreaHint; diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index a730c0e5b0..f9a2f4dc0c 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -1226,7 +1226,6 @@ vm_create_anonymous_area(team_id team, const char *name, addr_t size, case B_ANY_KERNEL_BLOCK_ADDRESS: case B_RANDOMIZED_ANY_ADDRESS: case B_RANDOMIZED_BASE_ADDRESS: - case B_RANDOMIZED_IMAGE_ADDRESS: break; default: diff --git a/src/system/runtime_loader/images.cpp b/src/system/runtime_loader/images.cpp index 55dcdf05f0..3bbe34bde2 100644 --- a/src/system/runtime_loader/images.cpp +++ b/src/system/runtime_loader/images.cpp @@ -173,7 +173,7 @@ get_image_region_load_address(image_t* image, uint32 index, long lastDelta, if (index == 0) { // but only the first segment gets a free ride loadAddress = RLD_PROGRAM_BASE; - addressSpecifier = B_RANDOMIZED_IMAGE_ADDRESS; + addressSpecifier = B_RANDOMIZED_BASE_ADDRESS; } else { loadAddress = image->regions[index].vmstart + lastDelta; addressSpecifier = B_EXACT_ADDRESS; @@ -298,7 +298,7 @@ map_image(int fd, char const* path, image_t* image, bool fixed) addr_t loadAddress; size_t reservedSize = 0; size_t length = 0; - uint32 addressSpecifier = B_RANDOMIZED_IMAGE_ADDRESS; + uint32 addressSpecifier = B_RANDOMIZED_ANY_ADDRESS; for (uint32 i = 0; i < image->num_regions; i++) { // for BeOS compatibility: if we load an old BeOS executable, we