cifs: use memzero_explicit to clear stack buffer
authorGiel van Schijndel <[email protected]>
Tue, 6 Jan 2015 21:37:00 +0000 (22:37 +0100)
committerSteve French <[email protected]>
Mon, 19 Jan 2015 21:32:13 +0000 (15:32 -0600)
When leaving a function use memzero_explicit instead of memset(0) to
clear stack allocated buffers. memset(0) may be optimized away.

This particular buffer is highly likely to contain sensitive data which
we shouldn't leak (it's named 'passwd' after all).

Signed-off-by: Giel van Schijndel <[email protected]>
Acked-by: Herbert Xu <[email protected]>
Reported-at: http://www.viva64.com/en/b/0299/
Reported-by: Andrey Karpov
Reported-by: Svyatoslav Razmyslov
Signed-off-by: Steve French <[email protected]>
fs/cifs/smbencrypt.c

index 6c1566366a6613cbc494fe46344c8fd00342a82b..a4232ec4f2ba45386b4f25db484f7f30135b01c2 100644 (file)
@@ -221,7 +221,7 @@ E_md4hash(const unsigned char *passwd, unsigned char *p16,
        }
 
        rc = mdfour(p16, (unsigned char *) wpwd, len * sizeof(__le16));
-       memset(wpwd, 0, 129 * sizeof(__le16));
+       memzero_explicit(wpwd, sizeof(wpwd));
 
        return rc;
 }