aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/wusbcore/security.c
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2014-11-30 18:03:49 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-12-02 16:15:02 -0800
commiteb94ec7a6516cd1dc52c0f63d7c3a274e6337416 (patch)
treedea11e9e5f49de50fbb38e982b3fad742b90d7d4 /drivers/usb/wusbcore/security.c
parentusbip: remove unneeded structure (diff)
downloadlinux-dev-eb94ec7a6516cd1dc52c0f63d7c3a274e6337416.tar.xz
linux-dev-eb94ec7a6516cd1dc52c0f63d7c3a274e6337416.zip
wusb: replace memset by memzero_explicit
Memset on a local variable may be removed when it is called just before the variable goes out of scope. Using memzero_explicit defeats this optimization. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier x; type T; @@ { ... when any T x[...]; ... when any when exists - memset + memzero_explicit (x, -0, ...) ... when != x when strict } // </smpl> This change was suggested by Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/wusbcore/security.c')
-rw-r--r--drivers/usb/wusbcore/security.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/wusbcore/security.c b/drivers/usb/wusbcore/security.c
index cc74d669c802..b66faaf3e842 100644
--- a/drivers/usb/wusbcore/security.c
+++ b/drivers/usb/wusbcore/security.c
@@ -522,10 +522,10 @@ error_hs3:
error_hs2:
error_hs1:
memset(hs, 0, 3*sizeof(hs[0]));
- memset(&keydvt_out, 0, sizeof(keydvt_out));
- memset(&keydvt_in, 0, sizeof(keydvt_in));
- memset(&ccm_n, 0, sizeof(ccm_n));
- memset(mic, 0, sizeof(mic));
+ memzero_explicit(&keydvt_out, sizeof(keydvt_out));
+ memzero_explicit(&keydvt_in, sizeof(keydvt_in));
+ memzero_explicit(&ccm_n, sizeof(ccm_n));
+ memzero_explicit(mic, sizeof(mic));
if (result < 0)
wusb_dev_set_encryption(usb_dev, 0);
error_dev_set_encryption: