Skip site navigation (1)Skip section navigation (2)
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>