]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Drivers: hv: Move add_interrupt_randomness() to hypervisor callback sysvec
authorMichael Kelley <mhklinux@outlook.com>
Thu, 2 Apr 2026 20:24:00 +0000 (13:24 -0700)
committerThomas Gleixner <tglx@kernel.org>
Sat, 4 Apr 2026 19:01:56 +0000 (21:01 +0200)
commite8be82c2d77ec1bb0148406e54b105028a83537e
treed22f8f61b6d7c3e1ad50509366f3304291f57d84
parentbad28e01f206c533a8ff7fec5efe8ab9607a8364
Drivers: hv: Move add_interrupt_randomness() to hypervisor callback sysvec

The Hyper-V ISRs, for normal guests and when running in the hypervisor root
patition, are calling add_interrupt_randomness() as a primary source of
entropy. The call is currently in the ISRs as a common place to handle both
x86/x64 and arm64.

On x86/x64, hypervisor interrupts come through a custom sysvec entry, and
do not go through a generic interrupt handler.

On arm64, hypervisor interrupts come through an emulated GICv3. GICv3 uses
the generic handler handle_percpu_devid_irq(), which does not do
add_interrupt_randomness() -- unlike its counterpart
handle_percpu_irq().

But handle_percpu_devid_irq() is now updated to do the
add_interrupt_randomness(). So add_interrupt_randomness() is now needed
only in Hyper-V's x86/x64 custom sysvec path.

Move add_interrupt_randomness() from the Hyper-V ISRs into the Hyper-V
x86/x64 custom sysvec path, matching the existing STIMER0 sysvec path.

With this change, add_interrupt_randomness() is no longer called from any
device drivers, which is appropriate.

Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Acked-by: Wei Liu <wei.liu@kernel.org>
Link: https://patch.msgid.link/20260402202400.1707-3-mhklkml@zohomail.com
arch/x86/kernel/cpu/mshyperv.c
drivers/hv/mshv_synic.c
drivers/hv/vmbus_drv.c