Commit 269d8523 authored by Eric Saint Etienne's avatar Eric Saint Etienne Committed by David S. Miller

sparc64: fix for user probes in high memory

When returning from the user probe code into userspace process, PC & NPC are
truncated to 32 bits.

Due to shared libraries getting loaded very high in the virtual address
space of
the process, placing a user probe inside a shared library makes the kernel
return into the process at the wrong address, causing it to seg'fault
most of
the time.

This patch prevents truncating PC and NPC.
Signed-off-by: default avatarEric Saint Etienne <eric.saint.etienne@oracle.com>
Reviewed-by: default avatarDavid Aldridge <david.j.aldridge@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent fc5e8c28
...@@ -42,8 +42,8 @@ struct arch_uprobe { ...@@ -42,8 +42,8 @@ struct arch_uprobe {
}; };
struct arch_uprobe_task { struct arch_uprobe_task {
u32 saved_tpc; u64 saved_tpc;
u32 saved_tnpc; u64 saved_tnpc;
}; };
struct task_struct; struct task_struct;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment