diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2014-02-25 07:28:51 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2014-02-25 07:28:51 +0000 |
commit | ad3d02dd2a489c4d9f45cd44eb50910d59e1ff00 (patch) | |
tree | ca06c4f3d84f7f5ec6323f4e2e9700c78f372094 | |
parent | 455b654622e6b6695bbe71099cd7888dbbaaf3c4 (diff) | |
download | src-ad3d02dd2a489c4d9f45cd44eb50910d59e1ff00.tar.gz src-ad3d02dd2a489c4d9f45cd44eb50910d59e1ff00.zip |
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
Notes
Notes:
svn path=/head/; revision=262471
-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 7e51f2dca0c6..7b57e9df6746 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); |