lkml.org 
[lkml]   [2005]   [Nov]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateThu, 17 Nov 2005 11:53:07 +0100
FromMikael Pettersson <>
SubjectRe: PATCH: Fix poor pointer math in devinet_sysctl_register
Jordan Crouse writes:
 > This patch fixes pointer math that under certain circumstances, results
 > in really bad pointers. This was encountered on a system compiled for i486, so
 > other compilers may differ, but I don't think it hurts anyone.
 > 
 > Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
 > ---
 > 
 >  net/ipv4/devinet.c |    2 +-
 >  1 files changed, 1 insertions(+), 1 deletions(-)
 > 
 > diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
 > index 4ec4b2c..7585fce 100644
 > --- a/net/ipv4/devinet.c
 > +++ b/net/ipv4/devinet.c
 > @@ -1454,7 +1454,7 @@ static void devinet_sysctl_register(stru
 >  		return;
 >  	memcpy(t, &devinet_sysctl, sizeof(*t));
 >  	for (i = 0; i < ARRAY_SIZE(t->devinet_vars) - 1; i++) {
 > -		t->devinet_vars[i].data += (char *)p - (char *)&ipv4_devconf;
 > +		t->devinet_vars[i].data += (int)((char *)p - (char *)&ipv4_devconf);
 >  		t->devinet_vars[i].de = NULL;
 >  	}

This is the same code which broke due to a known gcc-4.0.0 bug:
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21173>. If you're
indeed using gcc-4.0.0, then it's time to upgrade.

/Mikael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-11-17 11:58    [from the cache]
©2003-2008