[ Sasha's backport helper bot ]
Hi,
Summary of potential issues: ⚠️ Found matching upstream commit but patch is missing proper reference to it
Found matching upstream commit: f31fe8165d365379d858c53bef43254c7d6d1cfd
Status in newer kernel trees: 6.14.y | Present (different SHA1: 419663d2d8f5) 6.12.y | Present (different SHA1: 5235de792838)
Note: The patch differs from the upstream commit: --- 1: f31fe8165d365 ! 1: 655fda9f47dce uio_hv_generic: Fix sysfs creation path for ring buffer @@ Commit message Signed-off-by: Naman Jain namjain@linux.microsoft.com Link: https://lore.kernel.org/r/20250502074811.2022-2-namjain@linux.microsoft.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org + (cherry picked from commit f31fe8165d365379d858c53bef43254c7d6d1cfd)
## drivers/hv/hyperv_vmbus.h ## @@ drivers/hv/hyperv_vmbus.h: static inline int hv_debug_add_dev_dir(struct hv_device *dev) @@ drivers/hv/vmbus_drv.c: static ssize_t subchannel_id_show(struct vmbus_channel * static VMBUS_CHAN_ATTR_RO(subchannel_id);
+static int hv_mmap_ring_buffer_wrapper(struct file *filp, struct kobject *kobj, -+ const struct bin_attribute *attr, ++ struct bin_attribute *attr, + struct vm_area_struct *vma) +{ + struct vmbus_channel *channel = container_of(kobj, struct vmbus_channel, kobj); @@ drivers/hv/vmbus_drv.c: static umode_t vmbus_chan_attr_is_visible(struct kobject }
+static umode_t vmbus_chan_bin_attr_is_visible(struct kobject *kobj, -+ const struct bin_attribute *attr, int idx) ++ struct bin_attribute *attr, int idx) +{ + const struct vmbus_channel *channel = + container_of(kobj, struct vmbus_channel, kobj); @@ drivers/hv/vmbus_drv.c: static umode_t vmbus_chan_attr_is_visible(struct kobject + return attr->attr.mode; +} + - static const struct attribute_group vmbus_chan_group = { + static struct attribute_group vmbus_chan_group = { .attrs = vmbus_chan_attrs, - .is_visible = vmbus_chan_attr_is_visible + .bin_attrs = vmbus_chan_bin_attrs, @@ drivers/hv/vmbus_drv.c: static umode_t vmbus_chan_attr_is_visible(struct kobject + .is_bin_visible = vmbus_chan_bin_attr_is_visible, };
- static const struct kobj_type vmbus_chan_ktype = { -@@ drivers/hv/vmbus_drv.c: static const struct kobj_type vmbus_chan_ktype = { + static struct kobj_type vmbus_chan_ktype = { +@@ drivers/hv/vmbus_drv.c: static struct kobj_type vmbus_chan_ktype = { .release = vmbus_chan_release, };
@@ drivers/uio/uio_hv_generic.c: static void hv_uio_rescind(struct vmbus_channel *c * The ring buffer is allocated as contiguous memory by vmbus_open */ -static int hv_uio_ring_mmap(struct file *filp, struct kobject *kobj, -- const struct bin_attribute *attr, +- struct bin_attribute *attr, - struct vm_area_struct *vma) +static int +hv_uio_ring_mmap(struct vmbus_channel *channel, struct vm_area_struct *vma) @@ drivers/uio/uio_hv_generic.c: static int hv_uio_ring_mmap(struct file *filp, str - .name = "ring", - .mode = 0600, - }, -- .size = 2 * SZ_2M, +- .size = 2 * HV_RING_SIZE * PAGE_SIZE, - .mmap = hv_uio_ring_mmap, -}; - ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.6.y | Success | Success |