From owner-svn-soc-all@FreeBSD.ORG Mon Sep 23 03:13:34 2013 Return-Path: Delivered-To: svn-soc-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 7DD6C389 for ; Mon, 23 Sep 2013 03:13:34 +0000 (UTC) (envelope-from def@FreeBSD.org) Received: from socsvn.freebsd.org (socsvn.freebsd.org [IPv6:2001:1900:2254:206a::50:2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 6948B2835 for ; Mon, 23 Sep 2013 03:13:34 +0000 (UTC) Received: from socsvn.freebsd.org ([127.0.1.124]) by socsvn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8N3DY80029468 for ; Mon, 23 Sep 2013 03:13:34 GMT (envelope-from def@FreeBSD.org) Received: (from www@localhost) by socsvn.freebsd.org (8.14.7/8.14.6/Submit) id r8N3DYwB029463 for svn-soc-all@FreeBSD.org; Mon, 23 Sep 2013 03:13:34 GMT (envelope-from def@FreeBSD.org) Date: Mon, 23 Sep 2013 03:13:34 GMT Message-Id: <201309230313.r8N3DYwB029463@socsvn.freebsd.org> X-Authentication-Warning: socsvn.freebsd.org: www set sender to def@FreeBSD.org using -f From: def@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r257633 - in soc2013/def/crashdump-head: sbin/savecore sys/kern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-soc-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the entire Summer of Code repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Sep 2013 03:13:34 -0000 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);