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>