Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2013 14:40:54 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r245908 - head/sys/compat/linux
Message-ID:  <201301251440.r0PEesMq007608@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Fri Jan 25 14:40:54 2013
New Revision: 245908
URL: http://svnweb.freebsd.org/changeset/base/245908

Log:
  Arithmetic on pointers takes into account the size of the type. Properly cast the pointer to avoid incorrect pointer scaling.
  
  MFC after:	1 Week

Modified:
  head/sys/compat/linux/linux_futex.c

Modified: head/sys/compat/linux/linux_futex.c
==============================================================================
--- head/sys/compat/linux/linux_futex.c	Fri Jan 25 14:36:17 2013	(r245907)
+++ head/sys/compat/linux/linux_futex.c	Fri Jan 25 14:40:54 2013	(r245908)
@@ -1203,7 +1203,7 @@ release_futexes(struct proc *p)
 
 		if (entry != pending)
 			if (handle_futex_death(p,
-			    (uint32_t *)entry + futex_offset, pi)) {
+			    (uint32_t *)((caddr_t)entry + futex_offset), pi)) {
 				LIN_SDT_PROBE0(futex, release_futexes, return);
 				return;
 			}
@@ -1222,7 +1222,7 @@ release_futexes(struct proc *p)
 	}
 
 	if (pending)
-		handle_futex_death(p, (uint32_t *)pending + futex_offset, pip);
+		handle_futex_death(p, (uint32_t *)((caddr_t)pending + futex_offset), pip);
 
 	LIN_SDT_PROBE0(futex, release_futexes, return);
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301251440.r0PEesMq007608>