专题
默认展示周报、月报中的精选内容,并补充最近 14 天日报中的新进展;原始候选仅作为内部索引,不直接堆叠到页面。
迁移链路、停机窗口、脏页收敛与跨主机兼容性
在现有 X.509 之外支持 PSK,免去 CA 部署与证书过期管理;协议需兼容新旧 libvirt 混合场景。
讨论允许此类 memslot 改变 flags 以支持脏页记录,并探索 guest_memfd 页迁移与 TDX/SNP 等不兼容场景的自动检测。
系列解决由于未记录前端设备选择而导致不同QEMU部署间迁移失败的问题。
提出映射式内存快照加载优化,允许虚拟机在加载完关键页面后立即运行。
Peter Xu提出新命令行方式允许在QEMU早期启动阶段设置迁移参数,避免全局变量。
解决在ARM与x86上使用HVF时迁移启动立即段错误的问题。
以 Intel TDX 现有导出/导入 VCPU ioctl 为示例,讨论 KVM 层机密 guest 迁移 API;目标是与 SEV-SNP 对齐,避免厂商私有接口。
安全披露:vhost inflight 迁移中缓冲区大小截断可致目标主机堆溢出;issue 已关闭,请以原始 issue 结论为准。
运行中软件更新、在线维护与服务连续性
通过 Kexec Handover 与 LUO 实现 VFIO 设备状态在内核升级间保持。
v4 为 KHO/live update 增加 IOMMU 状态保存恢复,包括 Intel VT-d 与 vfio cdev/iommufd 附加状态;讨论关注 guest 暂停耗时。
运行中增减 CPU、内存与设备的能力
此前版本补丁禁止在 SNP 活跃时进行 CPU 热插拔,以防固件状态不一致;当前已迭代至 v9,最新变化以原始线程为准。
由短同步等待改为通过事件机制处理vCPU拔出完成,避免超时。
模拟透明NVMe磁盘热交换,匹配物理NVMe插拔行为。
建议允许用户自定义设备拔出超时,应对重负载 guest 的慢速响应。
使用 sanlock 时,热拔租期后恢复暂停域偶尔报错“Failed to acquire lock: File exists”。
提出允许管理员指定vCPU热插拔实体的选择顺序。
新增在 guest 不配合时强制 detach 并发送 DEVICE_DELETED;Daniel 讨论其安全性与管理面价值。
时延、吞吐、资源开销与硬件加速优化
v7系列为基于NVIDIA Tegra241的虚拟机提供SMMUv3命令队列虚拟化硬件加速。
允许将多个加速 SMMUv3 实例与 pcie-expander-bus 上的 hostdev 关联,v11 修复 capabilities 门控。
nSVM RFC v2:给 L2 独立 ASID(类似 VPID),放弃动态分配,简化嵌套切换时的 TLB flush。
v7 为 SVM 增加 PML_ADDR/PML_INDEX 与缓冲满 VMEXIT,并抽出公共 kvm_update_cpu_dirty_logging() 统一 VMX/SVM 开启路径;Kai Huang 已审阅。
通过文件描述符直接读取主机 IOMMU 事件并注入 guest,已获测试验证准备合入。
延长PCIe PASID和ATS支持,重构vfio-pci错误处理,允许用户灵活配置加速SMMU实例。
修复 kvm_emu_mmio_read() 中 kvm_complete_mmio_read() 已更新 PC 后再次 update_pc() 导致指令跳过的问题,已应用。
针对短块场景优化中断轮询、can_do_io 存储和退出分发,减少翻译后执行固定开销。
启动、关机、重启、暂停恢复与生命周期可靠性
允许 SEV-ES/SNP/TDX 虚拟机执行 reboot 而无需终止 QEMU,当前版本迭代中。
修正缺少 #VC 处理及 CR-pinning 导致 FRED 过早启用的问题,v3 已发布。
调整辅助守护进程关闭顺序,并修复热插拔到暂停 VM 时的磁盘锁定。
把各板卡静态的 arm_boot_info 迁移到 MachineState 子类,明确归属;已应用至 target-arm.next。
增加VIR_DOMAIN_EVENT_ID_CHANNEL_LIFECYCLE事件,使管理程序能感知virtio-serial通道的连通和断开。
v3 将 realize 状态从单 boolean 扩展为可表达进行中/失败/已撤销的状态,禁止 realize() 重入与重复,并厘清 instance_init 与属性设置分工。
修复 i.MX uSDHC 模型与早期 boot 访问,使 Buildroot U-Boot 可从 USDHC2 加载内核并到达 login;为两条启动路径补功能测试。
v2 将 last_steal 字段移至主 vcpu 结构,并在 kvm_arch_vcpu_run_pid_change() 调用前重置;配套 selftest 参考 steal_time.c。
明确 CVE 与具有强原始证据的安全缺陷;编号和类型仅依据原始内容
合入 virtio-gpu 对 pixman_image_create_bits() 返回值的检查,防止 BLOB scanout 传未对齐 stride 触发空指针解引用;附其他 UI 修复。
daemonStreamHandleWriteData 的返回契约含糊导致错误回复被二次释放,触发 libvirtd abort 并 crash-loop。
event timer 的 nexttimer 计数器可能溢出为负,破坏 keepalive 引用与停止逻辑;讨论改用空闲区间表。
通过添加qom-tests单元测试,实例化所有非抽象类型以发现并修复多处QOM对象生命周期问题。
10.0.12 与 11.0.3 stable 在 7/22 冻结;包含针对 CVE-2021-3611 的补全,堵住 intel-hda 其余 DMA 访问点的 DMA-to-self-MMIO 重入。
针对安全漏洞的补丁系列,但因缺失行而等待 v2。
补丁报告事件队列用 1024 个 OUT 描述符可令 vq->iov[out] 越过数组末尾;维护者回应称并非本次补丁引入,将尝试复现确认是否真实问题。
Berrangé 的 misc-fixes pull 因新增 websock 测试在 msys2 的 AF_UNIX 运行时失败而撤回,改为对 Windows 跳过测试后 re-spin。