diff --git a/kernel/fork.c b/kernel/fork.c
index 7ffa16033ded3549172aec2afd16c12184783c6b..00492b22adfe73070cf70e3ecbfc41692df603d5 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -229,7 +229,7 @@ static inline void free_thread_stack(struct task_struct *tsk)
 		}
 		local_irq_restore(flags);
 
-		vfree(tsk->stack);
+		vfree_atomic(tsk->stack);
 		return;
 	}
 #endif