summaryrefslogtreecommitdiff
path: root/arch/ia64/kernel/patch.c
diff options
context:
space:
mode:
authorDavid Mosberger <davidm@tiger.hpl.hp.com>2003-11-20 21:25:04 -0800
committerDavid Mosberger <davidm@tiger.hpl.hp.com>2003-11-20 21:25:04 -0800
commit9c2a4aeb86a467286fee65fb4a056fbd9f78dffd (patch)
treeaa415b762eab04fb46174cb6c0ab637420e77b01 /arch/ia64/kernel/patch.c
parentc8e623b382c62d51e7c66eebe0a141f7aced2ab1 (diff)
ia64: Fix off-by-1 error in imm60 patching. The bug hasn't been observed
in practice, but it's clearly wrong and just waiting there to get triggered...
Diffstat (limited to 'arch/ia64/kernel/patch.c')
-rw-r--r--arch/ia64/kernel/patch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/kernel/patch.c b/arch/ia64/kernel/patch.c
index ca9b8a3f7dc8..ef04f5df01c5 100644
--- a/arch/ia64/kernel/patch.c
+++ b/arch/ia64/kernel/patch.c
@@ -77,7 +77,7 @@ void
ia64_patch_imm60 (u64 insn_addr, u64 val)
{
ia64_patch(insn_addr,
- 0x011ffffe000, ( ((val & 0x1000000000000000) >> 24) /* bit 60 -> 36 */
+ 0x011ffffe000, ( ((val & 0x0800000000000000) >> 23) /* bit 59 -> 36 */
| ((val & 0x00000000000fffff) << 13) /* bit 0 -> 13 */));
ia64_patch(insn_addr - 1, 0x1fffffffffc, val >> 18);
}