Commit 5cb5c2f4a837 for kernel

commit 5cb5c2f4a8373eb4c8fdbfdc857bb28f28f71fe0
Author: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Date:   Wed Jul 22 23:56:46 2026 +0000

    mshv: Use kfree_rcu in mshv_portid_free

    mshv_portid_free() uses synchronize_rcu() followed by kfree() to
    reclaim port table entries. This blocks the caller until a full RCU
    grace period elapses, which is unnecessary since the same module already
    uses the non-blocking kfree_rcu() pattern in mshv_port_table_fini().

    Replace with kfree_rcu() to avoid the blocking wait and keep the
    reclamation strategy consistent across the file.

    Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
    Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
    Signed-off-by: Wei Liu <wei.liu@kernel.org>

diff --git a/drivers/hv/mshv_portid_table.c b/drivers/hv/mshv_portid_table.c
index 6f59b3e37624..0d632507ed21 100644
--- a/drivers/hv/mshv_portid_table.c
+++ b/drivers/hv/mshv_portid_table.c
@@ -62,8 +62,7 @@ mshv_portid_free(int port_id)
 	WARN_ON(!info);
 	idr_unlock(&port_table_idr);

-	synchronize_rcu();
-	kfree(info);
+	kfree_rcu(info, portbl_rcu);
 }

 int