Generic ioctl and ether_ioctl don't agree
Yar Tikhiy
yar at comp.chem.msu.su
Thu Mar 15 11:15:14 UTC 2007
On Wed, Mar 14, 2007 at 10:01:38AM -0500, Brooks Davis wrote:
> On Wed, Mar 14, 2007 at 01:20:23PM +0300, Yar Tikhiy wrote:
> > Hi folks,
> >
> > Quite a while ago I noticed that our ioctl handlers get the ioctl
> > command via u_long, but ether_ioctl()'s command argument is int.
> > This disarray dates back to 1998, when ioctl functions started to
> > take u_long as the command, but ether_ioctl() was never fixed.
> > Fortunately, our ioctl command coding still fits in 32 bits, or
> > else we would've got problems on 64-bit arch'es already. I'd like
> > to fix this long-standing bug some day after RELENG_7 is branched.
> > Of course, this will break ABI to network modules on all 64-bit
> > arch'es. BTW, the same applies to other L2 layers, such as firewire,
> > which seems to have been cloned from if_ethersubr.c.
> >
> > Any objections or comments? Thanks!
>
> Why wait? We're allowed to break module ABIs in current at any time and
> there's no chance modules built on RELENG_6 will work on RELENG_7
> trees anyway.
Perhaps I was over-conservative. :-)
--
Yar
More information about the freebsd-net
mailing list