|
@@ -1943,11 +1943,15 @@ void *vmalloc_exec(unsigned long size)
|
|
|
}
|
|
|
|
|
|
#if defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA32)
|
|
|
-#define GFP_VMALLOC32 GFP_DMA32 | GFP_KERNEL
|
|
|
+#define GFP_VMALLOC32 (GFP_DMA32 | GFP_KERNEL)
|
|
|
#elif defined(CONFIG_64BIT) && defined(CONFIG_ZONE_DMA)
|
|
|
-#define GFP_VMALLOC32 GFP_DMA | GFP_KERNEL
|
|
|
+#define GFP_VMALLOC32 (GFP_DMA | GFP_KERNEL)
|
|
|
#else
|
|
|
-#define GFP_VMALLOC32 GFP_KERNEL
|
|
|
+/*
|
|
|
+ * 64b systems should always have either DMA or DMA32 zones. For others
|
|
|
+ * GFP_DMA32 should do the right thing and use the normal zone.
|
|
|
+ */
|
|
|
+#define GFP_VMALLOC32 GFP_DMA32 | GFP_KERNEL
|
|
|
#endif
|
|
|
|
|
|
/**
|