[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] blockdev: Refuse to open encrypted image unless
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH] blockdev: Refuse to open encrypted image unless paused |
Date: |
Fri, 14 Mar 2014 09:15:35 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) |
Paolo Bonzini <address@hidden> writes:
> Il 13/03/2014 16:00, Markus Armbruster ha scritto:
>> Paolo Bonzini <address@hidden> writes:
>>
>>> Il 13/03/2014 14:18, Markus Armbruster ha scritto:
>>>> Paolo Bonzini <address@hidden> writes:
>>>>
>>>>> Il 12/03/2014 18:00, Markus Armbruster ha scritto:
>>>>>> + } else if (!runstate_check(RUN_STATE_PRELAUNCH)
>>>>>> + && !runstate_check(RUN_STATE_PAUSED)) { /* HACK */
>>>>>
>>>>> Why not "if (runstate_is_running())"?
>>>>
>>>> The predicate actually wanted here is "monitor command 'cont' required
>>>> to get the guest running", because 'cont' is where the protection is.
>>>> My run state test is a crude approximation.
>>>>
>>>
>>> Got it. Then you need to add at least a check for
>>> "runstate_check(RUN_STATE_INMIGRATE)", otherwise you break incoming
>>> migration.
>>
>> You're right: main() goes from RUN_STATE_PRELAUNCH to
>> RUN_STATE_INMIGRATE right when it sees -incoming.
>>
>>> Actually, I think only SAVE_VM/RESTORE_VM/DEBUG are
>>> problematic, but I understand why you preferred a conservative
>>> test (sufficient condition, not necessary).
>>
>> Exactly.
>>
>>> You are singling out prelaunch and inmigrate because drive_init
>>> will reset autostart to 0 for an encrypted image, right?
>>
>> Yes.
>
> Then with the check modified,
>
> Reviewed-by: Paolo Bonzini <address@hidden>
Will do. I'm refraining from adding your R-by, because I need to update
tests, too. Thanks!
Re: [Qemu-devel] [PATCH] blockdev: Refuse to open encrypted image unless paused, Eric Blake, 2014/03/13