diff options
author | Steve French <sfrench@us.ibm.com> | 2009-03-26 23:05:15 +0000 |
---|---|---|
committer | Chris Wright <chrisw@sous-sol.org> | 2009-04-02 13:55:17 -0700 |
commit | 15bd8021d870d2c4fbf8c16578d72d03cfddd3a7 (patch) | |
tree | 3bf037c8dd3baf7f0804e62ef1a9533f2b60944d /fs | |
parent | db257505aa751f739531fee3a3f16a45ddb0eaca (diff) |
CIFS: Fix memory overwrite when saving nativeFileSystem field during mount
upstream commit: b363b3304bcf68c4541683b2eff70b29f0446a5b
CIFS can allocate a few bytes to little for the nativeFileSystem field
during tree connect response processing during mount. This can result
in a "Redzone overwritten" message to be logged.
Signed-off-by: Sridhar Vinay <vinaysridhar@in.ibm.com>
Acked-by: Shirish Pargaonkar <shirishp@us.ibm.com>
CC: Stable <stable@kernel.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>
[chrisw: minor backport to CHANGES file]
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/CHANGES | 3 | ||||
-rw-r--r-- | fs/cifs/connect.c | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 851388fafc7..6562eb0353a 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES @@ -7,6 +7,9 @@ are authenticated as guest, as reconnections, invalidating the earlier user's smb session. This fix allows cifs to mount multiple times to the same server with different userids without risking invalidating earlier established security contexts. +Fix "redzone overwritten" bug in cifs_put_tcon (CIFSTcon may allocate too +little memory for the "nativeFileSystem" field returned by the server +during mount). Version 1.56 ------------ diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index da0f4ffa061..4b64f39a85d 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -3667,7 +3667,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, BCC(smb_buffer_response)) { kfree(tcon->nativeFileSystem); tcon->nativeFileSystem = - kzalloc(length + 2, GFP_KERNEL); + kzalloc(2*(length + 1), GFP_KERNEL); if (tcon->nativeFileSystem) cifs_strfromUCS_le( tcon->nativeFileSystem, |