public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH qemu-server] hotplug pending: disallow deleting tpmstate and efidisk from configuration
@ 2025-02-27 14:30 Fiona Ebner
  2025-03-03 12:21 ` [pve-devel] applied: " Fabian Grünbichler
  0 siblings, 1 reply; 2+ messages in thread
From: Fiona Ebner @ 2025-02-27 14:30 UTC (permalink / raw)
  To: pve-devel

When the VM is running, after deleting the tpmstate from the
configuration, the TPM drive will still be active, because it is used
by swtpm and QEMU will still have the TPM socket.

Also, a subsequent live migration will fail, because the
commandline for the target instance does not match the one for the
source:
> kvm: Unknown ramblock "tpm-ppi", cannot accept migration

For efidisk, hotunplug would already fail with
> can't unplug device 'efidisk0'
but it's better to catch this early and queue the change as pending
instead.

For modifying the 'tpmstate0' and 'efidisk0' options, there are
already checks to disallow live changes.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 PVE/QemuServer.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 9d06ac8b..b6fc1f17 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -4886,7 +4886,8 @@ sub vmconfig_hotplug_pending {
 		    PVE::Network::SDN::Vnets::del_ips_from_mac($net->{bridge}, $net->{macaddr}, $conf->{name});
 		}
 	    } elsif (is_valid_drivename($opt)) {
-		die "skip\n" if !$hotplug_features->{disk} || $opt =~ m/(ide|sata)(\d+)/;
+		die "skip\n"
+		    if !$hotplug_features->{disk} || $opt =~ m/(efidisk|ide|sata|tpmstate)(\d+)/;
 		vm_deviceunplug($vmid, $conf, $opt);
 		vmconfig_delete_or_detach_drive($vmid, $storecfg, $conf, $opt, $force);
 	    } elsif ($opt =~ m/^memory$/) {
-- 
2.39.5



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pve-devel] applied: [PATCH qemu-server] hotplug pending: disallow deleting tpmstate and efidisk from configuration
  2025-02-27 14:30 [pve-devel] [PATCH qemu-server] hotplug pending: disallow deleting tpmstate and efidisk from configuration Fiona Ebner
@ 2025-03-03 12:21 ` Fabian Grünbichler
  0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2025-03-03 12:21 UTC (permalink / raw)
  To: Proxmox VE development discussion

thanks!

On February 27, 2025 3:30 pm, Fiona Ebner wrote:
> When the VM is running, after deleting the tpmstate from the
> configuration, the TPM drive will still be active, because it is used
> by swtpm and QEMU will still have the TPM socket.
> 
> Also, a subsequent live migration will fail, because the
> commandline for the target instance does not match the one for the
> source:
>> kvm: Unknown ramblock "tpm-ppi", cannot accept migration
> 
> For efidisk, hotunplug would already fail with
>> can't unplug device 'efidisk0'
> but it's better to catch this early and queue the change as pending
> instead.
> 
> For modifying the 'tpmstate0' and 'efidisk0' options, there are
> already checks to disallow live changes.
> 
> Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
> ---
>  PVE/QemuServer.pm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
> index 9d06ac8b..b6fc1f17 100644
> --- a/PVE/QemuServer.pm
> +++ b/PVE/QemuServer.pm
> @@ -4886,7 +4886,8 @@ sub vmconfig_hotplug_pending {
>  		    PVE::Network::SDN::Vnets::del_ips_from_mac($net->{bridge}, $net->{macaddr}, $conf->{name});
>  		}
>  	    } elsif (is_valid_drivename($opt)) {
> -		die "skip\n" if !$hotplug_features->{disk} || $opt =~ m/(ide|sata)(\d+)/;
> +		die "skip\n"
> +		    if !$hotplug_features->{disk} || $opt =~ m/(efidisk|ide|sata|tpmstate)(\d+)/;
>  		vm_deviceunplug($vmid, $conf, $opt);
>  		vmconfig_delete_or_detach_drive($vmid, $storecfg, $conf, $opt, $force);
>  	    } elsif ($opt =~ m/^memory$/) {
> -- 
> 2.39.5
> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel@lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 
> 


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-03-03 12:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-27 14:30 [pve-devel] [PATCH qemu-server] hotplug pending: disallow deleting tpmstate and efidisk from configuration Fiona Ebner
2025-03-03 12:21 ` [pve-devel] applied: " Fabian Grünbichler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal