summary refs log tree commit diff stats
path: root/results/scraper/launchpad-without-comments/1814352
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/launchpad-without-comments/1814352')
-rw-r--r--results/scraper/launchpad-without-comments/181435223
1 files changed, 23 insertions, 0 deletions
diff --git a/results/scraper/launchpad-without-comments/1814352 b/results/scraper/launchpad-without-comments/1814352
new file mode 100644
index 00000000..c21e701a
--- /dev/null
+++ b/results/scraper/launchpad-without-comments/1814352
@@ -0,0 +1,23 @@
+SIOCGIFNAME takes a struct ifreq not an integer
+
+The ioctl SIOCGIFNAME takes a pointer to a struct ifreq, not an integer.  This leads to if_indextoname() not correctly returning interface names (well, not if they're longer than 4 characters including the trailing NULL ;-).
+
+This is observed on v3.1.0.
+
+The following one-line patch will be sent to the qemu-devel mailing list:
+
+"""
+diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
+index ae8951625f..37501f575c 100644
+--- a/linux-user/ioctls.h
++++ b/linux-user/ioctls.h
+@@ -178,7 +178,7 @@
+ #endif /* CONFIG_USBFS */
+ 
+   IOCTL(SIOCATMARK, IOC_R, MK_PTR(TYPE_INT))
+-  IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
++  IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(MK_STRUCT(STRUCT_int_ifreq)))
+   IOCTL(SIOCGIFFLAGS, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
+   IOCTL(SIOCSIFFLAGS, IOC_W, MK_PTR(MK_STRUCT(STRUCT_short_ifreq)))
+   IOCTL(SIOCGIFADDR, IOC_W | IOC_R, MK_PTR(MK_STRUCT(STRUCT_sockaddr_ifreq)))
+"""
\ No newline at end of file