diff --git a/mm/nommu.c b/mm/nommu.c
index b293ec1cc4e66879428684ef78afa0a313577528..c53e9c8f6b4adc98ac9fe69b1bc3526bba1baaa5 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -150,7 +150,8 @@ void vfree(void *addr)
 	kfree(addr);
 }
 
-void *__vmalloc(unsigned long size, int gfp_mask, pgprot_t prot)
+void *__vmalloc(unsigned long size, unsigned int __nocast gfp_mask,
+			pgprot_t prot)
 {
 	/*
 	 * kmalloc doesn't like __GFP_HIGHMEM for some reason