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 */ > >=20=20 > > /* > > * 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 --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86hbsz24sq.fsf>