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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to