Re: [PATCH] x86/hyperv: reserve more vectors
[email protected] Thu, 30 Jul 2026 01:25:55 +0000
| Newsgroups | org.kernel.vger.linux-hyperv |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: Pre-existing issues: - [High] The patch fails to resolve the interrupt mapping failure on system= s with X86_FEATURE_FRED enabled because an early return bypasses the newly = added vector reservations. -- --- Patch [1]: [PATCH] x86/hyperv: reserve more vectors --- commit b0d2bc1fc2c7327b5574f796990f799e59f429b9 Author: Wei Liu <[email protected]> x86/hyperv: reserve more vectors This commit reserves three additional vectors used by the Microsoft Hypervisor to prevent the kernel vector allocator from mapping device interrupts to them when interrupt remapping is unavailable. > diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyper= v.c > --- a/arch/x86/kernel/cpu/mshyperv.c > +++ b/arch/x86/kernel/cpu/mshyperv.c > @@ -502,17 +502,32 @@ static void hv_reserve_irq_vectors(void) [ ... ] > if (cpu_feature_enabled(X86_FEATURE_FRED)) > return; > =20 > if (test_and_set_bit(HYPERV_DBG_ASSERT_VECTOR, system_vectors) || > test_and_set_bit(HYPERV_DBG_SERVICE_VECTOR, system_vectors) || > - test_and_set_bit(HYPERV_DBG_FASTFAIL_VECTOR, system_vectors)) > + test_and_set_bit(HYPERV_DBG_FASTFAIL_VECTOR, system_vectors) || > + test_and_set_bit(HAL_NT_APC_VECTOR, system_vectors) || > + test_and_set_bit(HAL_NT_DPC_VECTOR, system_vectors) || > + test_and_set_bit(HAL_NT_CLOCK_IPI_VECTOR, system_vectors)) > BUG(); [Severity: High] This is a pre-existing issue, but does placing these new vector reservations after the FRED early return cause them to be bypassed on FRED-enabled hardware? Since the early return skips updating the system_vectors bitmap, vectors 0x2F and 0xD2 won't be reserved when X86_FEATURE_FRED is enabled. Because the kernel's dynamic vector allocator still relies on the system_vectors bitmap to avoid assigning device interrupts, won't the allocator still hand these vectors out to drivers on FRED-enabled systems and reproduce the mapping failure? > - pr_info("Hyper-V: reserve vectors: 0x%x 0x%x 0x%x\n", > + pr_info("Hyper-V: reserve vectors: 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x\n", > HYPERV_DBG_ASSERT_VECTOR, HYPERV_DBG_SERVICE_VECTOR, > - HYPERV_DBG_FASTFAIL_VECTOR); > + HYPERV_DBG_FASTFAIL_VECTOR, HAL_NT_APC_VECTOR, > + HAL_NT_DPC_VECTOR, HAL_NT_CLOCK_IPI_VECTOR); > } --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260730005020.2181= [email protected]?part=3D1