Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Sep 2013 03:13:34 GMT
From:      def@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r257633 - in soc2013/def/crashdump-head: sbin/savecore sys/kern
Message-ID:  <201309230313.r8N3DYwB029463@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309230313.r8N3DYwB029463>