28 May, 2008
1 commit
-
Problem: An application violating the architectural rules regarding
operation dependencies and having specific Register Stack Engine (RSE)
state at the time of the violation, may result in an illegal operation
fault and invalid RSE state. Such faults may initiate a cascade of
repeated illegal operation faults within OS interruption handlers.
The specific behavior is OS dependent.Implication: An application causing an illegal operation fault with
specific RSE state may result in a series of illegal operation faults
and an eventual OS stack overflow condition.Workaround: OS interruption handlers that switch to kernel backing
store implement a check for invalid RSE state to avoid the series
of illegal operation faults.The core of the workaround is the RSE_WORKAROUND code sequence
inserted into each invocation of the SAVE_MIN_WITH_COVER and
SAVE_MIN_WITH_COVER_R19 macros. This sequence includes hard-coded
constants that depend on the number of stacked physical registers
being 96. The rest of this patch consists of code to disable this
workaround should this not be the case (with the presumption that
if a future Itanium processor increases the number of registers, it
would also remove the need for this patch).Move the start of the RBS up to a mod32 boundary to avoid some
corner cases.The dispatch_illegal_op_fault code outgrew the spot it was
squatting in when built with this patch and CONFIG_VIRT_CPU_ACCOUNTING=y
Move it out to the end of the ivt.Signed-off-by: Tony Luck
06 Mar, 2008
2 commits
-
Remove all code which does exactly the same thing as ptrace_request().
Signed-off-by: Petr Tesarik
Signed-off-by: Tony Luck -
Convert sys_ptrace() to arch_ptrace().
Signed-off-by: Petr Tesarik
Signed-off-by: Tony Luck
09 Feb, 2008
2 commits
-
When attaching to a stopped process, the RSE must be explicitly
synced to user-space, so the debugger can read the correct values.Signed-off-by: Petr Tesarik
CC: Roland McGrath
Signed-off-by: Tony Luck -
This is base kernel patch for ptrace RSE bug. It's basically a backport
from the utrace RSE patch I sent out several weeks ago. please review.when a thread is stopped (ptraced), debugger might change thread's user
stack (change memory directly), and we must avoid the RSE stored in
kernel to override user stack (user space's RSE is newer than kernel's
in the case). To workaround the issue, we copy kernel RSE to user RSE
before the task is stopped, so user RSE has updated data. we then copy
user RSE to kernel after the task is resummed from traced stop and
kernel will use the newer RSE to return to user.Signed-off-by: Shaohua Li
Signed-off-by: Petr Tesarik
CC: Roland McGrath
Signed-off-by: Tony Luck
02 Oct, 2006
1 commit
-
Add the regs_return_value() macro to extract the return value in an
architecture agnostic manner, given the pt_regs.Other architecture maintainers may want to add similar helpers.
Signed-off-by: Ananth N Mavinakayanahalli
Signed-off-by: Anil S Keshavamurthy
Signed-off-by: Martin Schwidefsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Sep, 2006
1 commit
-
On Tue, 2006-09-12 at 17:44 +0100, David Woodhouse wrote:
> asm-ia64/ptrace.h requires asm/asm-offsets.h, which does not exist
> asm-ia64/resource.h requires asm/ustack.h, which does not existHide parts which shouldn't be visible to userspace.
Signed-off-by: David Woodhouse
Cc: Sam Ravnborg
Cc: "Luck, Tony"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
26 Apr, 2006
1 commit
-
Signed-off-by: David Woodhouse
13 Jan, 2006
1 commit
-
Signed-off-by: Al Viro
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Nov, 2005
1 commit
-
The sys_ptrace boilerplate code (everything outside the big switch
statement for the arch-specific requests) is shared by most architectures.
This patch moves it to kernel/ptrace.c and leaves the arch-specific code as
arch_ptrace.Some architectures have a too different ptrace so we have to exclude them.
They continue to keep their implementations. For sh64 I had to add a
sh64_ptrace wrapper because it does some initialization on the first call.
For um I removed an ifdefed SUBARCH_PTRACE_SPECIAL block, but
SUBARCH_PTRACE_SPECIAL isn't defined anywhere in the tree.Signed-off-by: Christoph Hellwig
Acked-by: Paul Mackerras
Acked-by: Ralf Baechle
Acked-By: David Howells
Acked-by: Russell King
Acked-by: Paul Mundt
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
13 Sep, 2005
1 commit
-
Fix? One ugly hack is replaced by a different ugly hack.
Signed-off-by: Tony Luck
12 Sep, 2005
1 commit
-
Add an extra thread_info flag to indicate the special MCA/INIT stacks.
Mainly for debuggers.Signed-off-by: Keith Owens
Signed-off-by: Tony Luck
10 Sep, 2005
1 commit
-
Delete obsoleted parts form arch makefiles and rename to asm-offsets.h
Signed-off-by: Sam Ravnborg
17 Apr, 2005
1 commit
-
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.Let it rip!