Date: Sun, 7 Jun 2015 16:23:14 GMT From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r286795 - in soc2013/def/crashdump-head: sbin/cryptcore sys/kern sys/sys Message-ID: <201506071623.t57GNE4e061410@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: def Date: Sun Jun 7 16:23:14 2015 New Revision: 286795 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=286795 Log: Let kernel dump key size be size_t. Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c soc2013/def/crashdump-head/sys/kern/kern_shutdown.c soc2013/def/crashdump-head/sys/sys/kerneldump.h Modified: soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c ============================================================================== --- soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Sun Jun 7 15:54:57 2015 (r286794) +++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Sun Jun 7 16:23:14 2015 (r286795) @@ -146,8 +146,8 @@ * From this moment on keys have to be erased before exit. */ privkeysize = RSA_size(privkey); - if (privkeysize != kdk->kdk_encryptedkeylen) { - pjdlog_error("RSA modulus size mismatch: equals %db and should be %db.", + if (privkeysize != (int)kdk->kdk_encryptedkeylen) { + pjdlog_error("RSA modulus size mismatch: equals %db and should be %lub.", 8 * privkeysize, 8 * kdk->kdk_encryptedkeylen); goto failed; } Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c ============================================================================== --- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Sun Jun 7 15:54:57 2015 (r286794) +++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Sun Jun 7 16:23:14 2015 (r286795) @@ -139,7 +139,6 @@ SYSCTL_INT(_kern_shutdown, OID_AUTO, show_busybufs, CTLFLAG_RW, &show_busybufs, 0, ""); -#ifdef EKCD MALLOC_DEFINE(M_KDK, "kerneldumpkey", "Kernel dump key structure"); static struct kerneldumpcrypto { @@ -155,6 +154,7 @@ static struct kerneldumpkey *dumpkey; +#ifdef EKCD static int kerneldump_sysctl_keymaterial(SYSCTL_HANDLER_ARGS); static int kerneldump_sysctl_encryptedkey(SYSCTL_HANDLER_ARGS); @@ -905,7 +905,7 @@ kerneldump_sysctl_encryptedkey(SYSCTL_HANDLER_ARGS) { struct kerneldumpkey *kdk; - size_t kdksize; + size_t encryptedkeylen, kdksize; int error; if (req->newptr == NULL) { @@ -916,8 +916,10 @@ dumpkey->kdk_encryptedkeylen, req)); } - kdksize = ((sizeof(*kdk) + req->newlen + KERNELDUMP_BLOCK_SIZE - 1) / - KERNELDUMP_BLOCK_SIZE) * KERNELDUMP_BLOCK_SIZE; + encryptedkeylen = req->newlen; + kdksize = ((sizeof(*kdk) + encryptedkeylen + + KERNELDUMP_BLOCK_SIZE - 1) / KERNELDUMP_BLOCK_SIZE) * + KERNELDUMP_BLOCK_SIZE; kdk = (struct kerneldumpkey *)malloc(kdksize, M_KDK, M_WAITOK); if (kdk == NULL) @@ -925,7 +927,7 @@ kdk->kdk_size = kdksize; bcopy(dumpcrypto.kdc_iv, kdk->kdk_iv, sizeof(kdk->kdk_iv)); - kdk->kdk_encryptedkeylen = req->newlen; + kdk->kdk_encryptedkeylen = encryptedkeylen; error = sysctl_handle_opaque(oidp, kdk->kdk_encryptedkey, kdk->kdk_encryptedkeylen, req); @@ -1064,6 +1066,7 @@ length)); } #endif + return (di->dumper(di->priv, virtual, physical, offset, length)); } Modified: soc2013/def/crashdump-head/sys/sys/kerneldump.h ============================================================================== --- soc2013/def/crashdump-head/sys/sys/kerneldump.h Sun Jun 7 15:54:57 2015 (r286794) +++ soc2013/def/crashdump-head/sys/sys/kerneldump.h Sun Jun 7 16:23:14 2015 (r286795) @@ -93,9 +93,9 @@ }; struct kerneldumpkey { - uint32_t kdk_size; + size_t kdk_size; uint8_t kdk_iv[KERNELDUMP_IV_SIZE]; - int kdk_encryptedkeylen; + size_t kdk_encryptedkeylen; uint8_t kdk_encryptedkey[]; };
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201506071623.t57GNE4e061410>