svn commit: r199201 - in head: contrib/libpcap sbin/ifconfig
share/man/man4 sys/kern sys/net sys/sys
Dag-Erling Smørgrav
des at des.no
Thu Nov 12 14:31:19 UTC 2009
Ed Schouten <ed at 80386.nl> writes:
> Xin LI <delphij at FreeBSD.org> writes:
> > @@ -198,6 +198,7 @@ struct ifnet {
> > void *if_pf_kif;
> > void *if_lagg; /* lagg glue */
> > u_char if_alloctype; /* if_type at time of allocation */
> > + struct sbuf *if_description; /* interface description */
> >
> > /*
> > * Spare fields are added so that we can modify sensitive data
> > @@ -205,7 +206,7 @@ struct ifnet {
> > * be used with care where binary compatibility is required.
> > */
> > char if_cspare[3];
> > - void *if_pspare[8];
> > + void *if_pspare[7];
> > int if_ispare[4];
> So there used to be four chars in a row here (between if_description and
> if_cspare). Are you sure moving the pointer in between doesn't increase
> the structure size?
I can guarantee you that it does. On i386, for instance, there are now
three bytes of implicit padding between if_alloctype and if_description,
and one more between if_cspare and if_pspare, so struct ifnet has grown
by four bytes.
We should have CASSERTs for sizeof(struct ifnet) and other structs we
really care about.
DES
--
Dag-Erling Smørgrav - des at des.no
More information about the svn-src-head
mailing list