From owner-svn-soc-all@FreeBSD.ORG Sun Jun 7 16:23:16 2015 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3EE5CD1C for ; Sun, 7 Jun 2015 16:23:16 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2CA31128D for ; Sun, 7 Jun 2015 16:23:16 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.9/8.14.9) with ESMTP id t57GNGSC061415 for ; Sun, 7 Jun 2015 16:23:16 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.9/8.14.9/Submit) id t57GNE4e061410 for svn-soc-all@FreeBSD.org; Sun, 7 Jun 2015 16:23:14 GMT (envelope-from def@FreeBSD.org) Date: Sun, 7 Jun 2015 16:23:14 GMT Message-Id: <201506071623.t57GNE4e061410@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2015 16:23:16 -0000 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[]; };