diff --git a/syscall/process.rs b/syscall/process.rs
index 9c3e5b4f93aefb2c0db8e433985fa6eccfb2fdb9..c7ff1ee441b1fb5064f46b5d1c21c186017b0091 100644
--- a/syscall/process.rs
+++ b/syscall/process.rs
@@ -79,6 +79,7 @@ pub fn clone(flags: usize, stack_base: usize) -> Result<usize> {
                                       stack.start_address().get() as *const u8,
                                       stack.size());
             }
+            new_stack.unmap(true);
             stack_option = Some(new_stack);
         }
     }