From nobody Sun Jun 14 12:46:38 2026 Received: from sender4-pp-o94.zoho.com (sender4-pp-o94.zoho.com [136.143.188.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7698338A28F; Thu, 2 Apr 2026 20:25:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.94 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775161513; cv=pass; b=Ms3epxQnP90rSxDQn5Gcl0+m+1MxWXFZSNh9k6vP6qIEO2rKMfuH3f4mH6Ly2kBjTSguTeDxW8xUpLvtquJXxpDxx9VNcoavjGaYf4YqDNsH9MB6fH128j2MiMbXPXyXdkbXYH49+jCp1PNNfJMl0JFY/IEqNlSYOw0hBYxSEYU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775161513; c=relaxed/simple; bh=F4LgDRq2v/rbUOmDnv6Whmnrku4Rr/JGT33GpNEor9I=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=iyPA6lwa4JN/gKO+L8I96nyVSAiBZgQQmvsDHSp/nmUTEWCQAdYvoeAk8QYsWzlLeAWMyvmZ9SbKLR2uMx5PHX0ymhmJXoQ0GOS9mTSqlvlqk73ZujTrRKl7yM1knBB44pFRy+OXnogqVqvIyKRB0kI/PwrRDF7FPTUrEFoFTow= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=mhklkml@zohomail.com header.b=aeuLq9tG; arc=pass smtp.client-ip=136.143.188.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=mhklkml@zohomail.com header.b="aeuLq9tG" ARC-Seal: i=1; a=rsa-sha256; t=1775161457; cv=none; d=zohomail.com; s=zohoarc; b=ERoBfHhaVO73gC+GrXCMMwodBVwt9BHfp2CmcehDqy9Pq/EnaYMslycMLg9/1yuj4bFQluMtD4Fj/qr7O548AU71Y3WIzyHTW+t8/uHI92Lyu+0o0roS7NAIqzn2O4jZvm4VQ036ipQdoYsruGD+vAgnpqXfpXncohJ5La1bf7E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775161457; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=eyQFAmheBIp6QuU8rjyhHusND7EN1rSqPmCqpBGxAiI=; b=CcyoTdU9mciqNlX9NXVYFl4LuMV01UN1nDYHqaoCCUpJeNmRX1D8xjZSrP8mXkubJKkO5ArV12ZbVqYijvWVObY8m438E/SjMUtSL2uXv2fbTlTjv3k/a8+OiN3zx+OJKX1lxuUylunZJiRpi2PzX8pwS0lrTnLSVXjpm1r3l9c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=mhklkml@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1775161457; s=zm2022; d=zohomail.com; i=mhklkml@zohomail.com; h=From:From:To:To:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:Reply-To:Reply-To:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Cc; bh=eyQFAmheBIp6QuU8rjyhHusND7EN1rSqPmCqpBGxAiI=; b=aeuLq9tGYcyoQFimEZd9v1/eZmDOk8rvHYssCpWpaIc9Ei73nZ2dXaJpMTBDMkpa 8IEg4ujaZvQ3FOoVeoY8o8gggwBP+Tbj/Yom9rdtgK+fAqhaCjYl9/cx0o1CjdApSdD OvJC/JOrQpZt7HPJCwMjzJ1SU3xvmf3MXIZSoOXU= Received: by mx.zohomail.com with SMTPS id 1775161454230532.5382218817623; Thu, 2 Apr 2026 13:24:14 -0700 (PDT) From: Michael Kelley To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, longli@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, maz@kernel.org, bigeasy@linutronix.de, x86@kernel.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org Subject: [PATCH 1/2] genirq/chip: Do add_interrupt_randomness() in handle_percpu_devid_irq() Date: Thu, 2 Apr 2026 13:23:59 -0700 Message-Id: <20260402202400.1707-2-mhklkml@zohomail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260402202400.1707-1-mhklkml@zohomail.com> References: <20260402202400.1707-1-mhklkml@zohomail.com> Reply-To: mhklinux@outlook.com Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr0801122759ff960247f20993572a473200007be8766086786e1ecdf5c45700d67505177c79872009088d78:zu08011227f004be260bb709d241c038eb0000a02eb8d58dfa55092f99dd1202c863e9e067f0d9c1e2860267:rf0801122c2e093a47bde57cdde0f18709000025de50774f2780eb3956e3f29cf25058116fd88fd82dae08ae48bb1e5426:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" From: Michael Kelley handle_percpu_devid_irq() is a version of handle_percpu_irq() but with the addition of a pointer to a per-cpu devid. However, handle_percpu_irq() does add_interrupt_randomness(), while handle_percpu_devid_irq() currently does not. Add the missing add_interrupt_randomness(), as it is needed when per-cpu interrupts with devid's are used in VMs for interrupts from the hypervisor. Signed-off-by: Michael Kelley --- kernel/irq/chip.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 6147a07d0127..6c9b1dc4e7d4 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -14,6 +14,7 @@ #include #include #include +#include =20 #include =20 @@ -929,6 +930,8 @@ void handle_percpu_devid_irq(struct irq_desc *desc) enabled ? " and unmasked" : "", irq, cpu); } =20 + add_interrupt_randomness(irq); + if (chip->irq_eoi) chip->irq_eoi(&desc->irq_data); } --=20 2.25.1 From nobody Sun Jun 14 12:46:38 2026 Received: from sender4-pp-o94.zoho.com (sender4-pp-o94.zoho.com [136.143.188.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CE6903630B2; Thu, 2 Apr 2026 20:25:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=136.143.188.94 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775161532; cv=pass; b=R2xu7v/XtMrhQE1iWnYPONkhY61HD2MjTFCFpDrQ2h6mf6EgkK+cm0gVoV/BLm3sKHKVhVfFtTsSEU1XsCuX6hXbm0J2nsBxE/sU3SHhRaf5ioQshDP8YoYSSQ/mPDcGbMD7HVZg6Uc1dRTxw0OvZbJVu6t928N9deLs/eAoVvc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775161532; c=relaxed/simple; bh=lVeJ2zPl9eCElQeF0GBPzbaDxT0NGRcsP23sOmfq+UY=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PytO9pLTTRRZcSzZJZd76PoA+Qpz3TdtKV1YpiUp0ehr94iEZgll0UB4aaQdIU53jnM/KqMXC9R6eQgLPQUfqz6KcdAmyBh9jm7yl2eYJ7yMAWg98wWIsnND4dNMHch+OmACz6MDOY75+HsksrQAzeqYFvBtQ2Xvq1ymV3z29/g= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com; spf=pass smtp.mailfrom=zohomail.com; dkim=pass (1024-bit key) header.d=zohomail.com header.i=mhklkml@zohomail.com header.b=O6pfK2Bm; arc=pass smtp.client-ip=136.143.188.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=zohomail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=zohomail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=zohomail.com header.i=mhklkml@zohomail.com header.b="O6pfK2Bm" ARC-Seal: i=1; a=rsa-sha256; t=1775161458; cv=none; d=zohomail.com; s=zohoarc; b=j+EaK0mEguMAohiFbO2ixc7qPgIio3Pp1tu1BbYbC/TDiUG7q7ksVaaggpox9Wo6UaMGLBBf4apD5maVxziyIbvrFb8SSqGUEfxpxLAtgKLRl1UdlD50rBYQdzlqs+++XB5JjKy+z7RK/YlDL6QZbh9jhJdzwmLDlVZd/yKv2ak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775161458; h=Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=9b9I0WnX4tFlJlMp2MLVnr0Zm0zNfG+ly/bSZExSq5Y=; b=bRhL8TYoV06KF1fvczUVKHaizcioEwtVY7UN9hvUUue6QQEsKuaQDWSLJ8KZpaRM4nuhNzSd7vAMsHkTZUqQYwYy/yr1855EitON1mpytXFZi+MLGTAEvfJSCHvuxwVKgpapYMWgHjv+eenQ0tyi5CDg6U+X8Zl0ajdTTBe/US8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=zohomail.com; spf=pass smtp.mailfrom=mhklkml@zohomail.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1775161458; s=zm2022; d=zohomail.com; i=mhklkml@zohomail.com; h=From:From:To:To:Subject:Subject:Date:Date:Message-Id:Message-Id:In-Reply-To:References:Reply-To:Reply-To:MIME-Version:Content-Transfer-Encoding:Feedback-ID:Cc; bh=9b9I0WnX4tFlJlMp2MLVnr0Zm0zNfG+ly/bSZExSq5Y=; b=O6pfK2Bm0AuHOD4IeTv5igsBDh6IoCJharo4HB1ytqp4PxH6Zh2vQfVp3fLE2gI9 y70xfDDkYvlnq3wFHBQjYejnZ5Qp12GG7oXWgnPo5id7dnAYA/lCa/+4Q3y3P6zW3F2 plrlr1/fD5DH9o8QATKk6RD1nx6PYw5qZWSzClks= Received: by mx.zohomail.com with SMTPS id 1775161455726733.2763469996942; Thu, 2 Apr 2026 13:24:15 -0700 (PDT) From: Michael Kelley To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, longli@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, maz@kernel.org, bigeasy@linutronix.de, x86@kernel.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org Subject: [PATCH 2/2] Drivers: hv: Move add_interrupt_randomness() to hypervisor callback sysvec Date: Thu, 2 Apr 2026 13:24:00 -0700 Message-Id: <20260402202400.1707-3-mhklkml@zohomail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260402202400.1707-1-mhklkml@zohomail.com> References: <20260402202400.1707-1-mhklkml@zohomail.com> Reply-To: mhklinux@outlook.com Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Feedback-ID: rr080112274b26552e0060022410715b1100009ff3d93fdc116e2ba085cb2d8befaa1e8f8e42ca3f1851de8c:zu08011227414717d93c37576b86649ee80000009ad4f28d8801e1b699aea732b53bb4570ff5e752c3ddafeb:rf0801122c2f68a8295b367b49b13e949d00005090f925957a92263d1ff91871f74059df28ce1cf7aecac9bece74f64ab5:ZohoMail X-ZohoMailClient: External Content-Type: text/plain; charset="utf-8" From: Michael Kelley 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 Acked-by: Thomas Gleixner Acked-by: Wei Liu Reviewed-by: Tianyu Lan --- arch/x86/kernel/cpu/mshyperv.c | 2 ++ drivers/hv/mshv_synic.c | 3 --- drivers/hv/vmbus_drv.c | 3 --- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c index 9befdc557d9e..a7dfc29d3470 100644 --- a/arch/x86/kernel/cpu/mshyperv.c +++ b/arch/x86/kernel/cpu/mshyperv.c @@ -161,6 +161,8 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_hyperv_callback) if (vmbus_handler) vmbus_handler(); =20 + add_interrupt_randomness(HYPERVISOR_CALLBACK_VECTOR); + if (ms_hyperv.hints & HV_DEPRECATING_AEOI_RECOMMENDED) apic_eoi(); =20 diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c index 43f1bcbbf2d3..e2288a726fec 100644 --- a/drivers/hv/mshv_synic.c +++ b/drivers/hv/mshv_synic.c @@ -12,7 +12,6 @@ #include #include #include -#include #include #include #include @@ -445,8 +444,6 @@ void mshv_isr(void) mb(); if (msg->header.message_flags.msg_pending) hv_set_non_nested_msr(HV_MSR_EOM, 0); - - add_interrupt_randomness(mshv_sint_vector); } else { pr_warn_once("%s: unknown message type 0x%x\n", __func__, msg->header.message_type); diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 1d71c28fadba..3faa74e49a6b 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -32,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -1356,8 +1355,6 @@ static void __vmbus_isr(void) =20 vmbus_message_sched(hv_cpu, hv_cpu->hyp_synic_message_page); vmbus_message_sched(hv_cpu, hv_cpu->para_synic_message_page); - - add_interrupt_randomness(vmbus_interrupt); } =20 static DEFINE_PER_CPU(bool, vmbus_irq_pending); --=20 2.25.1