Skip to contentSkip to conversation

COCONUT-SVSM Development Release v2026.10-devel

DISCUSSION Jörg Rödel 1 participant 1 message Oct 27

lore
Share & tools
lore
#0 lore raw

Hi,

Another small COCONUT-SVSM release is out: 2026.10-devel. This development snapshot release contains 49 non-merge commits from 4 contributors. The highlights in this release are:

* New per-CPU storage infrastructure: Added linker-backed per-CPU keys with GS-relative access, runtime initialization, and assembly support.

* Exception handling: Added GS-base switching on exception and interrupt entry from userspace, including special handling for NMI, machine-check, double-fault, and #HV paths.

* Page-table correctness: Fixed memory-management operations to use the currently active page table after switching into task context. Added immutable page-table walking and reader-writer locking for task page tables.

* APIC emulation: Corrected processor-priority calculation when an in-service interrupt determines the priority. Added unit tests for interrupt priorities, guest IRQ delivery, EOI handling, and #HV doorbell interactions.

* CPU feature detection: Improved handling of multi-bit CPUID fields and corrected C-bit and INVLPGB capability detection.

* Panic handling: Prevented recursive panics and routed SEV-SNP GHCB I/O failures through the panic handler so termination includes secrets-page scrubbing.

* Dependency updates: Updated P-384, crypto-bigint, and Tokio to address audit findings affecting constant-time arithmetic and AsyncFd I/O safety.

The full shortlog of the non-merge commits is attached.

Happy testing!

Cheers,

Joerg

Carlos López (20):
kernel: mm/pagetable: rename methods to reflect mutability
kernel: mm/pagetable: add immutable page table walking methods
kernel: task: deduplicate current_task()
kernel: task: always get active task via current_task()
kernel: task: replace pagetable spinlock with RWLock
kernel: cpu/percpu: store page table in AtomicPtr
kernel: cpu/percpu: explicitly install page table
kernel: cpu/percpu: add PerCpu::new_pgtable()
kernel: cpu/percpu: fix current page table accesses
kernel: prevent reentrant panicking
kernel: platform/snp: route GHCB I/O port failures through panic handler
kernel: cpu/features: allow arbitrary feature presence detection
kernel: cpu/apic: mask priority subclass if ISR determines PPR
kernel: cpu/apic: abstract away CPU APIC state
kernel: cpu/apic: introduce APIC testing infrastructure
kernel: cpu/apic: add basic APIC tests
kernel: cpu/apic: add guest IRQ delivery tests
kernel: cpu/apic: add EOI tests
kernel: cpu/apic: add #HV doorbell tests
xbuild: preserve build artifacts before objcopy

Joerg Roedel (25):
kernel: cpu/idt: Handle GS swaps on exception entry and return kernel/percpu: Add linker-backed per-CPU keys kernel/percpu: Install CPU-local GS areas kernel/percpu: Support runtime CPU-local initialization kernel/percpu: Add assembly-visible per-CPU keys kernel/vmsa: Move reset IP to a per-CPU key kernel/irq: Move IRQ state to a per-CPU key kernel/apic: Move the x86 APIC to a per-CPU key kernel/apic: Move guest APIC state to a per-CPU key kernel/mm: Move the 4K virtual-range allocator to a per-CPU key kernel/mm: Move the 2M virtual-range allocator to a per-CPU key kernel/hyperv: Move hypercall pages to a per-CPU key kernel/sev: Move the GHCB page to a per-CPU key kernel/percpu: Move context switch stack to a per-CPU key kernel/percpu: Move paging root to a per-CPU key kernel/smp: Move shared CPU state to a per-CPU key kernel/sev: Move the HV doorbell to a per-CPU key kernel/percpu: Move current stack to a per-CPU key kernel/percpu: Move TSS to a per-CPU key kernel/percpu: Move ISST to a per-CPU key kernel/percpu: Move initial shadow stack to a per-CPU key kernel/percpu: Move IST stacks to per-CPU keys kernel/percpu: Move legacy per-CPU state into the percpu directory
deps: Update p384 and Tokio to resolve audit findings COCONUT-SVSM Release 2026.10-devel

Luigi Leonardi (2):
kernel: make block and vsock imply virtio-drivers verification/verus_macro_stub: remove unused proc-macro2 dependency

Stefano Garzarella (2):
docs/RELEASE-TESTPLAN: add persistence test
build: remove legacy wrapper script