Date: Thu, 12 Nov 2009 15:31:17 +0100 From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no> To: Ed Schouten <ed@80386.nl> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI <delphij@FreeBSD.org> Subject: Re: svn commit: r199201 - in head: contrib/libpcap sbin/ifconfig share/man/man4 sys/kern sys/net sys/sys Message-ID: <86hbsz24sq.fsf@ds4.des.no> In-Reply-To: <20091112135211.GT64905@hoeg.nl> (Ed Schouten's message of "Thu, 12 Nov 2009 14:52:11 %2B0100") References: <200911112130.nABLUw9b007768@svn.freebsd.org> <20091112135211.GT64905@hoeg.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
Ed Schouten <ed@80386.nl> writes:
> Xin LI <delphij@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@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86hbsz24sq.fsf>
