Skip to content

Commit

Permalink
[PATCH] Fix code that saves NVGPRS in 32-bit signal frame
Browse files Browse the repository at this point in the history
On Thu, 2005-11-24 at 12:51 +0000, David Woodhouse wrote:
> Somehow this one slipped through the cracks; when we ended up in
> do_signal() on a 32-bit kernel but without having the caller-saved
> registers into the regs, we didn't set the TIF_SAVE_NVGPRS flag to
> ensure they got saved later.

Oh, and if we actually set the flag, then we fairly quickly find out
that I was a bit overzealous in copying code from entry_64.S ... :)

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
David Woodhouse authored and Paul Mackerras committed Jan 9, 2006
1 parent 9687c58 commit 623703f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions arch/powerpc/kernel/entry_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ save_user_nvgprs_cont:
b 6b

save_user_nvgprs:
ld r8,TI_SIGFRAME(r12)
lwz r8,TI_SIGFRAME(r12)

.macro savewords start, end
1: stw \start,4*(\start)(r8)
Expand All @@ -386,11 +386,11 @@ save_user_nvgprs:

save_user_nvgprs_fault:
li r3,11 /* SIGSEGV */
ld r4,TI_TASK(r12)
lwz r4,TI_TASK(r12)
bl force_sigsegv

rlwinm r12,r1,0,0,(31-THREAD_SHIFT) /* current_thread_info() */
ld r9,TI_FLAGS(r12)
lwz r9,TI_FLAGS(r12)
b save_user_nvgprs_cont

#ifdef SHOW_SYSCALLS
Expand Down

0 comments on commit 623703f

Please sign in to comment.