From: Jeremy Fitzhardinge Date: Fri, 22 Dec 2006 09:11:21 +0000 (-0800) Subject: [PATCH] ptrace: Fix EFL_OFFSET value according to i386 pda changes X-Git-Tag: v2.6.20-rc2~20 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8701ea957dd2a7c309e17c8dcde3a64b92d8aec0;p=pandora-kernel.git [PATCH] ptrace: Fix EFL_OFFSET value according to i386 pda changes The PDA patches introduced a bug in ptrace: it reads eflags from the wrong place on the target's stack, but writes it back to the correct place. The result is a corrupted eflags, which is most visible when it turns interrupts off unexpectedly. This patch fixes this by making the ptrace code a little less fragile. It changes [gs]et_stack_long to take a straightforward byte offset into struct pt_regs, rather than requiring all callers to do a sizeof(struct pt_regs) offset adjustment. This means that the eflag's offset (EFL_OFFSET) on the target stack can be simply computed with offsetof(). Signed-off-by: Jeremy Fitzhardinge Cc: Frederik Deweerdt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed