Another patch for 32-bit compatibility on 64-bit kernel. I'm running
this way for some clients with older jails...
This bug makes ifconfig output look like:
: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
��: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet X.X.X.X netmask 0xffffffff broadcast X.X.X.X
: flags=8801<UP,SIMPLEX,MULTICAST> mtu 65536
: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
Notice how the interface names are all screwed up. This bug can also
cause certain processes using PF_ROUTE to read invalid memory and crash.
Recently code was added by jhb (thanks!) to sys/net/rtsock.c [1] which
handles compatibility of 32-bit processes. I posted a patch to
freebsd-net about this a while back [2].
However there's one minor issue with the new compat shims, and that is
that the ifi_datalen member of struct if_data is not set correctly. It's
supposed to be set to the size of the if_data struct, but in this case
it's set to the size of the 64-bit struct instead of the 32-bit one.
Just wanted to give folks a heads up in case anyone runs into the same
issue.
PR filed with details, patch and test program to reproduce problem:
http://www.freebsd.org/cgi/query-pr.cgi?pr=149240
Cheers,
Stef
PS: I'm traveling and this computer is not receiving email from the
list, so please CC [email protected] on any responses to this thread.
[1]
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/rtsock.c?rev=1.187;content-type=text/x-cvsweb-markup
[2] http://www.mail-archive.com/[email protected]/msg30230.html
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-jail
To unsubscribe, send any mail to "[email protected]"