Hi tech@,

Add sizes for free() for the Geode LX Security Block crypto accelerator.

Comments? OK?

Index: sys/arch/i386/pci/glxsb.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/pci/glxsb.c,v
retrieving revision 1.33
diff -u -p -r1.33 glxsb.c
--- sys/arch/i386/pci/glxsb.c   8 Sep 2017 05:36:51 -0000       1.33
+++ sys/arch/i386/pci/glxsb.c   24 Dec 2017 18:37:54 -0000
@@ -525,22 +525,22 @@ glxsb_crypto_freesession(uint64_t tid)
 
                if (swd->sw_kschedule) {
                        explicit_bzero(swd->sw_kschedule, txf->ctxsize);
-                       free(swd->sw_kschedule, M_CRYPTO_DATA, 0);
+                       free(swd->sw_kschedule, M_CRYPTO_DATA, txf->ctxsize);
                }
-               free(swd, M_CRYPTO_DATA, 0);
+               free(swd, M_CRYPTO_DATA, sizeof(*swd));
        }
        if ((swd = sc->sc_sessions[sesn].ses_swd_auth)) {
                axf = swd->sw_axf;
 
                if (swd->sw_ictx) {
                        explicit_bzero(swd->sw_ictx, axf->ctxsize);
-                       free(swd->sw_ictx, M_CRYPTO_DATA, 0);
+                       free(swd->sw_ictx, M_CRYPTO_DATA, axf->ctxsize);
                }
                if (swd->sw_octx) {
                        explicit_bzero(swd->sw_octx, axf->ctxsize);
-                       free(swd->sw_octx, M_CRYPTO_DATA, 0);
+                       free(swd->sw_octx, M_CRYPTO_DATA, axf->ctxsize);
                }
-               free(swd, M_CRYPTO_DATA, sizeof *swd);
+               free(swd, M_CRYPTO_DATA, sizeof(*swd));
        }
        explicit_bzero(&sc->sc_sessions[sesn], sizeof(sc->sc_sessions[sesn]));
        return (0);

Reply via email to