On Tue, 19 Feb 2008, Roman Zippel wrote:
> ... > The only missing bit is to skip the writeback, as the fault has to be > first fixed by the caller, so the patch below should do the trick... It does indeed do the trick! Thanks, Roman. -f > > bye, Roman > > --- > arch/m68k/kernel/traps.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > Index: linux-2.6/arch/m68k/kernel/traps.c > =================================================================== > --- linux-2.6.orig/arch/m68k/kernel/traps.c > +++ linux-2.6/arch/m68k/kernel/traps.c > @@ -477,9 +477,16 @@ static inline void access_error040(struc > if (fp->un.fmt7.wb3a == fp->un.fmt7.faddr) > fp->un.fmt7.wb3s &= ~WBV_040; > } > - } else if (send_fault_sig(&fp->ptregs) > 0) { > - printk("68040 access error, ssw=%x\n", ssw); > - trap_c(fp); > + } else { > + /* In case of a bus error we either kill the process or expect > + * the kernel to catch the fault, which then is also responsible > + * for cleaning up the mess, so skip writebacks. > + */ > + current->thread.signo = SIGBUS; > + current->thread.faddr = fp->un.fmt7.faddr; > + if (send_fault_sig(&fp->ptregs) > 0) > + printk("68040 access error, ssw=%x\n", ssw); > + return; > } > > do_040writebacks(fp); > - > To unsubscribe from this list: send the line "unsubscribe linux-m68k" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > - To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html