From owner-freebsd-bugs@FreeBSD.ORG Thu Jun 19 06:50:01 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7DB51065678 for ; Thu, 19 Jun 2008 06:50:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 8ADBE8FC1E for ; Thu, 19 Jun 2008 06:50:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m5J6o1Zw063964 for ; Thu, 19 Jun 2008 06:50:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m5J6o1ZF063963; Thu, 19 Jun 2008 06:50:01 GMT (envelope-from gnats) Resent-Date: Thu, 19 Jun 2008 06:50:01 GMT Resent-Message-Id: <200806190650.m5J6o1ZF063963@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Gleb Kurtsou Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A5811065682 for ; Thu, 19 Jun 2008 06:48:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 707D88FC13 for ; Thu, 19 Jun 2008 06:48:18 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m5J6mIFh022911 for ; Thu, 19 Jun 2008 06:48:18 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m5J6mIlC022909; Thu, 19 Jun 2008 06:48:18 GMT (envelope-from nobody) Message-Id: <200806190648.m5J6mIlC022909@www.freebsd.org> Date: Thu, 19 Jun 2008 06:48:18 GMT From: Gleb Kurtsou To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: conf/124747: [patch] savecore can't create dump from encrypted swap X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jun 2008 06:50:01 -0000 >Number: 124747 >Category: conf >Synopsis: [patch] savecore can't create dump from encrypted swap >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jun 19 06:50:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Gleb Kurtsou >Release: 8.0-CURRENT >Organization: >Environment: FreeBSD h1.d 8.0-CURRENT FreeBSD 8.0-CURRENT #47: Sat Jun 14 14:03:58 EEST 2008 root@h1.d:/usr/obj/usr/freebsd-src/p4/sys/MY1 i386 >Description: Issue was mentioned recently on stable@ http://docs.freebsd.org/cgi/mid.cgi?47F548D9.8060905 The problem is in order of rc.d scripts. After encswap finishes it's impossible to open original (not encrypted) swap device for write so savecore fails. >How-To-Repeat: 1. enable swap encryption /dev/ad0s3b.eli none swap sw 0 0 2. setup dumpdev. in /etc/rc.conf dumpdev="/dev/ad0s3b" 3. force panic. 4. savecore can't read dump because dumpdev is already open for write. >Fix: The following patch adds 'encswap' target to be run after 'disks' but before 'swap1'. With the patch order of scripts becomes: dumpon geli savecore encswap swap1 instead of: dumpon geli encswap swap1 savecore The problem is that savecore looses ability to log to syslog. You still get messages on console. The only solution I see is to use some hackery magic to inject log messages into kern.msgbuf with the help of /dev/console. I'm not sure it's really needed. I use this patch since apr 2008. It works for me. Patch attached with submission follows: diff -ur rc.d.orig/encswap rc.d/encswap --- rc.d.orig/encswap 2008-04-27 14:53:38.000000000 +0300 +++ etc/rc.d/encswap 2008-04-27 14:53:27.000000000 +0300 @@ -4,7 +4,7 @@ # -# PROVIDE: disks -# REQUIRE: initrandom +# PROVIDE: encswap +# REQUIRE: initrandom disks # KEYWORD: nojail . /etc/rc.subr diff -ur rc.d.orig/savecore rc.d/savecore --- rc.d.orig/savecore 2008-04-27 14:53:38.000000000 +0300 +++ etc/rc.d/savecore 2008-04-27 14:53:27.000000000 +0300 @@ -4,8 +4,7 @@ # # PROVIDE: savecore -# REQUIRE: syslogd -# BEFORE: SERVERS +# BEFORE: encswap # KEYWORD: nojail . /etc/rc.subr diff -ur rc.d.orig/swap1 rc.d/swap1 --- rc.d.orig/swap1 2008-04-27 14:53:38.000000000 +0300 +++ etc/rc.d/swap1 2008-04-27 14:53:27.000000000 +0300 @@ -4,7 +4,7 @@ # # PROVIDE: localswap -# REQUIRE: disks +# REQUIRE: encswap disks # KEYWORD: nojail shutdown . /etc/rc.subr >Release-Note: >Audit-Trail: >Unformatted: