Crap. I thought I tested this in my test program. I missed lifreq for reasons unbeknownst to me. I'm going to fix it. Stay tuned.
-- Garrett Jürgen Keil wrote: > Garrett D'Amore wrote: > > >> Okay, I've done some more research. >> >> 1) The macros themselves that make use of _IOCPARM_MASK (_IOR, _IOW, >> _IORW) are "private" to ON. That is, external code shouldn't be >> directly using them. kqemu falls down here. I'm not sure we need to >> worry about that. >> >> 2) I did find *one* potential issue in ON, which is that struct >> iftun_req has a size of 600. All other ioctls defined in ON header >> files use sizes that won't be truncated. The ioctls impacted are >> SIOCGTUNPARAM and SIOCSTUNPARAM. >> > > > What about SIOCGLIFFLAGS ? > > I just tried to pkgrm the xVM (b91) packages, on a machine > that is running recent opensolaris bits. And this caught my > attention: > > # pkgrm SUNWvirtinst SUNWurlgrabber SUNWlibvirt SUNWxvmhvm SUNWxvmh SUNWxvmu > SUNWxvmr SUNWxvmdomu SUNWxvmdomr > > Folgendes Package ist derzeit installiert: > SUNWvirtinst virt-install > (i386) 11.11,REV=2008.06.06.18.11 > > Wollen Sie dieses Package entfernen? [y,n,?,q] y > SIOCGLIFFLAGS: Ungültiges Argument > SIOCGLIFFLAGS: Ungültiges Argument > > (Sorry, for the german massages; it's complaining about "SIOCGLIFFLAGS: > invalid argument") > > And a quick check with this test program shows > that the ioctl request code has changed from > c0786975 -> c1786975, and that sizeof(lifreq) == 376 > > #include <sys/types.h> > #include <net/if.h> > #include <sys/sockio.h> > > main() > { > printf("%x\n", SIOCGLIFFLAGS); > printf("%d\n", sizeof(struct lifreq)); > } > > > This message posted from opensolaris.org > _______________________________________________ > opensolaris-code mailing list > opensolaris-code@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/opensolaris-code > _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code