Commit 9dfec4a5 authored by Edward Adam Davis's avatar Edward Adam Davis Committed by Greg Kroah-Hartman
Browse files

USB: core: remove the move buf action



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: 711d41ab ("usb: core: Use sysfs_emit_at() when showing dynamic IDs")
Reported-by: default avatar <syzbot+b6445765657b5855e869@syzkaller.appspotmail.com>
Closes: https://syzkaller.appspot.com/bug?extid=b6445765657b5855e869


Tested-by: default avatar <syzbot+b6445765657b5855e869@syzkaller.appspotmail.com>
Signed-off-by: default avatarEdward Adam Davis <eadavis@qq.com>
Link: https://lore.kernel.org/r/tencent_B32D6D8C9450EBFEEE5ACC2C7B0E6C402D0A@qq.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 7609fb63
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
}