]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
USB: core: remove the move buf action
authorEdward Adam Davis <eadavis@qq.com>
Wed, 10 Sep 2025 07:58:47 +0000 (15:58 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 12 Sep 2025 11:41:55 +0000 (13:41 +0200)
The buffer size of sysfs is fixed at PAGE_SIZE, and the page offset
of the buf parameter of sysfs_emit_at() must be 0, there is no need
to manually manage the buf pointer offset.

Fixes: 711d41ab4a0e ("usb: core: Use sysfs_emit_at() when showing dynamic IDs")
Reported-by: syzbot+b6445765657b5855e869@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=b6445765657b5855e869
Tested-by: syzbot+b6445765657b5855e869@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Link: https://lore.kernel.org/r/tencent_B32D6D8C9450EBFEEE5ACC2C7B0E6C402D0A@qq.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/driver.c

index c3177034b779eb9e7c61b941c358f615b33ce01d..f441958b0ef45a6f56ebbfac51b8596aa8fa9ae4 100644 (file)
@@ -119,11 +119,11 @@ ssize_t usb_show_dynids(struct usb_dynids *dynids, char *buf)
        guard(mutex)(&usb_dynids_lock);
        list_for_each_entry(dynid, &dynids->list, node)
                if (dynid->id.bInterfaceClass != 0)
-                       count += sysfs_emit_at(&buf[count], count, "%04x %04x %02x\n",
+                       count += sysfs_emit_at(buf, count, "%04x %04x %02x\n",
                                           dynid->id.idVendor, dynid->id.idProduct,
                                           dynid->id.bInterfaceClass);
                else
-                       count += sysfs_emit_at(&buf[count], count, "%04x %04x\n",
+                       count += sysfs_emit_at(buf, count, "%04x %04x\n",
                                           dynid->id.idVendor, dynid->id.idProduct);
        return count;
 }