linux/arch/parisc/kernel
Steven Rostedt a2d063ac21 extable, core_kernel_data(): Make sure all archs define _sdata
A new utility function (core_kernel_data()) is used to determine if a
passed in address is part of core kernel data or not. It may or may not
return true for RO data, but this utility must work for RW data.

Thus both _sdata and _edata must be defined and continuous,
without .init sections that may later be freed and replaced by
volatile memory (memory that can be freed).

This utility function is used to determine if data is safe from
ever being freed. Thus it should return true for all RW global
data that is not in a module or has been allocated, or false
otherwise.

Also change core_kernel_data() back to the more precise _sdata condition
and document the function.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Hirokazu Takata <takata@linux-m32r.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: linux-m68k@lists.linux-m68k.org
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Helge Deller <deller@gmx.de>
Cc: JamesE.J.Bottomley <jejb@parisc-linux.org>
Link: http://lkml.kernel.org/r/1305855298.1465.19.camel@gandalf.stny.rr.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
----
 arch/alpha/kernel/vmlinux.lds.S   |    1 +
 arch/m32r/kernel/vmlinux.lds.S    |    1 +
 arch/m68k/kernel/vmlinux-std.lds  |    2 ++
 arch/m68k/kernel/vmlinux-sun3.lds |    1 +
 arch/mips/kernel/vmlinux.lds.S    |    1 +
 arch/parisc/kernel/vmlinux.lds.S  |    3 +++
 kernel/extable.c                  |   12 +++++++++++-
 7 files changed, 20 insertions(+), 1 deletion(-)
2011-05-20 08:56:56 +02:00
..
.gitignore parisc: add arch/parisc/kernel/.gitignore 2008-10-10 16:32:28 +00:00
asm-offsets.c parisc: Use of align_frame provides stack frame. 2010-05-30 05:38:27 -04:00
binfmt_elf32.c [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY 2008-10-16 15:40:05 +02:00
cache.c parisc: flush pages through tmpalias space 2011-01-15 08:44:40 -06:00
drivers.c parisc: add uevent helper for parisc bus 2009-01-05 19:11:59 +00:00
entry.S Fix common misspellings 2011-03-31 11:26:23 -03:00
firmware.c parisc : Remove broken line wrapping handling pdc_iodc_print() 2011-01-15 08:39:08 -06:00
ftrace.c sched_clock: Add local_clock() API and improve documentation 2010-06-09 10:34:49 +02:00
hardware.c [PARISC] add back Crestone Peak cpu 2008-03-15 19:12:19 -07:00
head.S Fix common misspellings 2011-03-31 11:26:23 -03:00
hpmc.S parisc: export length of os_hpmc vector 2009-01-05 19:18:27 +00:00
init_task.c Rename .data.vmpages and .data.vm0.XXX to .data..vmpages and .data..vm0.XXX. 2010-03-03 11:26:00 +01:00
inventory.c Fix common misspellings 2011-03-31 11:26:23 -03:00
irq.c parisc: Use irq_to_desc() in show_interrupts() 2011-03-29 14:48:08 +02:00
Makefile parisc: add ftrace (function and graph tracer) functionality 2009-03-31 02:51:34 +00:00
module.c modules: Fix module_bug_list list corruption race 2010-10-05 11:29:27 -07:00
pa7300lc.c
pacache.S parisc: flush pages through tmpalias space 2011-01-15 08:44:40 -06:00
parisc_ksyms.c parisc: add ftrace (function and graph tracer) functionality 2009-03-31 02:51:34 +00:00
pci-dma.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pdc_chassis.c
pdc_cons.c console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
perf_asm.S Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
perf_images.h
perf.c parisc: remove big kernel lock 2010-10-16 22:43:08 +02:00
process.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
processor.c parisc: processor.c, fix bloated stack frame 2009-07-03 03:34:11 +00:00
ptrace.c ptrace: cleanup arch_ptrace() on parisc 2010-10-27 18:03:11 -07:00
real2.S parisc: move pdc_result to real2.S 2008-10-10 16:32:28 +00:00
setup.c parisc: remove CVS keywords 2009-07-03 03:34:06 +00:00
signal32.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
signal32.h [PARISC] spelling fixes: arch/parisc/ 2007-05-22 22:52:16 -04:00
signal.c Fix common misspellings 2011-03-31 11:26:23 -03:00
smp.c sched: Provide scheduler_ipi() callback in response to smp_send_reschedule() 2011-04-14 08:52:32 +02:00
stacktrace.c parisc: add LATENCYTOP_SUPPORT and CONFIG_STACKTRACE_SUPPORT 2009-03-31 02:51:34 +00:00
sys32.h
sys_parisc32.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
sys_parisc.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
syscall_table.S Fix common misspellings 2011-03-31 11:26:23 -03:00
syscall.S Fix common misspellings 2011-03-31 11:26:23 -03:00
time.c parisc: Switch do_timer() to xtime_update() 2011-01-31 14:55:46 +01:00
topology.c parisc: Replace NR_CPUS in parisc code 2009-01-05 19:09:02 +00:00
traps.c parisc: fix warning in traps.c 2009-08-28 19:37:20 -10:00
unaligned.c arch/parisc: Removing undead ifdef CONFIG_PA20 2010-10-21 21:13:29 -04:00
unwind.c parisc: unwind - optimise linked-list searches for modules 2010-10-21 21:12:19 -04:00
vmlinux.lds.S extable, core_kernel_data(): Make sure all archs define _sdata 2011-05-20 08:56:56 +02:00