platform_kernel-5.15/arch/mips/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
..
cpufreq MIPS: Use set_cpus_allowed_ptr 2010-05-21 21:31:14 +01:00
.gitignore [MIPS] Ignore vmlinux.lds generated files 2008-08-26 09:10:27 +01:00
8250-platform.c [MIPS] Put an end to <asm/serial.h>'s long and annyoing existence 2007-07-10 17:33:01 +01:00
Makefile MIPS: Kconfig and Makefile update for Netlogic XLR/XLS 2011-05-19 09:55:40 +01:00
asm-offsets.c MIPS: Remove unused task_struct.trap_no field. 2010-08-05 13:26:30 +01:00
binfmt_elfn32.c remove div_long_long_rem 2008-05-01 08:03:58 -07:00
binfmt_elfo32.c MIPS: 64-bit: Fix o32 core dump 2009-07-03 15:45:27 +01:00
branch.c MIPS: Sanitize restart logics 2010-10-18 16:59:02 +01:00
cevt-bcm1480.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-ds1287.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-gt641xx.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-r4k.c MIPS: Fix CP0 COUNTER clockevent race 2010-12-16 18:10:58 +00:00
cevt-sb1250.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-smtc.c MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
cevt-txx9.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
cpu-bugs64.c Fix common misspellings 2011-03-31 11:26:23 -03:00
cpu-probe.c MIPS: Set ELF AT_PLATFORM string for Loongson2 processors 2011-05-19 09:55:48 +01:00
csrc-bcm1480.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-ioasic.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-powertv.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-r4k.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
csrc-sb1250.c mips: convert to clocksource_register_hz/khz 2011-02-21 13:33:50 -08:00
early_printk.c [MIPS] fix sparse warning about setup_early_printk() 2008-07-15 18:44:29 +01:00
entry.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
ftrace.c MIPS: Mask jump target in ftrace_dyn_arch_init_insns(). 2011-05-10 18:15:22 +01:00
genex.S MIPS: Read watch registers with interrupts disabled. 2009-01-30 21:32:58 +00:00
gpio_txx9.c [MIPS] txx9: Make gpio_txx9 entirely spinlock-safe 2008-07-15 18:44:34 +01:00
head.S MIPS: Avoid potential hazard on Context register 2009-11-02 12:00:07 +01:00
i8253.c clocksource: convert mips to generic i8253 clocksource 2011-05-14 10:29:48 +01:00
i8259.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
irq-gic.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-gt641xx.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-msc01.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-rm7000.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq-rm9000.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq_cpu.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
irq_txx9.c MIPS: Convert the irq functions to the new names 2011-03-29 14:48:07 +02:00
jump_label.c MIPS: jump label: Add MIPS support. 2011-01-18 19:30:24 +01:00
kgdb.c MIPS: Fix a typo. 2010-10-04 18:33:54 +01:00
kprobes.c MIPS: kprobe: Add support. 2010-08-05 13:26:29 +01:00
kspd.c MIPS: kspd: Adjust confusing if indentation 2010-10-04 18:33:54 +01:00
linux32.c MIPS: compat: Don't clobber personality bits in 32-bit sys_personality(). 2010-12-16 18:10:54 +00:00
machine_kexec.c [MIPS] Unconditionally writeback and invalidate caches on kexec. 2007-08-27 02:16:59 +01:00
mcount.S MIPS: tracing: Fix the indentation of mcount.S 2010-08-05 13:26:06 +01:00
mips-mt-fpaff.c MIPS: MT: Fix build error iFPU affinity code 2010-10-25 08:12:27 -07:00
mips-mt.c MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
mips_ksyms.c MIPS: Tracing: Add static function tracer support for MIPS 2009-12-17 01:57:21 +00:00
mips_machine.c MIPS: Add generic support for multiple machines within a single kernel 2011-01-18 19:30:21 +01:00
module.c MIPS: jump label: Add MIPS support. 2011-01-18 19:30:24 +01:00
octeon_switch.S MIPS: Nuke trailing blank lines 2010-02-27 12:53:14 +01:00
perf_event.c MIPS, Perf-events: Use unsigned delta for right shift in event update 2011-03-14 21:07:27 +01:00
perf_event_mipsxx.c Fix common misspellings 2011-03-31 11:26:23 -03:00
proc.c MIPS: Probe for presence of KScratch registers. 2011-01-18 19:30:22 +01:00
process.c Fix common misspellings 2011-03-31 11:26:23 -03:00
prom.c dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch() 2011-01-15 22:01:58 -07:00
ptrace.c MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
r4k_fpu.S [MIPS] Check FCSR for pending interrupts, alternative version 2007-03-17 01:03:25 +00:00
r4k_switch.S MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. 2009-09-17 20:07:49 +02:00
r2300_fpu.S
r2300_switch.S MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. 2009-09-17 20:07:49 +02:00
r6000_fpu.S
relocate_kernel.S [MIPS] Kexec: Fix several 64-bit bugs. 2007-07-31 21:35:36 +01:00
reset.c
rtlx.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
scall32-o32.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
scall64-64.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
scall64-n32.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
scall64-o32.S MIPS: Split do_syscall_trace into two functions. 2011-05-19 09:55:44 +01:00
setup.c MIPS: Implement __read_mostly 2011-01-18 19:30:28 +01:00
signal-common.h MIPS: Move signal trampolines off of the stack. 2010-04-12 17:26:15 +01:00
signal.c MIPS: Fix GCC-4.6 'set but not used' warning in signal*.c 2011-03-14 21:07:25 +01:00
signal32.c MIPS: Fix GCC-4.6 'set but not used' warning in signal*.c 2011-03-14 21:07:25 +01:00
signal_n32.c MIPS: do_sigaltstack() expects userland pointers 2010-10-18 16:59:03 +01:00
smp-cmp.c cpumask: Use accessors for cpu_*_mask: mips 2009-09-24 09:34:48 +09:30
smp-mt.c Fix common misspellings 2011-03-31 11:26:23 -03:00
smp-up.c cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
smp.c MIPS: Move idle task creation to work queue 2011-03-14 21:07:27 +01:00
smtc-asm.S [MIPS] SMTC: Don't set and restore irqregs ptr from self_ipi. 2007-06-11 18:20:53 +01:00
smtc-proc.c [MIPS] SMP: Call platform methods via ops structure. 2008-01-29 10:14:57 +00:00
smtc.c sched: Provide scheduler_ipi() callback in response to smp_send_reschedule() 2011-04-14 08:52:32 +02:00
spinlock_test.c MIPS: Crazy spinlock speed test. 2010-02-27 12:53:42 +01:00
spram.c MIPS: SPRAM: Clean up support code a little 2009-11-02 12:00:05 +01:00
stacktrace.c MIPS: Eleminate filenames from comments 2009-08-03 17:52:40 +01:00
sync-r4k.c MIPS: CMP: Update sync-r4k for current kernel 2009-07-03 15:45:27 +01:00
syscall.c MIPS: Move arch_get_unmapped_area and gang to new file. 2011-05-19 09:55:49 +01:00
time.c Fix common misspellings 2011-03-31 11:26:23 -03:00
topology.c MIPS: Add arch generic CPU hotplug 2009-06-24 18:34:40 +01:00
traps.c MIPS: Fix duplicate invocation of notify_die. 2011-05-18 14:18:26 +01:00
unaligned.c MIPS: add support for software performance events 2010-10-29 19:08:48 +01:00
vdso.c MIPS: Make init_vdso a subsys_initcall. 2010-07-26 19:08:16 +01:00
vmlinux.lds.S extable, core_kernel_data(): Make sure all archs define _sdata 2011-05-20 08:56:56 +02:00
vpe.c Fix common misspellings 2011-03-31 11:26:23 -03:00
watch.c MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. 2008-10-11 16:18:56 +01:00