[CIFS] Reduce cifs stack space usage

The two cifs functions that used the most stack according
to "make checkstack" have been changed to use less stack.

Thanks to jra and Shaggy for helpful ideas

Signed-off-by: Steve French <sfrench@us.ibm.com>
cc: jra@samba.org
cc: shaggy@us.ibm.com
diff --git a/fs/cifs/smbdes.c b/fs/cifs/smbdes.c
index 7a1b2b9..1a4a395 100644
--- a/fs/cifs/smbdes.c
+++ b/fs/cifs/smbdes.c
@@ -196,7 +196,7 @@
 	char c[28];
 	char d[28];
 	char *cd;
-	char ki[16][48];
+	char (*ki)[48];
 	char *pd1;
 	char l[32], r[32];
 	char *rl;
@@ -206,6 +206,10 @@
 	if(pk1 == NULL)
 		return;
 
+	ki = kmalloc(16*48, GFP_KERNEL);
+	if(ki == NULL)
+		return;
+
 	cd = pk1 + 56;
 	pd1= cd  + 56;
 	rl = pd1 + 64;
@@ -243,6 +247,7 @@
 		er = kmalloc(48+48+32+32+32, GFP_KERNEL);
 		if(er == NULL) {
 			kfree(pk1);
+			kfree(ki);
 			return;
 		}
 		erk = er+48;
@@ -290,6 +295,7 @@
 
 	permute(out, rl, perm6, 64);
 	kfree(pk1);
+	kfree(ki);
 }
 
 static void