Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jun 2013 07:13:38 +0200
From:      Konrad Witaszczyk <def@freebsd.org>
To:        soc-status@freebsd.org
Subject:   Report #1: Unattended encrypted kernel crash dumps
Message-ID:  <51C92702.8090006@freebsd.org>

next in thread | raw e-mail | index | archive | help
During the last week I wanted to create a new format of kernel dump 
header and modify savecore to use it. This is the list of tasks that I 
finished:
* Extend struct kerneldumpheader (sys/sys/kerneldump.h) to save data in 
crash dumps which are required to initialize keyInstance and 
cipherInstance for sys/crypto/rijndael.
* Extend struct dumperinfo (sys/sys/conf.h) to encrypt data with 
sys/crypto/rijndael.
* Try to read values from the new definition of struct kerneldumpheader 
in savecore.
You can see examples in the repository 
(http://svnweb.freebsd.org/socsvn/soc2013/def/).

Things worth remembering:
* parity from struct kerneldumpheader should be the last element of the 
struct. Otherwise a dump device might stop saving a crash dump with 
parity and then savecore will think that the crash dump is correct.
* If I change struct kerneldumpheader then I need to remember that it 
has to have TEXTDUMP_BLOCKSIZE-bytes (sys/ddb/ddb.h):
sys/ddb/db_textdump.c
116 CTASSERT(sizeof(struct kerneldumpheader) == TEXTDUMP_BLOCKSIZE);
117 CTASSERT(sizeof(struct ustar_header) == TEXTDUMP_BLOCKSIZE);
In order to follow this rule I had to change lengths of versionstring 
and panicstring. Is it the right way to do it or should I change somehow 
TEXTDUMP_BLOCKSIZE and struct ustar_header?

This week I will try to import parts of pefs to encrypt data and modify 
struct kerneldumpheader to a proper format for pefs. My spring semester 
has just finished so there will be more time to work.

More details about the project: 
https://wiki.freebsd.org/SummerOfCode2013/UnattendedEncryptedCrashDumps.


Regards,
Konrad Witaszczyk



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