All of lore.kernel.org
 help / color / mirror / Atom feed
* [PARISC] fix signal trampoline cache flushing
@ 2008-04-15 22:36 Kyle McMartin
  2008-04-21 14:51 ` Carlos O'Donell
  0 siblings, 1 reply; 3+ messages in thread
From: Kyle McMartin @ 2008-04-15 22:36 UTC (permalink / raw)
  To: torvalds; +Cc: linux-parisc, stable

The signal trampolines were accidently flushing the kernel I$ instead
of the users. Fix that up, and also add a missing user D$ flush
while we're at it.

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
---
Sorry, I thought I submitted this for 2.6.25 ages ago.

 arch/parisc/kernel/signal.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 58fccc9..06213d1 100644
--- a/arch/parisc/kernel/signal.c
+++ b/arch/parisc/kernel/signal.c
@@ -534,7 +534,8 @@ insert_restart_trampoline(struct pt_regs *regs)
 		 * Flushing one cacheline is cheap.
 		 * "sync" on bigger (> 4 way) boxes is not.
 		 */
-		flush_icache_range(regs->gr[30], regs->gr[30] + 4);
+		flush_user_dcache_range(regs->gr[30], regs->gr[30] + 4);
+		flush_user_icache_range(regs->gr[30], regs->gr[30] + 4);
 
 		regs->gr[31] = regs->gr[30] + 8;
 		/* Preserve original r28. */
-- 
1.5.5


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PARISC] fix signal trampoline cache flushing
  2008-04-15 22:36 [PARISC] fix signal trampoline cache flushing Kyle McMartin
@ 2008-04-21 14:51 ` Carlos O'Donell
  2008-04-21 15:16   ` Kyle McMartin
  0 siblings, 1 reply; 3+ messages in thread
From: Carlos O'Donell @ 2008-04-21 14:51 UTC (permalink / raw)
  To: Kyle McMartin; +Cc: linux-parisc

On Tue, Apr 15, 2008 at 3:36 PM, Kyle McMartin <kyle@mcmartin.ca> wrote:
>  diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
>  index 58fccc9..06213d1 100644
>  --- a/arch/parisc/kernel/signal.c
>  +++ b/arch/parisc/kernel/signal.c
>  @@ -534,7 +534,8 @@ insert_restart_trampoline(struct pt_regs *regs)
>                  * Flushing one cacheline is cheap.
>                  * "sync" on bigger (> 4 way) boxes is not.
>                  */
>  -               flush_icache_range(regs->gr[30], regs->gr[30] + 4);
>  +               flush_user_dcache_range(regs->gr[30], regs->gr[30] + 4);
>  +               flush_user_icache_range(regs->gr[30], regs->gr[30] + 4);

We also have a restartable syscall trampoline (I think this is unique
to PA), does that one also need fixing?

Cheers,
Carlos.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PARISC] fix signal trampoline cache flushing
  2008-04-21 14:51 ` Carlos O'Donell
@ 2008-04-21 15:16   ` Kyle McMartin
  0 siblings, 0 replies; 3+ messages in thread
From: Kyle McMartin @ 2008-04-21 15:16 UTC (permalink / raw)
  To: Carlos O'Donell; +Cc: Kyle McMartin, linux-parisc

On Mon, Apr 21, 2008 at 07:51:01AM -0700, Carlos O'Donell wrote:
> On Tue, Apr 15, 2008 at 3:36 PM, Kyle McMartin <kyle@mcmartin.ca> wrote:
> >  diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
> >  index 58fccc9..06213d1 100644
> >  --- a/arch/parisc/kernel/signal.c
> >  +++ b/arch/parisc/kernel/signal.c
> >  @@ -534,7 +534,8 @@ insert_restart_trampoline(struct pt_regs *regs)
> >                  * Flushing one cacheline is cheap.
> >                  * "sync" on bigger (> 4 way) boxes is not.
> >                  */
> >  -               flush_icache_range(regs->gr[30], regs->gr[30] + 4);
> >  +               flush_user_dcache_range(regs->gr[30], regs->gr[30] + 4);
> >  +               flush_user_icache_range(regs->gr[30], regs->gr[30] + 4);
> 
> We also have a restartable syscall trampoline (I think this is unique
> to PA), does that one also need fixing?
> 

no.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-04-21 15:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-15 22:36 [PARISC] fix signal trampoline cache flushing Kyle McMartin
2008-04-21 14:51 ` Carlos O'Donell
2008-04-21 15:16   ` Kyle McMartin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.