diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c
index c4df705b835937f9256cafe43fcd92c9830eba59..a4625c7b2bf990a78dc49f5785b48393dba00baf 100644
--- a/arch/um/kernel/syscall.c
+++ b/arch/um/kernel/syscall.c
@@ -127,7 +127,8 @@ int kernel_execve(const char *filename, char *const argv[], char *const envp[])
 
 	fs = get_fs();
 	set_fs(KERNEL_DS);
-	ret = um_execve(filename, argv, envp);
+	ret = um_execve((char *)filename, (char __user *__user *)argv,
+			(char __user *__user *) envp);
 	set_fs(fs);
 
 	return ret;