| |||||||||||||||||||||||||||||||
|
> As discussed earlier on -net, I'd like to commit the following > patch. It will bring ether_ioctl() into accord with ioctl() WRT > the type of the command argument. In our ioctl(), command became > an u_long ages ago, but ether_ioctl() has never been fixed. With > int and u_long being of different widths on 64-bit arch'es, the > discrepancy can get us in trouble sooner or later. > > In fact, ioctl command coding is very unlikely to change, so it > will continue to fit in 32 bits. OTOH, the C compiler should be > uneasy about squeezing u_long into int when ether_ioctl() is called > from an if_ioctl handler, so this patch will be a little step on > the way to a warning-free kernel. > > This change will inevitably break the kernel interface to network > modules, so all of them will need rebuilding. I received several positive replies and no negative ones, so the change has just been committed. In fact, it breaks KBI on 64-bit platforms only. (Thanks to Ruslan Ermilov for reminding me about that.) Many thanks to those folks who encouraged the change. Now all Ethernet-related kernel modules need to be rebuilt on 64-bit platforms. The conventional "make buildkernel" procedure will take care of stock modules, so only 3rd-party modules need some attention. -- Yar _______________________________________________ freebsd-current mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe"
| ||||||||||||||||||||||||||||||
© 2004-2008 readlist.com