diff --git a/kernel/fork.c b/kernel/fork.c
index 3a4343cdfe9043ef9afef33c761ab37ecf2d83e6..d681f8f10d2d9aa27fd2294b5a7943dfc01e880c 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -536,7 +536,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
 
 	/*