From: Benoit Boissinot <benoit.boissinot@ens-lyon.org>

On s390, Ben's check-kmalloc-args-at-compile-time patch triggers this:

arch/s390/mm/built-in.o(.text+0x152c): In function `query_segment_type':
extmem.c: undefined reference to `__your_kmalloc_flags_are_not_valid'
arch/s390/mm/built-in.o(.text+0x19ec): In function `segment_load':
: undefined reference to `__your_kmalloc_flags_are_not_valid'

Because we're using bare GFP_DMA.  But GFP_DMA is supposed to be ORed with
GFP_KERNEL (or whatever).

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 arch/s390/mm/extmem.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN arch/s390/mm/extmem.c~s390-fix-invalid-kmalloc-flags arch/s390/mm/extmem.c
--- devel/arch/s390/mm/extmem.c~s390-fix-invalid-kmalloc-flags	2005-08-06 14:54:56.000000000 -0700
+++ devel-akpm/arch/s390/mm/extmem.c	2005-08-06 14:54:56.000000000 -0700
@@ -172,8 +172,8 @@ dcss_diag_translate_rc (int vm_rc) {
 static int
 query_segment_type (struct dcss_segment *seg)
 {
-	struct qin64  *qin = kmalloc (sizeof(struct qin64), GFP_DMA);
-	struct qout64 *qout = kmalloc (sizeof(struct qout64), GFP_DMA);
+	struct qin64  *qin = kmalloc (sizeof(struct qin64), GFP_DMA|GFP_KERNEL);
+	struct qout64 *qout = kmalloc (sizeof(struct qout64), GFP_DMA|GFP_KERNEL);
 
 	int diag_cc, rc, i;
 	unsigned long dummy, vmrc;
@@ -332,7 +332,7 @@ static int
 __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long *end)
 {
 	struct dcss_segment *seg = kmalloc(sizeof(struct dcss_segment),
-			GFP_DMA);
+			GFP_DMA|GFP_KERNEL);
 	int dcss_command, rc, diag_cc;
 
 	if (seg == NULL) {
_