linux/arch/parisc/include/asm
Kyle McMartin c61c25eb02 parisc: fix kernel crash (protection id trap) when compiling ruby1.9
On Wed, Dec 17, 2008 at 11:46:05PM +0100, Helge Deller wrote:
>

Honestly, I can't decide whether to apply this. It really should never
happen in the kernel, since the kernel can guarantee it won't get the
access rights failure (highest privilege level, and can set %sr and
%protid to whatever it wants.)

It really genuinely is a bug that probably should panic the kernel. The
only precedent I can easily see is x86 fixing up a bad iret with a
general protection fault, which is more or less analogous to code 27
here.

On the other hand, taking the exception on a userspace access really
isn't all that critical, and there's fundamentally little reason for the
kernel not to SIGSEGV the process, and continue...

Argh.

(btw, I've instrumented my do_sys_poll with a pile of assertions that
 %cr8 << 1 == %sr3 == current->mm.context... let's see if where we're
 getting corrupted is deterministic, though, I would guess that it won't
 be.)

Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
2009-01-05 19:16:46 +00:00
..
agp.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
asmregs.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
assembly.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
atomic.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
auxvec.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
bitops.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
bug.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
bugs.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
byteorder.h parisc: use the new byteorder headers 2009-01-05 18:15:24 +00:00
cache.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
cacheflush.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
checksum.h parisc: fix ipv6 checksum 2009-01-05 19:11:05 +00:00
compat_rt_sigframe.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
compat_signal.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
compat_ucontext.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
compat.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
cputime.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
current.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
delay.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
device.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
div64.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
dma-mapping.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
dma.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
eisa_bus.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
eisa_eeprom.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
elf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
emergency-restart.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
errno.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
fb.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
fcntl.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
fixmap.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
floppy.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
futex.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
grfioctl.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
hardirq.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
hardware.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
hw_irq.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
ide.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
io.h parisc: use leX_to_cpu in place of __fswabX 2009-01-05 18:15:25 +00:00
ioctl.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
ioctls.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
ipcbuf.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
irq_regs.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
irq.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
Kbuild parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
kdebug.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
kmap_types.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
led.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
linkage.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
local.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
machdep.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mc146818rtc.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mckinley.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mman.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mmu_context.h parisc: fix braino in commit adding __space_to_prot 2009-01-05 18:15:25 +00:00
mmu.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mmzone.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
module.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
msgbuf.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
mutex.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
page.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
param.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
parisc-device.h parisc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-26 22:22:41 +00:00
parport.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
pci.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
pdc_chassis.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
pdc.h parisc: add pdc_coproc_cfg_unlocked and set_firmware_width_unlocked 2008-10-10 16:32:29 +00:00
pdcpat.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
percpu.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
perf.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
pgalloc.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
pgtable.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
poll.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
posix_types.h parisc: __kernel_time_t is always long 2008-11-26 22:22:36 +00:00
prefetch.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
processor.h parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
psw.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
ptrace.h remove __ARCH_WANT_COMPAT_SYS_PTRACE 2008-11-30 11:00:15 -08:00
real.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
resource.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
ropes.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
rt_sigframe.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
rtc.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
runway.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
scatterlist.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
sections.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
segment.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
sembuf.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
serial.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
setup.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
shmbuf.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
shmparam.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
sigcontext.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
siginfo.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
signal.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
smp.h parisc: remove gratuitous cpu_online_map declaration. 2009-01-01 10:12:16 +10:30
socket.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
sockios.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
spinlock_types.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
spinlock.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
stat.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
statfs.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
string.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
superio.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
system.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
termbits.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
termios.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
thread_info.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
timex.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
tlb.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
tlbflush.h parisc: disable UP-optimized flush_tlb_mm 2008-12-23 17:03:21 -08:00
topology.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
traps.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
types.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
uaccess.h parisc: fix kernel crash (protection id trap) when compiling ruby1.9 2009-01-05 19:16:46 +00:00
ucontext.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
unaligned.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
unistd.h parisc: add new syscalls 2008-10-10 16:32:30 +00:00
unwind.h parisc: initialize unwinder much earlier 2008-10-10 16:32:30 +00:00
user.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
vga.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00
xor.h parisc: move include/asm-parisc to arch/parisc/include/asm 2008-10-10 16:32:29 +00:00