socsvn commit: r257633 - in soc2013/def/crashdump-head: sbin/savecore sys/kern
def at FreeBSD.org
def at FreeBSD.org
Mon Sep 23 03:13:34 UTC 2013
Author: def
Date: Mon Sep 23 03:13:32 2013
New Revision: 257633
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=257633
Log:
Change offset to be a relative value to the first kernel dump header.
Modified:
soc2013/def/crashdump-head/sbin/savecore/decryptfile.c
soc2013/def/crashdump-head/sbin/savecore/decryptfile.h
soc2013/def/crashdump-head/sbin/savecore/savecore.c
soc2013/def/crashdump-head/sys/kern/kern_shutdown.c
Modified: soc2013/def/crashdump-head/sbin/savecore/decryptfile.c
==============================================================================
--- soc2013/def/crashdump-head/sbin/savecore/decryptfile.c Mon Sep 23 01:01:29 2013 (r257632)
+++ soc2013/def/crashdump-head/sbin/savecore/decryptfile.c Mon Sep 23 03:13:32 2013 (r257633)
@@ -127,7 +127,7 @@
FILE *
dopen(const char *fname, const char *mode, const char *keyname,
- const char *private_key_file, const struct kerneldumpheader *h, off_t offset)
+ const char *private_key_file, const struct kerneldumpheader *h)
{
uint8_t key[KERNELDUMP_KEY_SIZE];
struct xts_ctx ctx;
@@ -164,7 +164,7 @@
bzero(&ctx, sizeof(ctx));
bzero(key, KERNELDUMP_KEY_SIZE);
- fd->offset = offset;
+ fd->offset = 0;
fd->buf_used = 0;
return (funopen(fd, NULL, dwrite, NULL, dclose));
Modified: soc2013/def/crashdump-head/sbin/savecore/decryptfile.h
==============================================================================
--- soc2013/def/crashdump-head/sbin/savecore/decryptfile.h Mon Sep 23 01:01:29 2013 (r257632)
+++ soc2013/def/crashdump-head/sbin/savecore/decryptfile.h Mon Sep 23 03:13:32 2013 (r257633)
@@ -20,7 +20,7 @@
int dwrite(void *cookie, const char *data, int size);
FILE *dopen(const char *fname, const char *mode, const char *keyname,
- const char *private_key_file, const struct kerneldumpheader *h, off_t offset);
+ const char *private_key_file, const struct kerneldumpheader *h);
int dclose(void *cookie);
int save_key_for(decFile *fd, const char *keyname);
int decrypt_key_for(decFile *fd, const char *public_key_file);
Modified: soc2013/def/crashdump-head/sbin/savecore/savecore.c
==============================================================================
--- soc2013/def/crashdump-head/sbin/savecore/savecore.c Mon Sep 23 01:01:29 2013 (r257632)
+++ soc2013/def/crashdump-head/sbin/savecore/savecore.c Mon Sep 23 03:13:32 2013 (r257633)
@@ -637,8 +637,7 @@
snprintf(corename, sizeof(corename), "%s.%d",
istextdump ? "textdump.tar" : "vmcore", bounds);
snprintf(keyname, sizeof(keyname), "key.%d", bounds);
- fp = dopen(corename, "w", keyname, private_key_file,
- &kdhl, firsthd + sizeof(kdhf));
+ fp = dopen(corename, "w", keyname, private_key_file, &kdhl);
} else {
snprintf(corename, sizeof(corename), "%s.%d",
istextdump ? "textdump.tar" : "vmcore", bounds);
Modified: soc2013/def/crashdump-head/sys/kern/kern_shutdown.c
==============================================================================
--- soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Sep 23 01:01:29 2013 (r257632)
+++ soc2013/def/crashdump-head/sys/kern/kern_shutdown.c Mon Sep 23 03:13:32 2013 (r257633)
@@ -893,6 +893,7 @@
sector_index = (offset - kdb->kdhoffset)/KERNELDUMP_SECTOR_SIZE;
sector_offset = kdb->kdhoffset + sector_index*KERNELDUMP_SECTOR_SIZE;
devblk_index = (offset - sector_offset)/KERNELDUMP_DEVBLK_SIZE;
+ sector_offset -= kdb->kdhoffset;
while (length > 0) {
memcpy(kdb->buf, virtual, KERNELDUMP_DEVBLK_SIZE);
@@ -912,7 +913,7 @@
devblk_index = (devblk_index+1)%KERNELDUMP_SECTOR_BLKS;
if (devblk_index == 0)
- sector_offset = offset;
+ sector_offset = offset - kdb->kdhoffset;
}
return (0);
More information about the svn-soc-all
mailing list