On Sat, 15 Nov 2025 at 09:02, Naman Jain <[email protected]> wrote: > > > > On 11/15/2025 2:27 PM, Naman Jain wrote: > > From: Long Li <[email protected]> > > > > Hyper-V may offer a non latency sensitive device with subchannels without > > monitor bit enabled. The decision is entirely on the Hyper-V host not > > configurable within guest. > > > > When a device has subchannels, also signal events for the subchannel > > if its monitor bit is disabled. > > > > This patch also removes the memory barrier when monitor bit is enabled > > as it is not necessary. The memory barrier is only needed between > > setting up interrupt mask and calling vmbus_set_event() when monitor > > bit is disabled. > > > > This is a backport of the upstream commit > > d062463edf17 ("uio_hv_generic: Set event for all channels on the device") > > with minor modifications to resolve merge conflicts. > > Original change was not a fix, but it needs to be backported to fix a > > NULL pointer crash resulting from missing interrupt mask setting. > > > > Commit 37bd91f22794 ("uio_hv_generic: Let userspace take care of interrupt > > mask") > > removed the default setting of interrupt_mask for channels (including > > subchannels) in the uio_hv_generic driver, as it relies on the user space > > to take care of managing it. This approach works fine when user space > > can control this setting using the irqcontrol interface provided for uio > > devices. Support for setting the interrupt mask through this interface for > > subchannels came only after commit d062463edf17 ("uio_hv_generic: Set event > > for all channels on the device"). On older kernels, this change is not > > present. With uio_hv_generic no longer setting the interrupt_mask, and > > userspace not having the capability to set it, it remains unset, > > and interrupts can come for the subchannels, which can result in a crash > > in hv_uio_channel_cb. Backport the change to older kernels, where this > > change was not present, to allow userspace to set the interrupt mask > > properly for subchannels. Additionally, this patch also adds certain > > checks for primary vs subchannels in the hv_uio_channel_cb, which can > > gracefully handle these two cases and prevent the NULL pointer crashes. > > > > Signed-off-by: Long Li <[email protected]> > > Reviewed-by: Michael Kelley <[email protected]> > > Reviewed-by: Saurabh Sengar <[email protected]> > > Fixes: 37bd91f22794 ("uio_hv_generic: Let userspace take care of interrupt > > mask") > > Sorry for missing this, please add Closes tag, if possible before merging. > > Closes: https://bugs.debian.org/1120602 > > I have kept it in the other patch for 6.6 and prior kernels. > > Regards, > Naman > > > Cc: <[email protected]> # 6.12.x > > Signed-off-by: Naman Jain <[email protected]> > > --- > > Regards, > Naman
Tested-by: Peter Morrow <[email protected]>
