socsvn commit: r294505 - soc2013/def/crashdump-head/sys/kern
def at FreeBSD.org
def at FreeBSD.org
Sat Nov 28 13:24:30 UTC 2015
Author: def
Date: Sat Nov 28 13:24:29 2015
New Revision: 294505
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=294505
Log:
Reset offset when a crash dump was written.
Modified:
soc2013/def/crashdump-head/sys/kern/kern_shutdown.c
Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c
==============================================================================
--- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Sat Nov 28 12:12:28 2015 (r294504)
+++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Sat Nov 28 13:24:29 2015 (r294505)
@@ -73,6 +73,7 @@
#include <sys/watchdog.h>
#include <crypto/rijndael/rijndael-api-fst.h>
+#include <crypto/sha2/sha2.h>
#include <ddb/ddb.h>
@@ -874,7 +875,6 @@
kdc->kdc_encryptedkeysize = encryptedkeysize;
bcopy(encryptedkey, kdc->kdc_encryptedkey, kdc->kdc_encryptedkeysize);
- kdc->kdc_nextoffset = 0;
kdc->kdc_dumpkeysize = (sizeof(kdc->kdc_algorithm) +
sizeof(kdc->kdc_iv) + sizeof(kdc->kdc_encryptedkeysize) +
kdc->kdc_encryptedkeysize + KERNELDUMP_BLOCK_SIZE - 1) /
@@ -885,6 +885,13 @@
free(kdc, M_EKCD);
return (NULL);
}
+
+static void
+kerneldumpcrypto_init(struct kerneldumpcrypto *kdc)
+{
+
+ kdc->kdc_nextoffset = 0;
+}
#endif /* EKCD */
uint32_t
@@ -926,6 +933,7 @@
encryptedkey);
if (dumper.kdc == NULL)
return (EINVAL);
+ kerneldumpcrypto_init(dumper.kdc);
}
#endif
@@ -974,8 +982,10 @@
/* Signal completion. */
if (virtual == NULL && physical == 0 && offset == 0 && length == 0) {
- return (di->dumper(di->priv, virtual, physical, offset,
- length));
+ error = di->dumper(di->priv, virtual, physical, offset,
+ length);
+ kerneldumpcrypto_init(kdc);
+ return (error);
}
/* Data have to be aligned to block size. */
More information about the svn-soc-all
mailing list