socsvn commit: r289913 - in soc2013/def/crashdump-head: sbin/cryptcore sys/kern sys/sys
def at FreeBSD.org
def at FreeBSD.org
Wed Aug 19 09:24:36 UTC 2015
Author: def
Date: Wed Aug 19 09:24:34 2015
New Revision: 289913
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=289913
Log:
Allocate in dump_encrypted_write instead of kerneldumpcrypto.
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 Wed Aug 19 06:08:11 2015 (r289912)
+++ soc2013/def/crashdump-head/sbin/cryptcore/cryptcore.c Wed Aug 19 09:24:34 2015 (r289913)
@@ -216,7 +216,7 @@
cryptcore_decrypt(const char *privkeyfile, const char *keyfile,
const char *input, const char *output)
{
- uint8_t buf[KERNELDUMP_BUFFER_SIZE], key[KERNELDUMP_KEY_SIZE];
+ uint8_t buf[2 * KERNELDUMP_BLOCK_SIZE], key[KERNELDUMP_KEY_SIZE];
EVP_CIPHER_CTX ctx;
FILE *fp;
struct kerneldumpkey *kdk;
Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c
==============================================================================
--- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 06:08:11 2015 (r289912)
+++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Wed Aug 19 09:24:34 2015 (r289913)
@@ -153,7 +153,6 @@
cipherInstance kdc_ci;
off_t kdc_lastoffset;
size_t kdc_lastlength;
- uint8_t kdc_buf[KERNELDUMP_BUFFER_SIZE];
} dumpcrypto;
static struct kerneldumpkey *dumpkey;
@@ -1014,13 +1013,12 @@
dump_encrypted_write(struct dumperinfo *di, void *virtual, vm_offset_t physical,
off_t offset, size_t length)
{
+ uint8_t buf[2 * KERNELDUMP_BLOCK_SIZE];
struct kerneldumpcrypto *kdc;
- struct kerneldumpkey *kdk;
int error;
size_t nbytes;
kdc = di->kdc;
- kdk = di->kdk;
error = dump_check_bounds(di, offset, length);
if (error != 0)
@@ -1041,23 +1039,22 @@
kdc->kdc_lastlength = length;
while (length > 0) {
- if (length >= KERNELDUMP_BUFFER_SIZE)
- nbytes = KERNELDUMP_BUFFER_SIZE;
+ if (length >= sizeof(buf))
+ nbytes = sizeof(buf);
else
nbytes = length;
- memcpy(kdc->kdc_buf, virtual, nbytes);
+ memcpy(buf, virtual, nbytes);
- error = rijndael_blockEncrypt(&kdc->kdc_ci, &kdc->kdc_ki,
- kdc->kdc_buf, 8 * nbytes, kdc->kdc_buf);
+ error = rijndael_blockEncrypt(&kdc->kdc_ci, &kdc->kdc_ki, buf,
+ 8 * nbytes, buf);
if (error <= 0)
return (EIO);
error = rijndael_cipherInit(&kdc->kdc_ci, MODE_CBC,
- kdc->kdc_buf + nbytes - KERNELDUMP_IV_SIZE);
+ buf + nbytes - KERNELDUMP_IV_SIZE);
if (error <= 0)
return (EIO);
- error = di->dumper(di->priv, kdc->kdc_buf, physical,
- offset, nbytes);
+ error = di->dumper(di->priv, buf, physical, offset, nbytes);
if (error != 0)
return (error);
Modified: soc2013/def/crashdump-head/sys/sys/kerneldump.h
==============================================================================
--- soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 06:08:11 2015 (r289912)
+++ soc2013/def/crashdump-head/sys/sys/kerneldump.h Wed Aug 19 09:24:34 2015 (r289913)
@@ -55,7 +55,6 @@
#endif
#define KERNELDUMP_BLOCK_SIZE 512
-#define KERNELDUMP_BUFFER_SIZE 1024
#define KERNELDUMP_IV_SIZE 16
#define KERNELDUMP_KEY_SIZE 32
More information about the svn-soc-all
mailing list