2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-18 18:43:59 +08:00
linux-next/arch/parisc/kernel
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
..
.gitignore parisc: add arch/parisc/kernel/.gitignore 2008-10-10 16:32:28 +00:00
asm-offsets.c parisc: move pdc_result to real2.S 2008-10-10 16:32:28 +00:00
binfmt_elf32.c [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY 2008-10-16 15:40:05 +02:00
cache.c on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
drivers.c parisc: add uevent helper for parisc bus 2009-01-05 19:11:59 +00:00
entry.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
firmware.c parisc: add pdc_coproc_cfg_unlocked and set_firmware_width_unlocked 2008-10-10 16:32:29 +00:00
hardware.c [PARISC] add back Crestone Peak cpu 2008-03-15 19:12:19 -07:00
head.S parisc: hijack jump to start_kernel 2008-10-10 16:32:30 +00:00
hpmc.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
init_task.c take init_fs to saner place 2008-12-31 18:07:42 -05:00
inventory.c parisc: replace remaining __FUNCTION__ occurrences 2008-05-15 10:38:54 -04:00
irq.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
Makefile parisc: remove -traditional from assembler flags 2008-05-15 11:03:45 -04:00
module.c lib: Correct printk %pF to work on all architectures 2008-09-09 11:51:15 -07:00
pa7300lc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pacache.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
parisc_ksyms.c parisc: export copy_user_page_asm 2008-06-13 10:49:50 -04:00
pci-dma.c parisc: use non-racy method for /proc/pcxl_dma creation 2008-04-29 08:06:21 -07:00
pci.c PCI: parisc: use generic pci_enable_resources() 2008-04-20 21:47:06 -07:00
pdc_chassis.c [PARISC] Work around machines which do not support chassis warnings 2006-06-27 23:28:37 +00:00
pdc_cons.c parisc: Use DEFINE_SPINLOCK 2009-01-05 19:13:18 +00:00
perf_asm.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
perf_images.h [PARISC] Use kzalloc and other janitor-style cleanups 2006-01-22 20:26:31 -05:00
perf.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
process.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
processor.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
ptrace.c parisc: fix bug in compat_arch_ptrace 2008-11-20 13:09:17 -08:00
real2.S parisc: move pdc_result to real2.S 2008-10-10 16:32:28 +00:00
setup.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
signal32.c parisc: fix off by one in setup_sigcontext32 2008-06-13 10:49:55 -04:00
signal32.h [PARISC] spelling fixes: arch/parisc/ 2007-05-22 22:52:16 -04:00
signal.c CRED: Wrap task credential accesses in the PA-RISC arch 2008-11-14 10:38:38 +11:00
smp.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
sys32.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_parisc32.c compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
sys_parisc.c unified (weak) sys_pipe implementation 2008-05-03 13:50:33 -07:00
syscall_table.S Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6 2008-10-20 14:40:31 -07:00
syscall.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
time.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
topology.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
traps.c parisc: fix kernel crash (protection id trap) when compiling ruby1.9 2009-01-05 19:16:46 +00:00
unaligned.c arch/parisc/kernel/unaligned.c: use time_* macros 2008-05-15 10:38:54 -04:00
unwind.c parisc: fix GFP_KERNEL use while atomic in unwinder 2009-01-05 18:15:25 +00:00
vmlinux.lds.S Merge branch 'linus' into core/rodata 2008-06-16 11:24:00 +02:00