linux/arch/parisc/kernel
Helge Deller e0e7ed4811 parisc: fix GFP_KERNEL use while atomic in unwinder
Since unwind_frame_init_from_blocked_task() may be called from
interrupt/in_atomic context, it needs to kmalloc() memory with
GFP_ATOMIC instead of GFP_KERNEL.

This fixes this warning (ShowTasks called from sysrq handler):

BUG: sleeping function called from invalid context at mm/slab.c:3044
in_atomic(): 1, irqs_disabled(): 1, pid: 2119, name: miniruby
Backtrace:
 [<10132e78>] __might_sleep+0x4c/0x118
 [<1018f644>] kmem_cache_alloc+0x2c/0xb4
 [<1011bae0>] unwind_frame_init_from_blocked_task+0x30/0xa0
 [<1010fd3c>] parisc_show_stack+0x3c/0xac
 [<10132c7c>] show_state_filter+0x80/0xd8
 [<102f4074>] __handle_sysrq+0xd0/0x1b0
 [<102f9558>] receive_chars+0x22c/0x318
 [<102f9940>] serial8250_handle_port+0x40/0x88
 [<102f9a8c>] serial8250_interrupt+0x104/0x10c
 [<10161920>] handle_IRQ_event+0x44/0x94
 [<10161acc>] __do_IRQ+0x15c/0x1dc
 [<102c442c>] superio_interrupt+0x74/0xa8
 [<10161920>] handle_IRQ_event+0x44/0x94
 [<10161acc>] __do_IRQ+0x15c/0x1dc
 [<10110fb4>] do_cpu_irq_mask+0x90/0xbc
 [<10114068>] intr_return+0x0/0x4

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
2009-01-05 18:15:25 +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: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-26 22:22:41 +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 cpumask: make irq_set_affinity() take a const struct cpumask 2008-12-13 21:20:26 +10:30
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
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] pdc_console: fix bizarre panic on boot 2008-03-15 19:12:03 -07: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-kernel-perf: BKL pushdown 2008-07-02 15:06:24 -06:00
process.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
processor.c [PARISC] Unbreak processor_probe when we have more than NR_CPUS 2007-10-18 00:58:57 -07: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: remove dead BIO_VMERGE_BOUNDARY and BIO_VMERGE_MAX_SIZE definitions 2009-01-05 18:15:25 +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 cpumask: centralize cpu_online_map and cpu_possible_map 2008-12-13 21:19:41 +10:30
sys32.h
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: add rtc platform driver 2008-10-10 16:32:30 +00:00
topology.c Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
traps.c parisc: fix kernel crash when unwinding a userspace process 2008-11-26 22:22:39 +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