diff --git a/kernel/fork.c b/kernel/fork.c
index bfd91b180778b1b082014d4bc7e883e4512448bc..06d759ab4c62ff090ab51715eaf0bc4fcabc250e 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -560,7 +560,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig, int node)
 	set_task_stack_end_magic(tsk);
 
 #ifdef CONFIG_CC_STACKPROTECTOR
-	tsk->stack_canary = get_random_int();
+	tsk->stack_canary = get_random_long();
 #endif
 
 	/*