Simon Horman
6672f76a5a
kdump/kexec: calculate note size at compile time
...
Currently the size of the per-cpu region reserved to save crash notes is
set by the per-architecture value MAX_NOTE_BYTES. Which in turn is
currently set to 1024 on all supported architectures.
While testing ia64 I recently discovered that this value is in fact too
small. The particular setup I was using actually needs 1172 bytes. This
lead to very tedious failure mode where the tail of one elf note would
overwrite the head of another if they ended up being alocated sequentially
by kmalloc, which was often the case.
It seems to me that a far better approach is to caclculate the size that
the area needs to be. This patch does just that.
If a simpler stop-gap patch for ia64 to be squeezed into 2.6.21(.X) is
needed then this should be as easy as making MAX_NOTE_BYTES larger in
arch/asm-ia64/kexec.h. Perhaps 2048 would be a good choice. However, I
think that the approach in this patch is a much more robust idea.
Acked-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00
..
irq
IRQ: check for PERCPU flag only when adding first irqaction
2007-05-08 11:15:06 -07:00
power
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
time
Move timekeeping code to timekeeping.c
2007-05-08 11:15:06 -07:00
.gitignore
acct.c
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
audit.c
[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it
2007-04-25 22:29:03 -07:00
audit.h
auditfilter.c
[PATCH] minor update to rule add/delete messages (ver 2)
2007-02-17 21:30:09 -05:00
auditsc.c
[PATCH] fix deadlock in audit_log_task_context()
2007-03-14 15:27:48 -07:00
capability.c
[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task
2007-02-12 09:48:32 -08:00
compat.c
[PATCH] Common compat_sys_sysinfo
2007-02-11 10:51:32 -08:00
configs.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
cpu.c
[PATCH] Fix microcode-related suspend problem
2007-04-02 10:06:09 -07:00
cpuset.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
delayacct.c
KMEM_CACHE(): simplify slab cache creation
2007-05-07 12:12:55 -07:00
die_notifier.c
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
dma.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
exec_domain.c
exit.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
extable.c
fork.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
futex.c
futex: restartable futex_wait
2007-05-08 11:15:03 -07:00
futex_compat.c
[PATCH] __user annotations: futex
2006-10-10 15:37:22 -07:00
hrtimer.c
[NET]: Fix networking compilation errors
2007-04-27 15:31:24 -07:00
itimer.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
kallsyms.c
Extend print_symbol capability
2007-04-30 16:40:39 -07:00
Kconfig.hz
[PATCH] HZ: 300Hz support
2006-12-07 08:39:36 -08:00
Kconfig.preempt
kexec.c
kdump/kexec: calculate note size at compile time
2007-05-08 11:15:07 -07:00
kfifo.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
kmod.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
kprobes.c
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
ksysfs.c
remove "struct subsystem" as it is no longer needed
2007-05-02 18:57:59 -07:00
kthread.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
latency.c
[PATCH] severing module.h->sched.h
2006-12-04 02:00:22 -05:00
lockdep.c
simplify the stacktrace code
2007-05-08 11:14:58 -07:00
lockdep_internals.h
[PATCH] lockdep: more chains
2006-12-07 08:39:43 -08:00
lockdep_proc.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
Makefile
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
module.c
module: use krealloc
2007-05-08 11:15:00 -07:00
mutex-debug.c
[PATCH] remove many unneeded #includes of sched.h
2007-02-14 08:09:54 -08:00
mutex-debug.h
mutex.c
[PATCH] lockdep: avoid lockdep warning in md
2006-12-08 08:28:39 -08:00
mutex.h
nsproxy.c
Merge sys_clone()/sys_unshare() nsproxy and namespace handling
2007-05-08 11:15:00 -07:00
panic.c
[PATCH] Add TAINT_USER and ability to set taint flags from userspace
2007-02-11 10:51:29 -08:00
params.c
remove "struct subsystem" as it is no longer needed
2007-05-02 18:57:59 -07:00
pid.c
Merge sys_clone()/sys_unshare() nsproxy and namespace handling
2007-05-08 11:15:00 -07:00
posix-cpu-timers.c
[PATCH] posix timers: RCU optimization for clock_gettime()
2007-02-16 08:14:00 -08:00
posix-timers.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
printk.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
profile.c
[PATCH] proc: remove useless (and buggy) ->nlink settings
2007-02-11 10:51:32 -08:00
ptrace.c
rcupdate.c
[PATCH] rcu: add a prefetch() in rcu_do_batch()
2006-12-07 08:39:40 -08:00
rcutorture.c
rcutorture: Mark rcu_torture_init as __init
2007-05-08 11:15:00 -07:00
relay.c
[PATCH] kernel-doc fixes for 2.6.20-git15 (non-drivers)
2007-03-01 14:53:37 -08:00
resource.c
libata/IDE: remove combined mode quirk
2007-04-28 14:15:59 -04:00
rtmutex-debug.c
Remove all inclusions of <linux/config.h>
2006-10-04 03:38:54 -04:00
rtmutex-debug.h
rtmutex-tester.c
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
rtmutex.c
[PATCH] hrtimers: namespace and enum cleanup
2007-02-16 08:13:58 -08:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
add touch_all_softlockup_watchdogs()
2007-05-08 11:15:06 -07:00
seccomp.c
signal.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
softirq.c
[PATCH] tick-management: dyntick / highres functionality
2007-02-16 08:13:59 -08:00
softlockup.c
add touch_all_softlockup_watchdogs()
2007-05-08 11:15:06 -07:00
spinlock.c
[PATCH] lockdep: spin_lock_irqsave_nested()
2006-11-25 13:28:34 -08:00
srcu.c
[PATCH] SRCU: report out-of-memory errors
2006-10-04 07:55:30 -07:00
stacktrace.c
stop_machine.c
Use stop_machine_run in the Intel RNG driver
2007-05-08 11:15:00 -07:00
sys.c
remove software_suspend()
2007-05-07 12:12:59 -07:00
sys_ni.c
[PATCH] Create compat_sys_migrate_pages
2006-11-03 12:27:59 -08:00
sysctl.c
proc: maps protection
2007-05-08 11:15:02 -07:00
taskstats.c
KMEM_CACHE(): simplify slab cache creation
2007-05-07 12:12:55 -07:00
time.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
timer.c
Move timekeeping code to timekeeping.c
2007-05-08 11:15:06 -07:00
tsacct.c
[PATCH] time: x86_64: split x86_64/kernel/time.c up
2007-02-16 08:14:00 -08:00
uid16.c
header cleaning: don't include smp_lock.h when not used
2007-05-08 11:15:07 -07:00
user.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
utsname.c
Merge sys_clone()/sys_unshare() nsproxy and namespace handling
2007-05-08 11:15:00 -07:00
utsname_sysctl.c
[PATCH] sysctl: remove insert_at_head from register_sysctl
2007-02-14 08:09:59 -08:00
wait.c
workqueue.c
[PATCH] Add debugging feature /proc/timer_stat
2007-02-16 08:13:59 -08:00