Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Mar 2007 13:20:23 +0300
From:      Yar Tikhiy <yar@comp.chem.msu.su>
To:        freebsd-net@freebsd.org
Subject:   Generic ioctl and ether_ioctl don't agree
Message-ID:  <20070314102023.GB1766@comp.chem.msu.su>

next in thread | raw e-mail | index | archive | help
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!

-- 
Yar



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070314102023.GB1766>