Recent changes to struct ifnet need to be documented

From: Ruslan Ermilov <ru_at_FreeBSD.org>
Date: Mon, 5 Apr 2004 13:04:49 +0300
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

Received on Mon Apr 05 2004 - 01:05:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:50 UTC