cvs commit: src/sys/dev/arl if_arl.c src/sys/dev/cs if_cs.c
src/sys/dev/ed if_ed.c src/sys/dev/ex if_ex.c src/sys/dev/fe
if_fe.c src/sys/dev/lnc if_lnc.c src/sys/dev/sbni if_sbni.c
src/sys/dev/sn if_sn.c src/sys/dev/wl if_wl.c src/sys/dev/xe ...
Brooks Davis
brooks at one-eyed-alien.net
Thu Apr 15 13:43:50 PDT 2004
On Thu, Apr 15, 2004 at 01:31:11PM -0700, Luigi Rizzo wrote:
> luigi 2004/04/15 13:31:11 PDT
>
> FreeBSD src repository
>
> Modified files:
> sys/dev/arl if_arl.c
> sys/dev/cs if_cs.c
> sys/dev/ed if_ed.c
> sys/dev/ex if_ex.c
> sys/dev/fe if_fe.c
> sys/dev/lnc if_lnc.c
> sys/dev/sbni if_sbni.c
> sys/dev/sn if_sn.c
> sys/dev/wl if_wl.c
> sys/dev/xe if_xe.c
> Log:
> Remove improper use of if_addrhead in device drivers to check
> if the link-level address has been initialized already.
>
> The majority of modern drivers never does this and works fine, which
> makes me think that the check is totally unnecessary and a residue
> of cut&paste from other drivers.
I suspect I know where this came from. Until rev 1.177 of net/if.c,
there was an assumption that creating the ifaddr for the lladdr could
fail due to a malloc failure in if_attach. These drivers were probably
programming based on the assumption that this check could fail. Since
malloc was called with M_WAITOK this shouldn't be possiable and so
I removed the check there while redoing the allocation for interface
renaming support. In reality, given the fact that if_attach can't fail
(since it has a void return) the check should have resulted in a panic
rather then attaching an unusable interface.
-- Brooks
--
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20040415/61266c7f/attachment.bin
More information about the cvs-src
mailing list