stating: ccree: fix allocation of void sized buf
authorGilad Ben-Yossef <gilad@benyossef.com>
Sun, 7 Jan 2018 12:14:34 +0000 (12:14 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jan 2018 15:29:36 +0000 (16:29 +0100)
We were allocating buffers using sizeof(*struct->field) where field was
type void.  Fix it by having a local variable with the real type.

Cc: stable@vger.kernel.org
Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ccree/ssi_ivgen.c
drivers/staging/ccree/ssi_sram_mgr.c

index 6b926495c5d24a78d51e6ae53a4ea2170c074c7f..2ba15a5c631f5b91466552ae530c2ec7a1615029 100644 (file)
@@ -175,13 +175,10 @@ int cc_ivgen_init(struct cc_drvdata *drvdata)
        int rc;
 
        /* Allocate "this" context */
-       drvdata->ivgen_handle = kzalloc(sizeof(*drvdata->ivgen_handle),
-                                       GFP_KERNEL);
-       if (!drvdata->ivgen_handle)
+       ivgen_ctx = kzalloc(sizeof(*ivgen_ctx), GFP_KERNEL);
+       if (!ivgen_ctx)
                return -ENOMEM;
 
-       ivgen_ctx = drvdata->ivgen_handle;
-
        /* Allocate pool's header for initial enc. key/IV */
        ivgen_ctx->pool_meta = dma_alloc_coherent(device, CC_IVPOOL_META_SIZE,
                                                  &ivgen_ctx->pool_meta_dma,
@@ -200,6 +197,8 @@ int cc_ivgen_init(struct cc_drvdata *drvdata)
                goto out;
        }
 
+       drvdata->ivgen_handle = ivgen_ctx;
+
        return cc_init_iv_sram(drvdata);
 
 out:
index 1a2a7f4dc65796f9ab350492ee1133aba4ded24c..c5497aacc71d5d288de9079d3903068ebaed052b 100644 (file)
@@ -32,13 +32,16 @@ void cc_sram_mgr_fini(struct cc_drvdata *drvdata)
  */
 int cc_sram_mgr_init(struct cc_drvdata *drvdata)
 {
+       struct cc_sram_ctx *ctx;
+
        /* Allocate "this" context */
-       drvdata->sram_mgr_handle = kzalloc(sizeof(*drvdata->sram_mgr_handle),
-                                          GFP_KERNEL);
+       ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
 
-       if (!drvdata->sram_mgr_handle)
+       if (!ctx)
                return -ENOMEM;
 
+       drvdata->sram_mgr_handle = ctx;
+
        return 0;
 }