Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Feb 2014 07:28:51 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r262471 - head/sys/sparc64/sparc64
Message-ID:  <201402250728.s1P7SpOo071808@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Tue Feb 25 07:28:51 2014
New Revision: 262471
URL: http://svnweb.freebsd.org/changeset/base/262471

Log:
  In sys/sparc64/sparc64/spitfire.c, prevent signed shift overflow by
  casting to the appropriate type.  (Note this fix cannot be done in
  sys/sparc64/sparc64/spitfire.c, since that file is also included by
  assembly source files.)
  
  Reviewed by:	marius
  MFC after:	3 days

Modified:
  head/sys/sparc64/sparc64/spitfire.c

Modified: head/sys/sparc64/sparc64/spitfire.c
==============================================================================
--- head/sys/sparc64/sparc64/spitfire.c	Tue Feb 25 06:29:56 2014	(r262470)
+++ head/sys/sparc64/sparc64/spitfire.c	Tue Feb 25 07:28:51 2014	(r262471)
@@ -130,7 +130,7 @@ spitfire_icache_page_inval(vm_paddr_t pa
 		    : "=r" (tag) : "r" (addr), "n" (ASI_ICACHE_TAG));
 		if (((tag >> IC_VALID_SHIFT) & IC_VALID_MASK) == 0)
 			continue;
-		tag &= IC_TAG_MASK << IC_TAG_SHIFT;
+		tag &= (u_long)IC_TAG_MASK << IC_TAG_SHIFT;
 		if (tag == target) {
 			PMAP_STATS_INC(spitfire_icache_npage_inval_match);
 			stxa_sync(addr, ASI_ICACHE_TAG, tag);



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