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
..
arch-aaec2000
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-at91
[ARM] 4352/1: AT91: Platform data for LCD and AC97.
2007-05-03 14:10:22 +01:00
arch-cl7500
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-clps711x
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ebsa110
[ARM] EBSA110: Add readsw/readsl/writesw/writesl
2007-04-21 20:34:37 +01:00
arch-ebsa285
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-ep93xx
[ARM] Merge remaining IOP code
2007-02-20 10:52:43 +00:00
arch-h720x
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-imx
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
2007-05-06 13:20:10 -07:00
arch-integrator
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-iop13xx
Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel
2007-05-06 20:57:51 +01:00
arch-iop32x
Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel
2007-05-06 20:57:51 +01:00
arch-iop33x
Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel
2007-05-06 20:57:51 +01:00
arch-ixp4xx
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
2007-05-06 13:20:10 -07:00
arch-ixp23xx
[ARM] mm 10: allow memory type to be specified with ioremap
2007-05-05 20:59:27 +01:00
arch-ixp2000
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-l7200
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-lh7a40x
[ARM] 4248/1: lh7a40x: fix missing definitions for get_irqnr_preamble
2007-03-08 13:33:57 +00:00
arch-netx
[ARM] 4329/1: fix position of NETX_SYSTEM_REG
2007-05-03 20:22:49 +01:00
arch-ns9xxx
[ARM] 4301/1: add mach type cc9p9360js
2007-04-21 20:52:30 +01:00
arch-omap
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-pnx4008
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-pxa
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
2007-05-06 13:20:10 -07:00
arch-realview
[ARM] Merge remaining IOP code
2007-02-20 10:52:43 +00:00
arch-rpc
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-s3c2410
[ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro
2007-05-05 21:09:42 +01:00
arch-sa1100
[PATCH] gpio_direction_output() needs an initial value
2007-03-16 19:25:04 -07:00
arch-shark
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
arch-versatile
[ARM] 4185/2: entry: introduce get_irqnr_preamble and arch_ret_to_user
2007-02-17 15:04:29 +00:00
hardware
[ARM] iop: add missing parens in macro
2007-05-05 11:59:13 +01:00
mach
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
2007-05-06 13:20:10 -07:00
plat-s3c24xx
[ARM] 4325/1: S3C24XX: remove s3c24xx_board
2007-04-21 20:53:19 +01:00
.gitignore
[ARM] 4216/1: add .gitignore entries for ARM specific files
2007-02-17 11:26:41 +00:00
a.out.h
assembler.h
[ARM] Remove MODE_(SVC|IRQ|FIQ|USR) and DEFAULT_FIQ
2006-06-25 12:01:48 +01:00
atomic.h
[ARM] 4264/1: ldrex/strex syntax errors with recent compilers
2007-03-15 20:39:16 +00:00
auxvec.h
bitops.h
[ARM] 3852/1: convert atomic bitops and __xchg over to raw_local_irq_{save,restore}
2006-09-25 10:34:03 +01:00
bug.h
[ARM] 3983/2: remove unused argument to __bug()
2006-12-07 22:38:09 +00:00
bugs.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
byteorder.h
[ARM] Fix byte order macros for Thumb
2006-06-19 15:35:36 +01:00
cache.h
cacheflush.h
[ARM] Convert DMA cache handling to take const void * args
2007-02-08 14:49:44 +00:00
checksum.h
[ARM] Improve csum_fold, cleanup csum_tcpudp_magic()
2007-02-06 16:46:46 +00:00
cnt32_to_63.h
[ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter
2006-12-07 16:06:45 +00:00
cpu-multi32.h
[ARM] Unuse another Linux PTE bit
2006-12-13 14:34:43 +00:00
cpu-single.h
[ARM] Unuse another Linux PTE bit
2006-12-13 14:34:43 +00:00
cpu.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
cputime.h
current.h
delay.h
[ARM] 3346/1: Fix udelay() for HZ values different from 100
2006-03-21 22:06:07 +00:00
device.h
[ARM] Add a reference from struct device to the dma bounce info
2007-02-12 10:28:24 +00:00
div64.h
[NET]: div64_64 consolidate (rev3)
2007-04-25 22:23:33 -07:00
dma-mapping.h
Merge AT91, EP93xx, General devel, PXA, S3C, V6+ and Xscale trees
2007-02-17 20:09:53 +00:00
dma.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
domain.h
[ARM] 4127/1: Flush the prefetch buffer after changing the DACR
2007-02-08 14:49:18 +00:00
dyntick.h
[ARM] 3692/1: ARM: coswitch irq handling to the generic implementation
2006-07-01 22:30:09 +01:00
ecard.h
[ARM] ecard: Convert card type enum to a flag
2007-05-03 14:16:56 +01:00
elf.h
[ARM] 4054/1: ep93xx: add HWCAP_CRUNCH
2006-12-18 00:14:54 +00:00
emergency-restart.h
errno.h
fcntl.h
fiq.h
flat.h
[ARM] 4074/1: Flat loader stack alignment
2006-12-30 17:05:08 +00:00
floppy.h
[PATCH] ARM: fixup irqflags breakage after ARM genirq merge
2006-07-02 17:29:22 -07:00
fpstate.h
[ARM] 4111/1: Allow VFP to work with thread migration on SMP
2007-01-25 16:35:29 +00:00
futex.h
glue.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
gpio.h
[PATCH] GPIO core
2007-02-12 09:48:34 -08:00
hardirq.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
hardware.h
hw_irq.h
[PATCH] misc arm pt_regs fixes
2006-10-08 12:32:36 -07:00
ide.h
io.h
[ARM] mm 10: allow memory type to be specified with ioremap
2007-05-05 20:59:27 +01:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h
[ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h
2006-12-30 17:05:07 +00:00
irq_regs.h
Initial blind fixup for arm for irq changes
2006-10-06 10:59:54 -07:00
irqflags.h
[ARM] Add ARM irqtrace support
2006-09-20 14:58:35 +01:00
Kbuild
Add empty Kbuild files for 'make headers_install' in remaining arches.
2006-06-18 12:58:53 +01:00
kdebug.h
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
kexec.h
kdump/kexec: calculate note size at compile time
2007-05-08 11:15:07 -07:00
kmap_types.h
leds.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
limits.h
linkage.h
local.h
locks.h
mc146818rtc.h
memory.h
[ARM] Clean up discontigmem support
2006-11-30 22:52:28 +00:00
mman.h
mmu.h
[ARM] Add section support to ioremap
2006-06-29 22:14:30 +01:00
mmu_context.h
[PATCH] x86: PARAVIRT: add hooks to intercept mm creation and destruction
2007-05-02 19:27:14 +02:00
mmzone.h
module.h
msgbuf.h
mtd-xip.h
mutex.h
namei.h
nwflash.h
page-nommu.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
page.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/tmlind/linux-omap-upstream into devel
2006-09-27 19:57:54 +01:00
param.h
parport.h
pci.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
percpu.h
pgalloc.h
[ARM] nommu: adjust headers for !MMU ARM systems
2006-06-28 17:59:45 +01:00
pgtable-hwdef.h
[ARM] Set bit 4 on section mappings correctly depending on CPU
2006-06-29 18:24:21 +01:00
pgtable-nommu.h
[ARM] Fix nommu build
2006-11-30 13:53:54 +00:00
pgtable.h
[ARM] 4158/1: Fix user page protection macros
2007-02-11 17:06:17 +00:00
poll.h
[PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications
2006-03-25 08:22:56 -08:00
posix_types.h
proc-fns.h
[ARM] nommu: add ARM946E-S core support
2006-09-27 17:39:19 +01:00
processor.h
[ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks"
2006-12-13 18:30:20 +00:00
procinfo.h
[ARM] Move HWCAP_* definitions to asm/elf.h
2006-11-30 12:24:46 +00:00
ptrace.h
[ARM] Add comments marking in-use ptrace numbers
2007-05-06 14:49:56 +01:00
resource.h
rtc.h
[PATCH] RTC subsystem: ARM cleanup
2006-03-27 08:44:50 -08:00
scatterlist.h
sections.h
segment.h
semaphore-helper.h
semaphore.h
sembuf.h
serial.h
setup.h
[PATCH] cleanup asm/setup.h userspace visibility
2006-12-07 08:39:46 -08:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
[PATCH] ARM: fixup irqflags breakage after ARM genirq merge
2006-07-02 17:29:22 -07:00
sizes.h
smp.h
Don't include linux/config.h from anywhere else in include/
2006-04-26 12:56:16 +01:00
socket.h
[NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support
2007-04-25 22:24:21 -07:00
sockios.h
[NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution
2007-04-25 22:24:04 -07:00
spinlock.h
[PATCH] Remove the last reference to rwlock_is_locked() macro.
2007-02-11 10:51:34 -08:00
spinlock_types.h
stat.h
statfs.h
string.h
suspend.h
system.h
move die notifier handling to common code
2007-05-08 11:15:04 -07:00
termbits.h
[PATCH] tty: preparatory structures for termios revamp
2006-12-08 08:28:56 -08:00
termios.h
[PATCH] consolidate line discipline number definitions
2007-02-11 10:51:26 -08:00
therm.h
thread_info.h
[ARM] Move syscall saving out of the way of utrace
2007-05-06 13:56:26 +01:00
thread_notify.h
[ARM] Add thread_notify infrastructure
2006-06-22 10:24:18 +01:00
timex.h
tlb.h
tlbflush.h
[ARM] 4129/1: Add barriers after the TLB operations
2007-02-08 14:49:27 +00:00
topology.h
traps.h
types.h
uaccess.h
Storage class should be before const qualifier
2007-02-17 20:11:19 +01:00
ucontext.h
[ARM] 3664/1: crunch: add signal frame save/restore
2006-06-28 17:54:59 +01:00
unaligned.h
[ARM] 3849/1: fix get_unaligned() for gcc >= 4.1
2006-09-25 10:34:00 +01:00
unistd.h
[ARM] Fix __NR_kexec_load
2007-04-01 22:35:01 +01:00
user.h
vfp.h
vfpmacros.h
[ARM] 3472/1: Use the D variants of FLDMIA/FSTMIA on ARMv6
2006-04-10 21:32:42 +01:00
vga.h
[PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use
2006-06-22 15:05:58 -07:00
xor.h