diff --git a/linker/linker_block_allocator.cpp b/linker/linker_block_allocator.cpp
index 27f1e38..d72cad3 100644
--- a/linker/linker_block_allocator.cpp
+++ b/linker/linker_block_allocator.cpp
@@ -55,8 +55,7 @@
   : block_size_(
       round_up(block_size < sizeof(FreeBlockInfo) ? sizeof(FreeBlockInfo) : block_size, 16)),
     page_list_(nullptr),
-    free_block_list_(nullptr),
-    allocated_(0)
+    free_block_list_(nullptr)
 {}
 
 void* LinkerBlockAllocator::alloc() {
@@ -77,8 +76,6 @@
 
   memset(block_info, 0, block_size_);
 
-  ++allocated_;
-
   return block_info;
 }
 
@@ -107,11 +104,6 @@
   block_info->num_free_blocks = 1;
 
   free_block_list_ = block_info;
-
-  --allocated_;
-  if (allocated_ == 0) {
-    free_all_pages();
-  }
 }
 
 void LinkerBlockAllocator::protect_all(int prot) {
@@ -162,18 +154,3 @@
 
   abort();
 }
-
-void LinkerBlockAllocator::free_all_pages() {
-  if (allocated_) {
-    abort();
-  }
-
-  LinkerBlockAllocatorPage* page = page_list_;
-  while (page) {
-    LinkerBlockAllocatorPage* next = page->next;
-    munmap(page, kAllocateSize);
-    page = next;
-  }
-  page_list_ = nullptr;
-  free_block_list_ = nullptr;
-}
diff --git a/linker/linker_block_allocator.h b/linker/linker_block_allocator.h
index 458d092..0c54b93 100644
--- a/linker/linker_block_allocator.h
+++ b/linker/linker_block_allocator.h
@@ -53,12 +53,10 @@
  private:
   void create_new_page();
   LinkerBlockAllocatorPage* find_page(void* block);
-  void free_all_pages();
 
   size_t block_size_;
   LinkerBlockAllocatorPage* page_list_;
   void* free_block_list_;
-  size_t allocated_;
 
   DISALLOW_COPY_AND_ASSIGN(LinkerBlockAllocator);
 };
@@ -75,8 +73,7 @@
  *    513 this allocator will use 516 (520 for lp64) bytes of data where
  *    generalized implementation is going to use 1024 sized blocks.
  *
- * 2. Unless all allocated memory is freed, this allocator does not munmap
- *    allocated memory, where BionicAllocator does.
+ * 2. This allocator does not munmap allocated memory, where BionicAllocator does.
  *
  * 3. This allocator provides mprotect services to the user, where BionicAllocator
  *    always treats its memory as READ|WRITE.
