[libvirt] [PATCH 1/8] qemu: don't take agent and monitor job for shutdown

Michal Privoznik mprivozn at redhat.com
Thu Dec 12 14:47:25 UTC 2019


On 12/5/19 5:08 PM, Jonathon Jongsma wrote:
> We have to assume that the guest agent may be malicious so we don't want
> to allow any agent queries to block any other libvirt API. By holding
> a monitor job while we're querying the agent, we open ourselves up to a
> DoS.  So split the function into separate parts: one that does the agent
> shutdown and one that does the monitor shutdown. Each part holds only a
> job of the appropriate type.
> 
> Signed-off-by: Jonathon Jongsma <jjongsma at redhat.com>
> ---
>   src/qemu/qemu_driver.c | 116 +++++++++++++++++++++++++----------------
>   1 file changed, 72 insertions(+), 44 deletions(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 1911073f3e..92efde72dd 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -1929,6 +1929,72 @@ static int qemuDomainResume(virDomainPtr dom)
>       return ret;
>   }
>   
> +static int qemuDomainShutdownFlagsAgent(virQEMUDriverPtr driver,
> +                                        virDomainObjPtr vm,
> +                                        bool isReboot,
> +                                        bool reportError)

Nitpick, new functions should be written as

static int
qemuDomainBlahBlah()
{
}

Michal




More information about the libvir-list mailing list