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>