From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOTyk-00048n-H5 for qemu-devel@nongnu.org; Fri, 14 Mar 2014 11:25:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOTyf-0007ms-Nr for qemu-devel@nongnu.org; Fri, 14 Mar 2014 11:24:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOTyf-0007mf-Ex for qemu-devel@nongnu.org; Fri, 14 Mar 2014 11:24:53 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s2EFOqQG015113 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 14 Mar 2014 11:24:52 -0400 Date: Fri, 14 Mar 2014 16:24:50 +0100 From: Stefan Hajnoczi Message-ID: <20140314152450.GA21289@stefanha-thinkpad.redhat.com> References: <1394785368-24437-1-git-send-email-armbru@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1394785368-24437-1-git-send-email-armbru@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 for-2.0] blockdev: Refuse to open encrypted image unless paused List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: kwolf@redhat.com, pbonzini@redhat.com, famz@redhat.com, qemu-devel@nongnu.org On Fri, Mar 14, 2014 at 09:22:48AM +0100, Markus Armbruster wrote: > Opening an encrypted image takes an additional step: setting the key. > Between open and the key set, the image must not be used. > > We have some protection against accidental use in place: you can't > unpause a guest while we're missing keys. You can, however, hot-plug > block devices lacking keys into a running guest just fine, or insert > media lacking keys. In the latter case, notifying the guest of the > insert is delayed until the key is set, which may suffice to protect > at least some guests in common usage. > > This patch makes the protection apply in more cases, in a rather > heavy-handed way: it doesn't let you open encrypted images unless > we're in a paused state. > > It doesn't extend the protection to users other than the guest (block > jobs?). Use of runstate_check() from block.c is disgusting. Best I > can do right now. > > Signed-off-by: Markus Armbruster > --- > v2: > * Don't break -incoming [Paolo] > * Update qemu-iotests/087 [Fam] > > block.c | 9 ++++++++- > stubs/Makefile.objs | 1 + > stubs/runstate-check.c | 6 ++++++ > tests/qemu-iotests/087 | 17 +++++++++++++++++ > tests/qemu-iotests/087.out | 11 ++++++++++- > 5 files changed, 42 insertions(+), 2 deletions(-) > create mode 100644 stubs/runstate-check.c Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan