diff options
author | dim <dim@FreeBSD.org> | 2014-02-28 20:22:48 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2014-02-28 20:22:48 +0000 |
commit | 4e1ef40864cfab777177fc8c42d8c9692085bad0 (patch) | |
tree | 59c9e860494d2f0850a876dc2ef6a0720ddc40ac | |
parent | eef07bdd956f190ce8714cf198d340eb8e2562e3 (diff) | |
download | FreeBSD-src-4e1ef40864cfab777177fc8c42d8c9692085bad0.zip FreeBSD-src-4e1ef40864cfab777177fc8c42d8c9692085bad0.tar.gz |
MFC r262471:
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
-rw-r--r-- | sys/sparc64/sparc64/spitfire.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/spitfire.c b/sys/sparc64/sparc64/spitfire.c index 7e51f2d..7b57e9d 100644 --- a/sys/sparc64/sparc64/spitfire.c +++ b/sys/sparc64/sparc64/spitfire.c @@ -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); |