* [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.