From dd5870260c7ae8ec528c4ff2bbbe03add9cf52bf Mon Sep 17 00:00:00 2001 From: Steve French Date: Tue, 17 Feb 2009 01:29:40 +0000 Subject: [PATCH] --- yaml --- r: 131641 b: refs/heads/master c: 69765529d701c838df19ea1f5ad2f33a528261ae h: refs/heads/master i: 131639: 3213354fe0a35c47386af2ab51b9b546427c9fab v: v3 --- [refs] | 2 +- trunk/fs/cifs/CHANGES | 3 ++- trunk/fs/cifs/sess.c | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index ce9736e627ff..e93d60048acf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 44f68fadd865bb288ebdcea2b602f0b1cab27a0c +refs/heads/master: 69765529d701c838df19ea1f5ad2f33a528261ae diff --git a/trunk/fs/cifs/CHANGES b/trunk/fs/cifs/CHANGES index 73ac7ebd1dfc..1cfa72ef1f37 100644 --- a/trunk/fs/cifs/CHANGES +++ b/trunk/fs/cifs/CHANGES @@ -7,7 +7,8 @@ specified and user does not have access to query information about the top of the share. Fix problem in 2.6.28 resolving DFS paths to Samba servers (worked to Windows). Fix rmdir so that pending search (readdir) requests do not get invalid results which include the now -removed directory. +removed directory. Fix oops in cifs_dfs_ref.c when prefixpath is not reachable +when using DFS. Version 1.55 ------------ diff --git a/trunk/fs/cifs/sess.c b/trunk/fs/cifs/sess.c index 5f22de7b79a9..b234407a3007 100644 --- a/trunk/fs/cifs/sess.c +++ b/trunk/fs/cifs/sess.c @@ -228,7 +228,7 @@ static int decode_unicode_ssetup(char **pbcc_area, int bleft, kfree(ses->serverOS); /* UTF-8 string will not grow more than four times as big as UCS-16 */ - ses->serverOS = kzalloc(4 * len, GFP_KERNEL); + ses->serverOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL); if (ses->serverOS != NULL) cifs_strfromUCS_le(ses->serverOS, (__le16 *)data, len, nls_cp); data += 2 * (len + 1); @@ -241,7 +241,7 @@ static int decode_unicode_ssetup(char **pbcc_area, int bleft, return rc; kfree(ses->serverNOS); - ses->serverNOS = kzalloc(4 * len, GFP_KERNEL); /* BB this is wrong length FIXME BB */ + ses->serverNOS = kzalloc((4 * len) + 2 /* trailing null */, GFP_KERNEL); if (ses->serverNOS != NULL) { cifs_strfromUCS_le(ses->serverNOS, (__le16 *)data, len, nls_cp);