Hi,
I've being taking a deep look at the code in the usbip tool and found this
small bug at
https://github.com/torvalds/linux/blob/master/tools/usb/usbip/src/utils.c :
44 rc = write_sysfs_attribute(match_busid_attr_path, command,
45 sizeof(command));
^
Using sizeof instead of strlen in this line, leads to the following situation
as seen by a strace:
strace -s100000 /usr/local/sbin/usbip bind -b 1-1.3
.
.
open("/sys/bus/usb/drivers/usbip-host/match_busid", O_WRONLY) = 3
write(3, "add 1-1.3\0@\0\0\0\0\0unbind\0\0\0\0\0\0\0\0\0\0/sys", 36) = 36
close(3)
.
.
The string line should be "add 1-1.3" alone, but well, it works, so no doubt
nobody noticed before.
Thought it is worth reporting anyway. Here's the patch:
diff --git a/tools/usb/usbip/src/utils.c b/tools/usb/usbip/src/utils.c
index 2b3d6d2..ea1a1af 100644
--- a/tools/usb/usbip/src/utils.c
+++ b/tools/usb/usbip/src/utils.c
@@ -42,7 +42,7 @@ int modify_match_busid(char *busid, int add)
snprintf(command, SYSFS_BUS_ID_SIZE + 4, "del %s", busid);
rc = write_sysfs_attribute(match_busid_attr_path, command,
- sizeof(command));
+ strlen(command));
if (rc < 0) {
dbg("failed to write match_busid: %s", strerror(errno));
return -1;
Regards,
Juan Zea
Juan Antonio Zea Herranz
Proyectos y consultorÃa | Qindel Group
E: [email protected]
T: +34 91 766 24 21
M: +34 637 74 63 09
W: qindel.com
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html