kernel-hacking-2024-linux-s.../arch/s390/kernel
Heiko Carstens 3a6ba4600d [S390] vdso: fix per cpu area allocation
vdso per cpu area allocation in smp_prepare_cpus() happens with GFP_KERNEL
but irqs disabled. Triggers this one:

Badness at kernel/lockdep.c:2280
Modules linked in:
CPU: 0 Not tainted 2.6.30 #2
Process swapper (pid: 1, task: 000000003fe88000, ksp: 000000003fe87eb8)
Krnl PSW : 0400c00180000000 0000000000083360 (lockdep_trace_alloc+0xec/0xf8)
[...]
Call Trace:
([<00000000000832b6>] lockdep_trace_alloc+0x42/0xf8)
 [<00000000000b1880>] __alloc_pages_internal+0x3e8/0x5c4
 [<00000000000b1b4a>] __get_free_pages+0x3a/0xb0
 [<0000000000026546>] vdso_alloc_per_cpu+0x6a/0x18c
 [<00000000005eff82>] smp_prepare_cpus+0x322/0x594
 [<00000000005e8232>] kernel_init+0x76/0x398
 [<000000000001bb1e>] kernel_thread_starter+0x6/0xc
 [<000000000001bb18>] kernel_thread_starter+0x0/0xc

Fix this by moving the allocation out of the irqs disabled section.

Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-07-24 12:41:01 +02:00
..
vdso32
vdso64
asm-offsets.c [S390] cpu hotplug and accounting values 2009-04-14 15:37:27 +02:00
audit.c
audit.h
base.S
bitmap.c
compat_audit.c
compat_exec_domain.c
compat_linux.c ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
compat_linux.h
compat_ptrace.h
compat_signal.c
compat_wrapper.S [S390] wire up sys_perf_counter_open 2009-06-12 10:27:40 +02:00
cpcmd.c
crash.c
debug.c
diag.c
dis.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
early.c [S390] hibernation: fix lowcore handling 2009-07-24 12:41:00 +02:00
ebcdic.c
entry.h
entry.S [S390] ftrace: add system call tracer support 2009-06-12 10:27:39 +02:00
entry64.S [S390] ftrace: add system call tracer support 2009-06-12 10:27:39 +02:00
ftrace.c function-graph: add stack frame test 2009-06-18 18:40:18 -04:00
head.S Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-06-14 13:46:25 -07:00
head31.S
head64.S
init_task.c mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
ipl.c [S390] shutdown actions: save/return rc from init function 2009-07-07 16:37:52 +02:00
irq.c
kprobes.c [S390] kprobes: defer setting of ctlblk state 2009-06-22 12:08:24 +02:00
machine_kexec.c
Makefile [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
mcount.S [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
mem_detect.c [S390] s390: hibernation support for s390 2009-06-16 10:31:22 +02:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
nmi.c [S390] merge cpu.h into cputime.h 2009-06-12 10:27:29 +02:00
process.c ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
processor.c
ptrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
reipl.S
reipl64.S
relocate_kernel.S
relocate_kernel64.S
s390_ext.c [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
s390_ksyms.c
sclp.S [S390] add mini sclp driver 2009-06-12 10:27:30 +02:00
setup.c [S390] ftrace: add dynamic ftrace support 2009-06-12 10:27:38 +02:00
signal.c [S390] implement is_compat_task 2009-06-12 10:27:30 +02:00
smp.c [S390] vdso: fix per cpu area allocation 2009-07-24 12:41:01 +02:00
stacktrace.c
sys_s390.c
syscalls.S [S390] wire up sys_perf_counter_open 2009-06-12 10:27:40 +02:00
sysinfo.c
time.c [S390] time: convert from bootmem to slab 2009-06-22 12:08:16 +02:00
topology.c
traps.c
vdso.c [S390] implement is_compat_task 2009-06-12 10:27:30 +02:00
vmlinux.lds.S [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
vtime.c [S390] lockless idle time accounting 2009-06-22 12:08:23 +02:00