Recent changes to struct ifnet need to be documented

Ruslan Ermilov ru at FreeBSD.org
Mon Apr 5 03:05:17 PDT 2004


Luigi,

I've been bitten by your latest changes to ``struct ifnet''
in the following not-so-uncommon way.  ;)

I've been testing the polling(4) support for the vr(4) driver
the whole day yesterday, and it worked pretty well.  Today
in the morning I've recompiled the if_vr.ko module once again,
and it paniced my system right away.

I've narrowed down the problem to the following: my NFS-mounted
source tree gets updated regularly, and it has already picked
up your changes to ``struct ifnet'' (to remove unused fields).

Since I recompiled only one module, and attempted to run it,
it became incompatible with the running kernel (which still
has the old ``struct ifnet'' layout).

As such, could you please send a HEADS UP to -current saying
that the change introduces backward incompatibility, and
recompile of all network modules is required to catch up
with these changes.  Also, an entry in src/UPDATING would be
in order too.  Perhaps bumping a __FreeBSD_version on behalf
of this change would be a good thing too.  (I'm not sure
about that last one.)

A real solution would be to have kernel somehow check that
modules are ABI compatible with it, and refuse to load those
that aren't.  I'm not sure how to best implement this though.


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040405/297a9d5e/attachment.bin


More information about the freebsd-current mailing list