[parisc-linux-cvs] linux-2.6 carlos
Carlos O'Donell
carlos at parisc-linux.org
Wed Sep 8 00:23:29 MDT 2004
CVSROOT: /var/cvs
Module name: linux-2.6
Changes by: carlos 04/09/08 00:23:29
Modified files:
arch/parisc/kernel: entry.S
Log message:
This was a particularly subtle bug, we weren't restoring
sr2 in the syscall_restore path, for reasons uknown. Which
in turn, if sr2 was ever changed from zero, would cause
every userspace process, making a syscall, to have their
sr2 set to the previous value of sr2, hence breaking
syscalls for all process on the entire system e.g cascading
corruption of sr2.
Normally life was okay, until Randolph decided to use sr2 in
his super optimized memcpy.
The following code forces sr2 to zero when returning to
userspace via syscall_restore. It also forces sr2 to zero
through the syscall_restore_rfi path. Both forces should
be okay since they are returning to userspace.
This builds and boots on my c3k.
More information about the parisc-linux-cvs
mailing list