projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
arch/sh/kernel/traps_64.c: use sign_extend64() for sign extension
[firefly-linux-kernel-4.4.55.git]
/
arch
/
sh
/
kernel
/
traps_64.c
diff --git
a/arch/sh/kernel/traps_64.c
b/arch/sh/kernel/traps_64.c
index 112ea11c030d68ef6bcfbd0ec1ab8148b7db327f..d208c27ccc67c0738c38f327175fcb18135ee7c2 100644
(file)
--- a/
arch/sh/kernel/traps_64.c
+++ b/
arch/sh/kernel/traps_64.c
@@
-101,7
+101,7
@@
static int generate_and_check_address(struct pt_regs *regs,
if (displacement_not_indexed) {
__s64 displacement;
displacement = (opcode >> 10) & 0x3ff;
if (displacement_not_indexed) {
__s64 displacement;
displacement = (opcode >> 10) & 0x3ff;
- displacement =
((displacement << 54) >> 54); /* sign extend */
+ displacement =
sign_extend64(displacement, 9);
addr = (__u64)((__s64)base_address + (displacement << width_shift));
} else {
__u64 offset;
addr = (__u64)((__s64)base_address + (displacement << width_shift));
} else {
__u64 offset;